【发布时间】:2021-01-25 17:34:05
【问题描述】:
在this chart 上显示两个寄存器都有0b010 作为寄存器值:
这里的X 值是多少?在反汇编以下两条指令:
add $1, %dl
add $1, %r10b
我明白了:
>>> x/3bt $pc
0x401000 <_start>: 10000000 11000010 00000001
>>> x/4bt $pc+3
0x401003 <_start+3>: 01000001 10000000 11000010 00000001
所以,我猜 X 是前缀字节中的 LSB,因为 0100 是静态的,对吗? X 是什么意思?每当使用 r8-r15 寄存器之一时,需要添加/添加一个额外字节以表示“这是寄存器 r10 而不是 rdx”是什么意思?
【问题讨论】:
标签: assembly x86-64 machine-code