From e461e3c8b060c2edd7af06b77acf48f196057ea5 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 12 Jul 2020 17:44:14 +0200 Subject: [PATCH] UserspaceEmulator: Fix missing sign extension in PUSH_imm8 --- DevTools/UserspaceEmulator/SoftCPU.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DevTools/UserspaceEmulator/SoftCPU.cpp b/DevTools/UserspaceEmulator/SoftCPU.cpp index 61d7ce136d..aaacd9e95d 100644 --- a/DevTools/UserspaceEmulator/SoftCPU.cpp +++ b/DevTools/UserspaceEmulator/SoftCPU.cpp @@ -1266,7 +1266,7 @@ void SoftCPU::PUSH_imm32(const X86::Instruction& insn) void SoftCPU::PUSH_imm8(const X86::Instruction& insn) { ASSERT(!insn.has_operand_size_override_prefix()); - push32((i32)insn.imm8()); + push32(sign_extended_to(insn.imm8())); } void SoftCPU::PUSH_reg16(const X86::Instruction&) { TODO(); }