Поделиться через


.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

См. также

Справочник по директивам
Грамматика MASM BNF