Преглед на файлове

UserspaceEmulator: Implement PUSH_imm8

Curiously, the 8-bit immediate is sign-extended.
Andreas Kling преди 5 години
родител
ревизия
cb2e36dde7
променени са 1 файла, в които са добавени 6 реда и са изтрити 1 реда
  1. 6 1
      DevTools/UserspaceEmulator/SoftCPU.cpp

+ 6 - 1
DevTools/UserspaceEmulator/SoftCPU.cpp

@@ -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)