.ALLOCSTACK

Generuje UWOP_ALLOC_SMALL lub UWOP_ALLOC_LARGE o określonym rozmiarze dla bieżącego przesunięcia w prologu.

Składnia

. Rozmiar ALLOCSTACK

Uwagi

Rozwiązanie MASM wybierze najbardziej wydajne kodowanie dla danego rozmiaru.

. FUNKCJA ALLOCSTACK umożliwia użytkownikom ml64.exe określenie, w jaki sposób funkcja ramki się odwija i jest dozwolona tylko w prologu, który rozciąga się od deklaracji PROC FRAME do . ENDPROLOG , dyrektywa. Te dyrektywy nie generują kodu; generują .xdata tylko wartości i .pdata. . PLIK ALLOCSTACK powinien być poprzedzony instrukcjami, które faktycznie implementują akcje, które mają być niezauczane. Dobrym rozwiązaniem jest zawijanie zarówno dyrektyw odwijania, jak i kodu, który mają na celu odwinięcie makra w celu zapewnienia porozumienia.

Operand rozmiaru musi mieć wielokrotność 8.

Aby uzyskać więcej informacji, zobacz MASM for x64 (ml64.exe).

Przykład

W poniższym przykładzie pokazano, jak określić program obsługi odwijanego/wyjątku:

; 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

Zobacz też

Dokumentacja dyrektyw
Gramatyka MASM BNF