diff options
Diffstat (limited to 'miasm2/arch/x86/jit.py')
| -rw-r--r-- | miasm2/arch/x86/jit.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/miasm2/arch/x86/jit.py b/miasm2/arch/x86/jit.py index 6d9be8ac..9ffd8a82 100644 --- a/miasm2/arch/x86/jit.py +++ b/miasm2/arch/x86/jit.py @@ -80,6 +80,15 @@ class jitter_x86_32(jitter): def ir_archbloc_fix_regs_for_mode(self, irblock, attrib=64): self.orig_irbloc_fix_regs_for_mode(irblock, 64) + def push_uint16_t(self, value): + self.cpu.ESP -= self.ir_arch.sp.size / 8 + self.vm.set_mem(self.cpu.ESP, pck16(value)) + + def pop_uint16_t(self): + value = upck16(self.vm.get_mem(self.cpu.ESP, self.ir_arch.sp.size / 8)) + self.cpu.ESP += self.ir_arch.sp.size / 8 + return value + def push_uint32_t(self, value): self.cpu.ESP -= self.ir_arch.sp.size / 8 self.vm.set_mem(self.cpu.ESP, pck32(value)) |