Partager via


.ALLOCSTACK

Génère un UWOP_ALLOC_SMALL ou un UWOP_ALLOC_LARGE avec la taille spécifiée pour le décalage actuel dans le prologue.

Syntaxe

. Taille ALLOCSTACK

Notes

MASM choisit l’encodage le plus efficace pour une taille donnée.

. ALLOCSTACK permet ml64.exe utilisateurs de spécifier comment une fonction frame se déroule et n’est autorisée que dans le prologue, qui s’étend de la déclaration PROC FRAME à l’objet . Directive ENDPROLOG . Ces directives ne génèrent pas de code ; ils génèrent .xdata uniquement et .pdata. . ALLOCSTACK doit être précédé d’instructions qui implémentent réellement les actions à annuler. Il est recommandé d’encapsuler les directives de déroulement et le code qu’ils sont destinés à dérouler dans une macro pour garantir l’accord.

L’opérande de taille doit être un multiple de 8.

Pour plus d’informations, consultez MASM pour x64 (ml64.exe).

Exemple

L’exemple suivant montre comment spécifier un gestionnaire de déroulement/exception :

; 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

Voir aussi

Informations de référence sur les directives
Grammaire MASM BNF