diff --git a/native_exec/simple_x86.py b/native_exec/simple_x86.py index 4fad52e..fd303eb 100644 --- a/native_exec/simple_x86.py +++ b/native_exec/simple_x86.py @@ -547,7 +547,8 @@ class Dec(Instruction): encoding = [(RawBits.from_int(5, 0x48 >> 3), X86RegisterSelector())] class Inc(Instruction): - encoding = [(RawBits.from_int(5, 0x40 >> 3), X86RegisterSelector())] + encoding = [(RawBits.from_int(5, 0x40 >> 3), X86RegisterSelector()), + (RawBits.from_int(8, 0xff), Slash(0)),] class Add(Instruction): encoding = [(RawBits.from_int(8, 0x05), RegisterEax(), Imm32()), diff --git a/native_exec/test_simple_x86.py b/native_exec/test_simple_x86.py index 1d72af4..4006cae 100644 --- a/native_exec/test_simple_x86.py +++ b/native_exec/test_simple_x86.py @@ -95,6 +95,9 @@ TestInstr(Mov)('AX', mem('fs:[EAX + ECX * 4+0x30]')) TestInstr(Add)('EAX', 8) TestInstr(Add)('EAX', 0xffffffff) +TestInstr(Inc)('EAX') +TestInstr(Inc)(mem('[0x42424242]')) + TestInstr(Lea)('EAX', mem('[EAX + 1]')) TestInstr(Lea)('ECX', mem('[EDI + -0xff]'))