Condividi tramite


.ALLOCSTACK

Genera un'eccezione UWOP_ALLOC_SMALL oppure UWOP_ALLOC_LARGE con la dimensione specificata per l'offset corrente in prologo.

.ALLOCSTACK size

Note

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

.ALLOCSTACK Consente agli utenti di ml64.exe specificare come una funzione del frame rimossi e solo è valida all'interno del prologo, che si estende da PROC Dichiarazione di FRAME a .ENDPROLOG direttiva. Queste direttive non generano codice; generano solo .xdata e .pdata. .ALLOCSTACK Deve essere preceduto dalle istruzioni che effettivamente implementano le azioni essere rimosso. È opportuno eseguire il wrapping delle direttive di rimuovere che il codice da rimuovere in una macro per assicurarsi che il contratto.

size l'operando deve essere un multiplo di 8.

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

Esempio

Di seguito viene illustrato come specificare un rimuovere/gestore di eccezioni:

; 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

Vedere anche

Altre risorse

Riferimento a direttive