--- /dev/null
+`ifdef EXECUTE
+ `INSN_POP_reg: begin /* POP is 12 cycles! */
+ case (cycle)
+ 0: `EXEC_READ(`_SP)
+ 1: `EXEC_READ(`_SP + 1)
+ 2: begin
+ `EXEC_NEWCYCLE
+ `EXEC_INC_PC
+ end
+ endcase
+ end
+`endif
+
+`ifdef WRITEBACK
+ `INSN_POP_reg: begin /* POP is 12 cycles! */
+ case (cycle)
+ 0: begin end
+ 1: begin
+ case (opcode[5:4])
+ `INSN_stack_AF: `_F <= rdata;
+ `INSN_stack_BC: `_C <= rdata;
+ `INSN_stack_DE: `_E <= rdata;
+ `INSN_stack_HL: `_L <= rdata;
+ endcase
+ end
+ 2: begin
+ case (opcode[5:4])
+ `INSN_stack_AF: `_A <= rdata;
+ `INSN_stack_BC: `_B <= rdata;
+ `INSN_stack_DE: `_D <= rdata;
+ `INSN_stack_HL: `_H <= rdata;
+ endcase
+ `_SP <= `_SP + 2;
+ end
+ endcase
+ end
+`endif