【发布时间】:2019-11-20 15:17:43
【问题描述】:
我是新人,我只是将计算机科学作为一种爱好。 在汇编中使用基指针,它允许我通过从基指针中减去某个偏移量来引用特定的内存位置。 得到的是绝对地址。 EBP - 偏移量 = 绝对地址。但是这个减法是在哪里进行的呢?
绝对地址是在哪个寄存器中计算的?
我举一个我的困惑的例子。
如果我有MOV dword ptr[EBP], 10 在这种情况下,EBP 寄存器的值表示绝对地址。
但是如果我有MOV dword ptr[EBP - 4], 10
在这种情况下,必须从 ebp 地址中减去 4 个字节。
这个操作是在哪个寄存器里做的,这个计算的结果写在哪里?
【问题讨论】:
-
无处,由cpu内部完成。用户不可见。
标签: pointers assembly x86 cpu-architecture addressing-mode