Condividi tramite


.ALLOCSTACK

Genera un UWOP_ALLOC_SMALL o un UWOP_ALLOC_LARGE con le dimensioni specificate per l'offset corrente nel prologo.

Sintassi

. Dimensioni ALLOCSTACK

Osservazioni:

MASM sceglierà la codifica più efficiente per una determinata dimensione.

. ALLOCSTACK consente agli utenti di ml64.exe di specificare la modalità di rimozione di una funzione frame ed è consentita solo all'interno del prologo, che si estende dalla dichiarazione PROC FRAME all'oggetto . Direttiva ENDPROLOG . Queste direttive non generano codice; generano .xdata solo e .pdata. . ALLOCSTACK deve essere preceduto da istruzioni che implementano effettivamente le azioni da rimuovere. È consigliabile eseguire il wrapping di entrambe le direttive di rimozione e il codice che devono rimuovere in una macro per garantire l'accordo.

L'operando di dimensioni deve essere un multiplo di 8.

Per altre informazioni, vedere MASM per x64 (ml64.exe).

Esempio

L'esempio seguente illustra come specificare un gestore di rimozione/eccezione:

; ml64 ex3.asm /link /entry:Example1  /SUBSYSTEM:Console
text SEGMENT
PUBLIC Example3
PUBLIC Example3_UW
Example3_UW PROC NEAR
   ; exception/unwind handler body

   ret 0

Example3_UW ENDP

Example3 PROC FRAME : Example3_UW

   sub rsp, 16
.allocstack 16

.endprolog

   ; function body
    add rsp, 16
   ret 0

Example3 ENDP
text ENDS
END

Vedi anche

Riferimento a direttive
Grammatica BNF MASM