.ALLOCSTACK

针对序言中的当前偏移生成具有指定大小的 UWOP_ALLOC_SMALL 或 UWOP_ALLOC_LARGE

语法

.ALLOCSTACK 大小

注解

对于给定的大小,MASM 将会选择最高效的编码。

.ALLOCSTACK 允许 ml64.exe 用户指定帧函数的展开方式,并且仅允许在序言中展开,该序表从 PROC FRAME 声明扩展到 PROC FRAME 声明 .ENDPROLOG 指令。 这些指令不生成代码;它们仅生成 .xdata.pdata。 .ALLOCSTACK 前面应有实际实现要撤消的操作的说明。 最好将展开指令和代码包装在宏中,以确保一致。

size 操作数必须是 8 的倍数。

有关详细信息,请参阅 MASM for x64 (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

另请参阅

指令参考
MASM BNF 语法