首先,我熟悉二进制补码系统如何呈现负数的概念,我知道当有一个跳转指令(短或近)时,它所包含的偏移将始终被添加到EIP寄存器中不是从EIP寄存器中减去偏移量的情况(如果我是对的!)。但是我想知道如果有两种以下类型的寻址带有负的呈现偏移量,它将与使用跳转指令中的偏移量的情况相同,该偏移量总是被添加到基数并且不会减去任何偏移量。案件?
(采用GASM格式):
“base_address(offset,index register,scale)”喜欢:
%eax(-4,%ebx,1)
“offset(base register)”如:
-4(%eax)
将二进制数加到eax寄存器中还是减去?
答案 0 :(得分:1)
-4将被添加到寄存器的值中,将其减少4.总是添加偏移量。