.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 sposobu odwijania funkcji ramki i jest dozwolone 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