Freigeben über


.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

Siehe auch

Anweisungen – Referenz
MASM BNF Grammatik