.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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de