web-dev-qa-db-ger.com

Was bedeutet "dword ptr"?

Könnte jemand erklären, was das bedeutet? (Intel Syntax, x86, Windows)

and     dword ptr [ebp-4], 0
105
小太郎

Das dword ptr Teil heißt eine Größenanweisung. Diese Seite erklärt sie, aber es war nicht möglich, direkt auf den richtigen Abschnitt zu verlinken.

Grundsätzlich bedeutet dies, dass "die Größe des Zieloperanden 32 Bit beträgt". Dies führt also zu einer bitweisen UND-Verknüpfung des 32-Bit-Werts an der Adresse, die berechnet wird, indem der Inhalt des Registers ebp genommen und vier mit 0 subtrahiert werden.

103
unwind

Betrachten Sie die Abbildung in dieser anderen Frage . ebp-4 ist Ihre erste lokale Variable und als Dword-Zeiger die Adresse einer 32-Bit-Ganzzahl, die gelöscht werden muss. Vielleicht beginnt Ihre Quelle mit

Object x = null;
7
mico

Es ist eine 32-Bit-Deklaration. Wenn Sie am Anfang einer Assembly-Datei die Anweisung [Bits 32] eingeben, müssen Sie DWORD PTR nicht eingeben. Also zum Beispiel:

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