Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Gera uma WOD_SAVE_NONVOL ou uma WOD_SAVE_NONVOL_FAR entrada de código de desenrolamento para o registro e deslocamento especificados, usando o deslocamento de epílogo atual.
Syntax
.RESTOREREGreg, deslocamento
Parâmetros
reg
O registro nãovolatile a ser restaurado.
desvio
O deslocamento de pilha do qual o registro é restaurado.
Observações
Importante
Esta diretiva é experimental e está sujeita a alterações. Habilite o Descontrair versão 3 usando ml64.exe /unwindv3.
.RESTOREREG é válido apenas na Versão 3 do Unwind. É o epílogo equivalente a . SAVEREG.
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 . ENDEPILOG. - Essas diretivas geram metadados de desenrolamento (
.xdatae.pdataseções), mas não produzem código executável. - No Unwind Versão 3,
.RESTOREREGdeve aparecer antes da instrução que carrega o registro da pilha. - Para garantir o acordo, embrulhe as diretivas de desenrolamento e o código que elas devem descontrair em uma macro.
- No Unwind Versão 3, as diretivas de epílogo são obrigatórias para a geração de código de desenrolamento do epílogo. Nenhum epílogo desenrola códigos são emitidos sem um
.BEGINEPILOG/.ENDEPILOGpar.
Note
No Descontrair versão 1, a diretiva é exibida após a instrução correspondente. No Descontrair versão 3, a diretiva é exibida antes da instrução.
Exemplo de desenrolamento3
; 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
Consulte também
x64 Descontrair versão 3 (experimental)
Referência de diretivas
. SAVEREG
. BEGINEPILOG
Gramática BNF do MASM