2010-06-07 9 views

risposta

80

La parte dword ptr si chiama una direttiva dimensioni. This page li spiega, ma non è stato possibile il collegamento diretto alla sezione corretta.

Fondamentalmente, significa "la dimensione dell'operando bersaglio è di 32 bit", quindi questo sarà bitwise-E il valore di 32 bit all'indirizzo calcolato prendendo il contenuto del registro ebp e sottraendo quattro con 0.

+47

La "d" in "dword" sta per "double". Una parola è 16 bit. – JeremyP

+0

Per ulteriori informazioni visitare questo [collegamento] (http://eli.thegreenplace.net/2010/10/21/64-bit-types-and-arithmetic-on-32-bit-cpus/) –

+10

Perché è il ' Parte PTR necessaria? Non è abbastanza dword per codificare la dimensione? NASM non usa 'ptr' AFAIK. –

7

Considerare the figure enclosed in this other question. ebp-4 è la prima variabile locale e, vista come un puntatore dword, è l'indirizzo di un numero intero a 32 bit che deve essere cancellato. Forse la sorgente inizia con

Object x = null; 
1

Si tratta di una dichiarazione a 32 bit. Se si digita all'inizio di un file di assembly l'istruzione [bit 32], non è necessario digitare DWORD PTR. Ad esempio:

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