. SAVEREG

Genereert een UWOP_SAVE_NONVOL of een UWOP_SAVE_NONVOL_FAR afwikkelcodevermelding voor het opgegeven register (reg) en offset (offset) met behulp van de huidige proloog-offset. Microsoft Assemblyer (MASM) kiest de meest efficiënte codering.

Syntax

.SAVEREG reg,offset

Opmerkingen

Gebruik .SAVEREG deze functie ml64.exe om op te geven hoe een framefunctie tot rust komt. U kunt het alleen gebruiken in de proloog, die zich uitbreidt van de PROCFRAME verklaring tot de . ENDPROLOG-richtlijn .

  • Deze instructies genereren een ontspannen metagegevens (.xdata en .pdata secties), maar produceren geen uitvoerbare code.
  • Ga vooraf aan .SAVEREG instructies waarmee de acties daadwerkelijk worden geïmplementeerd.
  • 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.

Gedrag van versie 3 tot rust laten komen

Important

Ondersteuning voor versie 3 is experimenteel en kan worden gewijzigd. Schakel het in met behulp van ml64.exe /unwindv3.

In Afwikkelen versie 3 .SAVEREG verzendt u een WOD_SAVE_NONVOL of een WOD_SAVE_NONVOL_FAR afwikkelcodevermelding. MASM selecteert de meest efficiënte codering op basis van de grootte van offset:

Code tot rust laten komen Conditie
WOD_SAVE_NONVOL offset kan worden gecodeerd als een geschaalde 16-bits waarde
WOD_SAVE_NONVOL_FAR offset vereist een volledige 32-bits waarde

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. .SAVEREG moet worden weergegeven voordat de instructie wordt beschreven. Deze vereiste is het tegenovergestelde van versie 1, waarbij de richtlijn de instructie volgt.

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 ...
   mov rsi, [rsp+8]
   mov rbx, [rsp]
   add rsp, 020h
   ret
Example1 ENDP
_text ENDS
END

De epiloog tegenhanger is . RESTOREREG.

Zie ook

x64 Versie 3 tot rust laten komen (experimenteel)
Naslaginformatie over richtlijnen
MASM voor x64 (ml64.exe)
MASM BNF-grammatica