// opcode 0x58-0x5F public static void pop_r32(Emulator emu) { Byte reg = (Byte)(emu.getCode8(0) - 0x58); emu.setRegister32(reg, emu.pop32()); emu.eip += 1; }
public static void leave(Emulator emu) { UInt32 ebp = emu.getRegister32((int)Registers.EBP); emu.setRegister32((int)Registers.ESP, ebp); emu.setRegister32((int)Registers.EBP, emu.pop32()); emu.eip += 1; }
// opcode 0xC3 public static void ret(Emulator emu) { emu.eip = emu.pop32(); }