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


.ALLOCSTACK

Создает a UWOP_ALLOC_SMALL или a UWOP_ALLOC_LARGE с указанным размером текущего смещения в прологе.

.ALLOCSTACK size

Заметки

MASM выбирает наиболее эффективный способ кодирования для заданного размера.

.ALLOCSTACK Позволяет пользователям ml64.exe, чтобы указать, как функция с кадром очистки и допускается только в пределах пролога, который распространяется от proc объявление КАДРА к .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

См. также

Другие ресурсы

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