¿Alguien podría explicar qué significa esto? (Sintaxis Intel, x86, Windows)
and dword ptr [ebp-4], 0
La dword ptr
pieza se denomina directiva de tamaño. Esta página los explica, pero no fue posible establecer un vínculo directo a la sección correcta.
Básicamente, significa "el tamaño del operando de destino es de 32 bits", por lo que esto será bit a bit Y el valor de 32 bits en la dirección calculada tomando el contenido del ebp
registro y restando cuatro con 0.
PTR
necesita la pieza? ¿No es suficiente dword para codificar el tamaño? NASM no usaptr
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)Considere la figura incluida en esta otra pregunta .
ebp-4
es su primera variable local y, visto como un puntero dword, es la dirección de un entero de 32 bits que debe borrarse. Tal vez tu fuente comience confuente
Es una declaración de 32 bits. Si escribe en la parte superior de un archivo de ensamblaje la declaración [bits 32], entonces no necesita escribir DWORD PTR. Así por ejemplo:
fuente