Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Genereert een WOD_SAVE_NONVOL of een WOD_SAVE_NONVOL_FAR afwikkelcodevermelding voor het opgegeven register en offset, met behulp van de huidige epiloog-offset.
Syntax
.RESTOREREGreg, offset
Parameters
reg
Het niet-compatibele register dat moet worden hersteld.
afstand
De stack-offset van waaruit het register wordt hersteld.
Opmerkingen
Important
Deze richtlijn is experimenteel en kan worden gewijzigd. Schakel versie 3 uit door gebruik te maken van ml64.exe /unwindv3.
.RESTOREREG is alleen geldig in afwikkelversie 3. Het is de epiloog-tegenhanger voor . SAVEREG.
Microsoft Assemblyer (MASM) kiest de meest efficiënte codering voor een bepaalde offset.
-
.RESTOREREGis alleen toegestaan binnen een epilooggebied, tussen . BEGINEPILOG en . ENDEPILOG. - Deze instructies genereren een ontspannen metagegevens (
.xdataen.pdatasecties), maar produceren geen uitvoerbare code. - In Relax versie 3
.RESTOREREGmoet worden weergegeven vóór de instructie waarmee het register uit de stack wordt geladen. - Om de overeenkomst te garanderen, verpakt u zowel de richtlijnen voor afwikkelen als de code die ze zijn bedoeld om in een macro tot rust te komen.
- In Relax versie 3 zijn epiloogrichtlijnen verplicht voor het afwikkelen van codegeneratie van epiloog. Er worden geen epiloog-afwikkelcodes verzonden zonder
.BEGINEPILOG/.ENDEPILOGeen paar.
Note
In Relax versie 1 wordt de instructie weergegeven na de bijbehorende instructie. In Relax versie 3 wordt de instructie weergegeven vóór de instructie.
Voorbeeld voor relaxv3
; 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
Zie ook
x64 Versie 3 tot rust laten komen (experimenteel)
Naslaginformatie over richtlijnen
. SAVEREG
. BEGINEPILOG
MASM BNF-grammatica