“dword ptr”是什么意思?

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

and dword ptr [ebp-4], 0 

“dword ptr”部分被称为大小指示。 这个页面解释了它们,但不可能直接链接到正确的部分。

基本上,这意味着“目标操作数的大小是32位”,所以这将在按照ebp寄存器的内容计算得到的地址处将32位值与位进行“与”运算,并将其与0相减。

考虑另一个问题中的数字 。 ebp-4是你的第一个局部variables,看作是一个双字指针,它是一个32位整数的地址必须被清除。 也许你的源头开始

 Object x = null; 

这是一个32位的声明。 如果您在程序集文件的顶部键入语句[位32],则不需要键入DWORD PTR。 举个例子:

 [bits 32] . . and [ebp-4], 0