Quelqu'un pourrait-il expliquer ce que cela signifie? (Syntaxe Intel, x86, Windows)
and dword ptr [ebp-4], 0
La dword ptr
pièce est appelée une directive de taille. Cette page les explique, mais il n'a pas été possible de créer un lien direct vers la bonne section.
Fondamentalement, cela signifie que "la taille de l'opérande cible est de 32 bits", donc ce sera au niveau du bit ET la valeur de 32 bits à l'adresse calculée en prenant le contenu du ebp
registre et en soustrayant quatre avec 0.
PTR
pièce est-elle nécessaire? Dword n'est-il pas suffisant pour encoder la taille? NASM n'utilise pasptr
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)Considérez le chiffre inclus dans cette autre question .
ebp-4
est votre première variable locale et, vue comme un pointeur dword, c'est l'adresse d'un entier 32 bits qui doit être effacée. Peut-être que votre source commence parla source
C'est une déclaration 32 bits. Si vous tapez en haut d'un fichier d'assemblage l'instruction [bits 32], vous n'avez pas besoin de taper DWORD PTR. Donc par exemple:
la source