. RESTOREREG

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

.RESTOREREG reg, 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.

  • .RESTOREREG is alleen toegestaan binnen een epilooggebied, tussen . BEGINEPILOG en . ENDEPILOG.
  • Deze instructies genereren een ontspannen metagegevens (.xdata en .pdata secties), maar produceren geen uitvoerbare code.
  • In Relax versie 3 .RESTOREREG moet 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/.ENDEPILOG een 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