首先,我熟悉二进制补码系统如何表示负数的概念,并且我知道当有跳转指令(短或接近)时,它包含的偏移量将始终添加到 EIP 寄存器中并且没有从 EIP 寄存器中减去偏移量的情况(如果我是对的!)。但我想知道在以下两种带有负偏移量的寻址的情况下,它是否与如何使用跳转指令中的偏移量的情况相同,该偏移量总是被添加到基数而不是任何减去案子?
(以 GASM 格式):
“base_address(offset,index register,scale)”,例如:
%eax(-4,%ebx,1)
“偏移量(基址寄存器)”如:
-4(%eax)
将二进制数添加到 eax 寄存器还是减去?