Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly rasm和gdb错误指令反汇编_Assembly_Gdb_Ida_Opcode_Radare2 - Fatal编程技术网

Assembly rasm和gdb错误指令反汇编

Assembly rasm和gdb错误指令反汇编,assembly,gdb,ida,opcode,radare2,Assembly,Gdb,Ida,Opcode,Radare2,以下操作码的指令是什么 81 3E 38 43 55 AA 5A 5A 我在sandphile检查了这些操作码 81 is CMP opcode 3E is DS segment register override prefix 43 38 is offset 55 AA 5A 5A is operand 根据sandpile,我应该得到这样的结果: cmp [0x4338], 0x55AA5A5A 最终解释说明: cmp [0x4338], 0x55AA5A5A 但当我用rasm和g

以下操作码的指令是什么

81 3E 38 43 55 AA 5A 5A
我在sandphile检查了这些操作码

81 is CMP opcode 
3E is DS segment register override prefix
43 38 is offset
55 AA 5A 5A is operand
根据sandpile,我应该得到这样的结果:

cmp [0x4338], 0x55AA5A5A
最终解释说明:

cmp [0x4338], 0x55AA5A5A
但当我用rasm和gdb检查时,我得到了这样的错误结果:

rasm2 -a x86 -b 32 -d "81 3E 38 43 55 AA 5A 5A"
cmp dword [esi], 0xaa554338
pop edx
pop edx
使用gdb

x/i 0x5555567da960
   0x5555567da960:  cmpl   $0xaa554338,(%rsi)

3E
是段覆盖前缀意味着它应该在开始处作为前缀。因为它跟在操作码后面,所以它是modr/m字节,因此意味着
[esi]
和操作码扩展
/7
,即
imm32
。这是一条
cmp[esi],imm32
指令

更多信息参见图2-1。《英特尔64和IA-32体系结构软件开发人员手册》第2卷:指令集参考,A-Z中的英特尔64和IA-32体系结构指令格式以及整个第2章指令格式

PS:您应该指定您使用的模式,16、32或64位