如何应用这两种情况下的偏移量?

时间:2011-01-20 19:34:44

标签: assembly offset twos-complement negative-number

首先,我熟悉二进制补码系统如何呈现负数的概念,我知道当有一个跳转指令(短或近)时,它所包含的偏移将始终被添加到EIP寄存器中不是从EIP寄存器中减去偏移量的情况(如果我是对的!)。但是我想知道如果有两种以下类型的寻址带有负的呈现偏移量,它将与使用跳转指令中的偏移量的情况相同,该偏移量总是被添加到基数并且不会减去任何偏移量。案件?

(采用GASM格式):
“base_address(offset,index register,scale)”喜欢:

%eax(-4,%ebx,1)

“offset(base register)”如:

-4(%eax)

将二进制数加到eax寄存器中还是减去?

1 个答案:

答案 0 :(得分:1)

-4将被添加到寄存器的值中,将其减少4.总是添加偏移量。