Que signifie «dword ptr»?


123

Quelqu'un pourrait-il expliquer ce que cela signifie? (Syntaxe Intel, x86, Windows)

and     dword ptr [ebp-4], 0

Réponses:


119

La dword ptrpiè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 ebpregistre et en soustrayant quatre avec 0.


72
Le "d" dans "dword" signifie "double". Un mot est de 16 bits.
JeremyP

Pour plus de références, visitez ce lien
Alex Mathew

25
Pourquoi la PTRpièce est-elle nécessaire? Dword n'est-il pas suffisant pour encoder la taille? NASM n'utilise pas ptrAFAIK.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

1
La moyenne de @JeremyP Word change selon les processeurs. Après avoir lu cet article, pouvez-vous répéter que le mot est de 16 bits ou que vous ne définissez que le sens simple du mot qui signifie deux octets? 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)
uzay95

6
@ uzay95 La question est étiquetée "x86" donc nous parlons spécifiquement de l'architecture Intel x86, dans laquelle un mot a une largeur de 16 bits. Selon votre article, même le x86_64 a une taille de mot de 16 bits.
JeremyP


3

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:

[bits 32]
.
.
and  [ebp-4], 0
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.