143

有人能解释一下这是什么意思吗?(英特尔语法、x86、Windows)

and     dword ptr [ebp-4], 0
4

3 回答 3

142

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

ebp基本上,它的意思是“目标操作数的大小是 32 位”,所以这将通过取寄存器的内容并用 0 减去 4来计算地址处的 32 位值。

于 2010-06-07T08:11:37.640 回答
9

考虑这个其他问题中包含的数字ebp-4是您的第一个局部变量,并且被视为双字指针,它是必须清除的 32 位整数的地址。也许你的来源开始于

Object x = null;
于 2010-06-07T08:41:37.413 回答
5

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

[bits 32]
.
.
and  [ebp-4], 0
于 2014-05-11T12:28:59.760 回答