Assembly X86:寻址模式-寄存器值更改
这可能很愚蠢,但对这些类型的说明有一点疑问:Assembly X86:寻址模式-寄存器值更改,assembly,x86-64,addressing-mode,Assembly,X86 64,Addressing Mode,这可能很愚蠢,但对这些类型的说明有一点疑问: MOV EBX,dword ptr [RAX + 0x28] 这是否会改变RAX的值?比如: 移动EBX中RAX+0x28所指的值,然后添加,add RAX,0x28。因此,简而言之,RAX的值在该操作后是否会改变?否,它使用RAX的值,但不会改变它 这就像有一个C表达式i+1。这不会更改i的值,它只使用它。您所描述的类似于表达式i+=1否,与ARM或PowerPC不同,x86没有任何将有效地址写回基址寄存器的寻址模式 也没有明确的前/后inc/d
MOV EBX,dword ptr [RAX + 0x28]
这是否会改变RAX
的值?比如:
移动
EBX
中RAX+0x28
所指的值,然后添加,add RAX,0x28
。因此,简而言之,RAX
的值在该操作后是否会改变?否,它使用RAX
的值,但不会改变它
这就像有一个C表达式
i+1
。这不会更改i
的值,它只使用它。您所描述的类似于表达式i+=1
否,与ARM或PowerPC不同,x86没有任何将有效地址写回基址寄存器的寻址模式
也没有明确的前/后inc/dec寻址模式,如m68k。(对于RSP或RDI/RSI,推送/弹出和MOV
/STO
/LOD
/等具有内置的隐式递增/递减寻址。)