dword ptr是什么意思?


123

有人可以解释这是什么意思吗?(英特尔语法,x86,Windows)

and     dword ptr [ebp-4], 0

Answers:


119

dword ptr部分称为大小指令。该页面解释了它们,但是无法直接链接到正确的部分。

基本上,这意味着“目标操作数的大小为32位”,因此这将对32位值与通过取ebp寄存器内容并用0减4所计算出的地址进行“ 与”运算。


72
“ dword”中的“ d”代表“ double”。一个字是16位。
JeremyP 2010年

有关更多参考,请访问此链接
Alex Mathew 2014年

25
为什么PTR需要零件?dword不足以编码大小吗?NASM不使用ptrAFAIK。
西罗Santilli郝海东冠状病六四事件法轮功

1
@JeremyP词的意思是根据处理器而变化。阅读本文后,您能否再次说出word是16位,还是只定义了单词的简单含义,即两个字节?Modern processors, including embedded systems, usually have a word size of 8, 16, 24, 32, or 64 bits, while modern general purpose computers usually use 32 or 64 bits. en.wikipedia.org/wiki/Word_(computer_architecture)
uzay95

6
@ uzay95这个问题被标记为“ x86”,因此我们专门讨论的是Intel x86体系结构,其中一个字为16位宽。根据您的文章,即使x86_64的字长也为16位。
JeremyP

7

考虑一下另一个问题中的数字ebp-4是您的第一个局部变量,被视为dword指针,它是必须清除的32位整数的地址。也许您的来源始于

Object x = null;

3

这是一个32位声明。如果在汇编文件的顶部键入语句[bits 32],则无需键入DWORD PTR。因此,例如:

[bits 32]
.
.
and  [ebp-4], 0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.