.ALLOCSTACK
Создает UWOP_ALLOC_SMALL или UWOP_ALLOC_LARGE с указанным размером для текущего смещения в прологе.
Синтаксис
. Размер ALLOCSTACK
Замечания
MASM выберет наиболее эффективную кодировку для заданного размера.
. ALLOCSTACK позволяет ml64.exe пользователям указывать способ очистки функции кадра и допускается только в прологе, который расширяется от объявления PROC FRAME до . Директива ENDPROLOG . Эти директивы не создают код; они создаются .xdata
только и .pdata
. . ALLOCSTACK должен предшествовать инструкциям, которые фактически реализуют действия, которые должны быть размножены. Рекомендуется упаковать как директивы очистки, так и код, которые они предназначены для очистки макроса для обеспечения соглашения.
Операнд size должен быть кратен 8.
Дополнительные сведения см. в статье MASM для 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