Что значит `dword ptr`? - PullRequest
       26

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

101 голосов
/ 07 июня 2010

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

and     dword ptr [ebp-4], 0

Ответы [ 3 ]

100 голосов
/ 07 июня 2010

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

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

7 голосов
/ 07 июня 2010

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

Object x = null;
3 голосов
/ 11 мая 2014

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

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