Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Genererar antingen en WOD_SAVE_NONVOL eller en WOD_SAVE_NONVOL_FAR avrullningskodpost för det angivna registret och förskjutningen med den aktuella epilogförskjutningen.
Syntax
.RESTOREREGreg, offset
Parameters
reg
Det icke-volatilregister som ska återställas.
förskjutning
Stackförskjutningen som registret återställs från.
Anmärkningar
Important
Detta direktiv är experimentellt och kan komma att ändras. Aktivera Varva ned version 3 med hjälp ml64.exe /unwindv3av .
.RESTOREREG är endast giltigt i Avspolning version 3. Det är epilogens motsvarighet till . SAVEREG.
Microsoft Assembler (MASM) väljer den mest effektiva kodningen för en given förskjutning.
-
.RESTOREREGtillåts endast inom en epilogregion, mellan . BEGINEPILOG och . ENDEPILOG. - Dessa direktiv genererar varva ned metadata (
.xdataoch.pdataavsnitt) men producerar inte körbar kod. - I Varva ned version 3
.RESTOREREGmåste visas före instruktionen som läser in registret från stacken. - För att säkerställa en överenskommelse omsluter du både avaktiveringsdirektiven och den kod som de är avsedda att varva ned i ett makro.
- I Avspolning av version 3 är epilogdirektiv obligatoriska för kodgenerering av epiloger. Inga epilog-avrullningskoder genereras utan ett
.BEGINEPILOG/.ENDEPILOGpar.
Note
I Varva ned version 1 visas direktivet efter motsvarande instruktion. I Varva ned version 3 visas direktivet före instruktionen.
Exempel på avspolning 3
; 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
Se även
x64 Varva ned version 3 (experimentell)
Referens för direktiv
. SAVEREG
. BEGINEPILOG
MASM BNF-grammatik