From d98cc38e445ab076c57fdcd5de0d20589dbaa293 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Mon, 30 Jul 2018 09:57:32 -0700 Subject: 4451 --- subx/014immediate_addressing.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/subx/014immediate_addressing.cc b/subx/014immediate_addressing.cc index 165cc446..8ef36f95 100644 --- a/subx/014immediate_addressing.cc +++ b/subx/014immediate_addressing.cc @@ -467,10 +467,9 @@ put(name, "68", "push imm32 to stack"); :(before "End Single-Byte Opcodes") case 0x68: { - int32_t val = imm32(); + uint32_t val = static_cast(imm32()); trace(90, "run") << "push imm32 0x" << HEXWORD << val << end(); - Reg[ESP].u -= 4; - write_mem_i32(Reg[ESP].u, val); + push(val); trace(90, "run") << "ESP is now 0x" << HEXWORD << Reg[ESP].u << end(); trace(90, "run") << "contents at ESP: 0x" << HEXWORD << read_mem_u32(Reg[ESP].u) << end(); break; -- cgit 1.4.1-2-gfad0