.ALLOCSTACK

Vygeneruje UWOP_ALLOC_SMALL nebo UWOP_ALLOC_LARGE se zadanou velikostí aktuálního posunu v prologu.

Syntaxe

. ALLOCSTACK size

Poznámky

MASM zvolí nejúčinnější kódování pro danou velikost.

. ALLOCSTACK umožňuje ml64.exe uživatelům určit, jak se funkce rámce odvíje a je povolena pouze v rámci prologue, která se vztahuje z deklarace PROC FRAME na . ENDPROLOG – direktiva. Tyto direktivy negenerují kód; pouze generují .xdata a .pdata. . ALLOCSTACK by měly předcházet instrukce, které ve skutečnosti implementují akce, které mají být unwound. Je vhodné zabalit direktivy unwind i kód, který mají v makru uvolnit, aby se zajistila smlouva.

Operand velikosti musí být násobkem 8.

Další informace najdete v masm pro platformu x64 (ml64.exe).

Vzorek

Následující ukázka ukazuje, jak určit obslužnou rutinu unwind/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

Viz také

Referenční dokumentace k direktivám
Gramatika MASM BNF