【发布时间】:2019-03-20 02:39:46
【问题描述】:
我遇到了以下代码,并试图从概念上理解它:
mov si,offset v5
mov di,offset v2
sub si,di
v5和v2参考以下数据:
v2 dw 4
v5 dw 3
所以据我了解,这似乎触及了 x86 汇编语言中间接寻址的概念。我知道 si 和 di 寄存器不等于值,而只是指向位置。因此,像上面的代码那样减去两个指针会得到什么答案?可行吗?
【问题讨论】:
-
指针之间的区别在于它们所指向的对象之间的距离。这有时很有用,例如从指向它的指针中找出数组元素的索引。
-
位就是位。对于处理器来说,它们只是位,不是浮点,不是指针,不是整数。只是位。只有在那个短暂的时刻被操作时,它们可能会变成别的东西,然后回到比特。
标签: pointers assembly x86 intel addressing