.ALLOCSTACK

Gera um UWOP_ALLOC_SMALL ou um UWOP_ALLOC_LARGE com o tamanho especificado do deslocamento atual no prólogo.

Sintaxe

.ALLOCSTACKsize

Comentários

O MASM escolherá a codificação mais eficiente para um determinado tamanho.

O .ALLOCSTACK permite que usuários do ml64.exe especifiquem como uma função de quadro é desenrolada e só é permitido no prólogo, que se estende da declaração FRAME PROC até a diretiva .ENDPROLOG. Essas diretivas não geram código. Elas só geram .xdata e .pdata. O .ALLOCSTACK deve ser precedido por instruções que realmente implementam as ações a serem desenroladas. É uma boa prática encapsular as diretivas de desacoplamento e o código que elas devem desacoplar em uma macro para garantir o acordo.

O operando size deve ser um múltiplo de 8.

Para obter mais informações, confira MASM para x64 (ml64.exe).

Amostra

O exemplo a seguir mostra como especificar um manipulador de desenrolamento/exceção:

; 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

Confira também

Referência de diretivas
Gramática BNF do MASM