.ALLOCSTACK
プロローグの現在のオフセットに指定されたサイズの UWOP_ALLOC_SMALL または UWOP_ALLOC_LARGE を生成します。
.ALLOCSTACK size
解説
MASM は特定のサイズに最も効率的なエンコーディングを選択します。
.ALLOCSTACK は ml64.exe のユーザーがフレーム関数がどのように proc フレームの宣言から .ENDPROLOG のディレクティブまでのプロローグ内だけでアンワインドするかを指定できるようにします。これらのディレクティブはコードを生成しません ; これらは .xdata と .pdata だけを生成します。.ALLOCSTACK はアンワインドされるアクションを実行する方法を指定する必要があります。これは署名を確認するマクロでアンワインドするように指定することもアンワインド コードのディレクティブをラップすることをお勧めします。
size のオペランドは 8. の倍数である必要があります。
詳細については、「x64 用 MASM (ml64.exe)」を参照してください。
サンプル
次の例ではアンワインドと例外ハンドラーを指定する方法を示しています :
; 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