【发布时间】:2015-01-14 16:27:30
【问题描述】:
我知道这行代码将一些东西移到 eax 寄存器中,但是什么 dword ptr [edx +15Ch] 做什么?
mov eax, dword ptr [edx + 15Ch]
它是否取edx中的值并添加15C = Q,然后将地址Q中的值加载到eax中? 如果是这样,这个 conetxt 中的 dword ptr 是什么意思?
【问题讨论】:
-
是的。
dword ptr只是一个尺寸规格,但无论如何,尺寸从eax目标是显而易见的。 -
那么,dword指定大小,ptr指定Q是指向某个内存位置的地址?这些信息对 CPU 有用吗?
-
dword ptr只是一个句法元素,一些汇编程序只使用dword其他人使用大小后缀。 cpu 只看到机器代码,这些东西只是帮助汇编程序在模棱两可时选择正确的指令。在这种情况下,eax已经指定了大小。 -
另一个需要指定大小的dword内存访问:
mov dword ptr[edx+15Ch], 1