Udostępnij za pośrednictwem


.ALLOCSTACK

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

.ALLOCSTACK size

Uwagi

MORGÓW będzie wybrać najbardziej efektywne kodowania dla danego rozmiaru.

.ALLOCSTACK pozwala użytkownikom ml64.exe określić, w jaki sposób funkcja ramki odkręcanie i jest dozwolony tylko w prologu, która rozciąga się od PROC deklarację ramki do .ENDPROLOG dyrektywy.Dyrektywy te nie generują kod; tylko generowania .xdata i .pdata..ALLOCSTACK powinien być poprzedzony instrukcje, które faktycznie realizacji działań, które mają być zwiniętej.Jest dobrą praktyką jest zawijany zarówno dyrektyw unwind i kodu, które są przeznaczone do unwind w makrze do zapewnienia umowy.

size Operand musi być wielokrotnością liczby 8.

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

Próbki

Poniższy przykład pokazuje, jak określić procedury obsługi wyjątków/unwind:

; 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ż

Inne zasoby

Odwołania do dyrektyw