Что означает `dword ptr`?

Может кто-нибудь объяснить, что это значит? (Синтаксис Intel, x86, Windows)

and     dword ptr [ebp-4], 0

Ответ 1

Часть "dword ptr" называется директивой размера. Эта страница объясняет их, но прямая ссылка на правильный раздел невозможна.

В принципе, это означает, что размер целевого операнда 32 бита, так что это будет побитовое - и 32-битное значение по адресу, вычисленному, беря содержимое регистра ebp и вычитая четыре с 0.

Ответ 2

Рассмотрим цифру, указанную в этом другом вопросе. ebp-4 - ваша первая локальная переменная и, как указатель на dword, является адресом 32-битного целого числа, которое должно быть очищено. Возможно, ваш источник начинается с

Object x = null;

Ответ 3

Это 32-разрядное объявление. Если вы напечатаете в верхней части файла сборки инструкцию [bits 32], вам не нужно вводить DWORD PTR. Так, например:

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