Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何';这两种情况下的偏移量是否适用?_Assembly_Offset_Twos Complement_Negative Number - Fatal编程技术网

Assembly 如何';这两种情况下的偏移量是否适用?

Assembly 如何';这两种情况下的偏移量是否适用?,assembly,offset,twos-complement,negative-number,Assembly,Offset,Twos Complement,Negative Number,首先,我熟悉负数是如何由二的补码系统表示的概念,我知道当有跳转指令(短或近)时,它包含的偏移量将始终添加到EIP寄存器中,并且不会从EIP寄存器中减去偏移量(如果我是对的!)。但是我想知道,如果下面两种类型的寻址都有一个负的偏移量,那么它是否与跳转指令中的偏移量的使用情况相同,跳转指令中的偏移量总是被加到基址上,而在任何情况下都不会被减去 (GASM格式): “基址(偏移量、索引寄存器、刻度)”类似: “偏移量(基址寄存器)”类似: 将二进制数添加到eax寄存器还是减去?-4将添加到寄存器的值,

首先,我熟悉负数是如何由二的补码系统表示的概念,我知道当有跳转指令(短或近)时,它包含的偏移量将始终添加到EIP寄存器中,并且不会从EIP寄存器中减去偏移量(如果我是对的!)。但是我想知道,如果下面两种类型的寻址都有一个负的偏移量,那么它是否与跳转指令中的偏移量的使用情况相同,跳转指令中的偏移量总是被加到基址上,而在任何情况下都不会被减去

(GASM格式):
“基址(偏移量、索引寄存器、刻度)”类似:

“偏移量(基址寄存器)”类似:


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

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

另请参见它与该问题有何关系?!
%eax(-4,%ebx,1)
-4(%eax)