Hi, I've run some tests and found three instructions on x86_64 that don't seem to always be decoded properly. I'm using the first basic example in http://www.capstone-engine.org/lang_python.html, except that I replace the CODE string with something else.
with b'\x6a\xb7', I get the following result with capstone:
push 0xb7, but I get pushq $0xffffffffffffffb7 with objdump.
According to AMD's manual, 6A i8 "Push an 8-bit immediate value (sign-extended to 16, 32,
or 64 bits) onto the stack". So I think objdump is right here.
with b'\xf0\x22\xbd\x71\x20\x17\x00', I get no result with capstone (nothing is decoded), but objdump decodes that as lock and 0x172071(%rbp),%bh which looks correct to me.
with b'\xd3\xb6\x6b\x8f\xac\xa0', I get the following result with capstone:
sal dword ptr [rsi - 0x5f537095], cl, but according to AMD's manual, sal can be D3 /4 (but no other), but the string contains D3 /6. Objdump says 'd3' is bad.
I ran that with the latest git commit.
Hi, I've run some tests and found three instructions on x86_64 that don't seem to always be decoded properly. I'm using the first basic example in http://www.capstone-engine.org/lang_python.html, except that I replace the CODE string with something else.
with
b'\x6a\xb7', I get the following result with capstone:push 0xb7, but I getpushq $0xffffffffffffffb7with objdump.According to AMD's manual, 6A i8 "Push an 8-bit immediate value (sign-extended to 16, 32,
or 64 bits) onto the stack". So I think objdump is right here.
with
b'\xf0\x22\xbd\x71\x20\x17\x00', I get no result with capstone (nothing is decoded), but objdump decodes that aslock and 0x172071(%rbp),%bhwhich looks correct to me.with
b'\xd3\xb6\x6b\x8f\xac\xa0', I get the following result with capstone:sal dword ptr [rsi - 0x5f537095], cl, but according to AMD's manual, sal can be D3 /4 (but no other), but the string contains D3 /6. Objdump says 'd3' is bad.I ran that with the latest git commit.