2010-06-07 30 views

Respuesta

80

La parte dword ptr se llama una directiva tamaño. This page los explica, pero no fue posible dirigir el enlace a la sección correcta.

Básicamente, esto significa "el tamaño del operando de destino es de 32 bits", por lo que esto en modo bit-y el valor de 32 bits en la dirección calcula tomando los contenidos del registro ebp y restando cuatro con 0.

+47

La "d" en "dword" significa "doble". Una palabra es 16 bits. – JeremyP

+0

Para obtener más información, visite este [enlace] (http://eli.thegreenplace.net/2010/10/21/64-bit-types-and-arithmetic-on-32-bit-cpus/) –

+10

¿Por qué ' Se necesita la parte PTR'? ¿No es suficiente lo suficiente para codificar el tamaño? NASM no usa 'ptr' AFAIK. –

7

Considera the figure enclosed in this other question. 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 su fuente empieza por

Object x = null; 
1

Es una declaración de 32 bits. Si escribe en la parte superior de un archivo de ensamblaje la instrucción [bits 32], entonces no necesita escribir DWORD PTR. Por ejemplo:

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