Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Gera uma WOD_SAVE_NONVOL ou uma WOD_SAVE_NONVOL_FAR entrada de código de desenrolar para o registo e deslocamento especificados, usando o deslocamento do epílogo atual.
Sintaxe
.RESTOREREGregulador, deslocamento
Parâmetros
reg
O registo não volátil para restaurar.
Deslocamento
O deslocamento da pilha a partir do qual o registo é restaurado.
Remarks
Importante
Esta diretiva é experimental e está sujeita a alterações. Ative o Unwind Versão 3 usando ml64.exe /unwindv3.
.RESTOREREG só é válido no Unwind Versão 3. É o equivalente no epílogo de . SAVEREG.
O Microsoft Assembler (MASM) escolhe a codificação mais eficiente para um determinado deslocamento.
-
.RESTOREREGsó é permitido dentro de uma região de epílogo, entre . BEGINEPILOG e . FIM EPÍLOGO. - Estas diretivas geram metadados de desmantelamento (
.xdatae.pdatasecções), mas não produzem código executável. - No Unwind Versão 3,
.RESTOREREGdeve aparecer antes da instrução que carrega o registo a partir da pilha. - Para garantir o acordo, envolve tanto as diretivas de desmantelamento como o código que devem desfazer numa macro.
- Na Versão 3 do Unwind, as diretivas de epílogo são obrigatórias para a geração do código de desmantelamento do epílogo. Não são emitidos códigos de desmantelamento do epílogo sem um
.BEGINEPILOG/.ENDEPILOGpar.
Note
No Unwind Versão 1, a diretiva aparece após a instrução correspondente. Na Versão 3 de Desenrolar, a diretiva aparece antes da instrução.
Exemplo para unwindv3
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.allocstack 020h
sub rsp, 020h
.savereg rbx, 0
mov [rsp], rbx
.savereg rsi, 8
mov [rsp+8], rsi
.endprolog
; rest of function ...
.beginepilog
.restorereg rsi, 8
mov rsi, [rsp+8]
.restorereg rbx, 0
mov rbx, [rsp]
.freestack 020h
add rsp, 020h
.endepilog
ret
Example1 ENDP
_text ENDS
END
Ver também
x64 Unwind Versão 3 (experimental)
Referência de Diretivas
. SAVEREG
. BEGINEPILOG
MASM BNF Gramática