`define INSN_POP_reg		9'b011xx0001

`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 & 8'hF0;
				`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