// opcode 0x68 public static void push_imm32(Emulator emu) { UInt32 value = emu.getCode32(1); emu.push32(value); emu.eip += 5; }
// opcode 0xE8 public static void call_rel32(Emulator emu) { Int32 diff = emu.getSignedCode32(1); emu.push32(emu.eip + 5); emu.eip += (uint)(diff + 5); }
// opcode 0x50-0x57 public static void push_r32(Emulator emu) { Byte reg = (Byte)(emu.getCode8(0) - 0x50); emu.push32(emu.getRegister32(reg)); emu.eip += 1; }
// opcode 0x6A public static void push_imm8(Emulator emu) { Byte value = (Byte)emu.getCode8(1); emu.push32(value); emu.eip += 2; }