UserspaceEmulator: Implement PUSH_imm8

Curiously, the 8-bit immediate is sign-extended.
This commit is contained in:
Andreas Kling 2020-07-11 22:34:38 +02:00
commit cb2e36dde7
Notes: sideshowbarker 2024-07-19 04:55:23 +09:00

View file

@ -933,7 +933,12 @@ void SoftCPU::PUSH_imm32(const X86::Instruction& insn)
push32(insn.imm32());
}
void SoftCPU::PUSH_imm8(const X86::Instruction&) { TODO(); }
void SoftCPU::PUSH_imm8(const X86::Instruction& insn)
{
ASSERT(!insn.has_operand_size_override_prefix());
push32((i32)insn.imm8());
}
void SoftCPU::PUSH_reg16(const X86::Instruction&) { TODO(); }
void SoftCPU::PUSH_reg32(const X86::Instruction& insn)