Fix handling of 66h prefix on jumps
It turns out that in x86-64 mode, address and operand size overrides are ignored by the processor. (Tested that on a real machine.) Even libopcodes gets this wrong...
This commit is contained in:
4
tests/decode-jmp.txt
Normal file
4
tests/decode-jmp.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
decode32 e900000000 [JMP imm4:0x1234005]
|
||||
decode32 66e90100 [JMP imm2:0x4005]
|
||||
decode64 e900000000 [JMP imm8:0x1234005]
|
||||
decode64 66e900000000 [JMP imm8:0x1234006]
|
||||
@@ -19,6 +19,7 @@ testcases = [
|
||||
['enter', 'decode-enter.sh'],
|
||||
['imul', 'decode-imul.sh'],
|
||||
['inc', 'decode-inc.sh'],
|
||||
['jmp', 'decode-jmp.txt'],
|
||||
['movsx', 'decode-movsx.sh'],
|
||||
['ret', 'decode-ret.sh'],
|
||||
|
||||
|
||||
Reference in New Issue
Block a user