.ALLOCSTACK
Generiert eine UWOP_ALLOC_SMALL oder eine UWOP_ALLOC_LARGE mit der angegebenen Größe für den aktuellen Offset im Prolog.
Syntax
. ALLOCSTACK-Größe
Hinweise
MASM wählt die effizienteste Codierung für eine bestimmte Größe aus.
. ALLOCSTACK ermöglicht es ml64.exe Benutzern anzugeben, wie sich eine Framefunktion ablöst und nur innerhalb des Prologs zulässig ist, der sich von der PROC FRAME-Deklaration auf die . ENDPROLOG-Direktive . Diese Direktiven generieren keinen Code; sie generieren .xdata
und .pdata
. . ALLOCSTACK sollte Anweisungen vorangestellt werden, die die Aktionen tatsächlich implementieren, um sich zu entwunden. Es empfiehlt sich, sowohl die Entspannrichtlinien als auch den Code, mit dem sie sich in einem Makro entspannen sollen, um eine Einigung sicherzustellen.
Der Größe-Operand muss ein Vielfaches von 8 sein.
Weitere Informationen finden Sie unter MASM für x64 (ml64.exe).
Beispiel
Das folgende Beispiel zeigt, wie Sie einen Ausspann-/Ausnahmehandler angeben:
; 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