.ALLOCSTACK
Prologdaki geçerli uzaklık için belirtilen boyuta sahip bir UWOP_ALLOC_SMALL veya UWOP_ALLOC_LARGE oluşturur.
Sözdizimi
. ALLOCSTACK boyutu
Açıklamalar
MASM, belirli bir boyut için en verimli kodlamayı seçer.
. ALLOCSTACK, ml64.exe kullanıcıların bir çerçeve işlevinin nasıl geri alınacağını ve yalnızca PROC FRAME bildiriminden öğesine genişletilen prolog içinde izin verileceğini belirtmesine olanak tanır. ENDPROLOG yönergesi. Bu yönergeler kod oluşturmaz; yalnızca ve .pdata
oluştururlar.xdata
. . ALLOCSTACK'in önünde, kaldırılacak eylemleri uygulayan yönergeler bulunmalıdır. Sözleşmeyi güvence altına almak için hem unwind yönergelerini hem de bir makroda geri sarmayı amaçladıkları kodu sarmak iyi bir uygulamadır.
Boyut işleneni 8'in katı olmalıdır.
Daha fazla bilgi için bkz. x64 için MASM (ml64.exe).
Örnek
Aşağıdaki örnek, bir geri alma/özel durum işleyicisinin nasıl belirtileceğini gösterir:
; 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