`ifdef EXECUTE
`INSN_VOP_INTR: begin
case (cycle)
- 0: `EXEC_WRITE(`_SP - 1, `_PCH);
- 1: `EXEC_WRITE(`_SP - 2, `_PCL);
- 2: `EXEC_NEWCYCLE;
+ 0: `EXEC_WRITE(`_SP - 1, `_PCH)
+ 1: `EXEC_WRITE(`_SP - 2, `_PCL)
+ 2: begin
+ irqack <= 1;
+ `EXEC_NEWCYCLE
+ end
endcase
end
`endif
2: begin
ie <= 0;
`_PC <= {8'b0, jaddr};
+ irqack <= 0; // Must be at the same time as we latch jaddr, or we race!
`_SP <= `_SP - 2;
end
endcase