Könnte jemand erklären, was das bedeutet? (Intel Syntax, x86, Windows)
and dword ptr [ebp-4], 0
Das dword ptr
Teil wird als Größenanweisung bezeichnet. 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 bedeutet also bitweise UND den 32-Bit-Wert an der Adresse, die berechnet wird, indem der Inhalt des ebp
Registers genommen und vier mit 0 subtrahiert werden.
PTR
Teil benötigt? Reicht dword nicht aus, um die Größe zu kodieren? NASM verwendet keinptr
AFAIK.Modern processors, including embedded systems, usually have a word size of 8, 16, 24, 32, or 64 bits, while modern general purpose computers usually use 32 or 64 bits.
en.wikipedia.org/wiki/Word_(computer_architecture)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 mitquelle
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:
quelle