. RESTOREXMM128

Hiermee wordt een WOD_SAVE_XMM128 of een WOD_SAVE_XMM128_FAR afwikkelcodevermelding voor versie 3 gegenereerd voor het opgegeven XMM-register en -offset met behulp van de huidige epiloog-offset.

Syntaxis

.RESTOREXMM128 xmmreg, offset

Parameters

xmmreg
Het XMM-register dat moet worden hersteld.

afstand
De stack-offset van waaruit het register wordt hersteld. Moet een veelvoud van 16 zijn.

Opmerkingen

Important

Deze richtlijn is experimenteel en kan worden gewijzigd. Schakel versie 3 van de rust in met ml64.exe /unwindv3.

.RESTOREXMM128 is alleen geldig in afwikkelversie 3. Het is de epiloog-tegenhanger voor . SAVEXMM128.

Microsoft Assemblyer (MASM) kiest de meest efficiënte codering voor een bepaalde offset.

  • .RESTOREXMM128 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 .RESTOREXMM128 moet worden weergegeven vóór de instructie waarmee het XMM-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.

Opmerking

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 030h
   sub rsp, 030h
   .savexmm128 xmm6, 0
   movdqa [rsp], xmm6
   .savexmm128 xmm7, 010h
   movdqa [rsp+010h], xmm7
.endprolog
   ; rest of function ...
   .beginepilog
   .restorexmm128 xmm7, 010h
   movdqa xmm7, [rsp+010h]
   .restorexmm128 xmm6, 0
   movdqa xmm6, [rsp]
   .freestack 030h
   add rsp, 030h
   .endepilog
   ret
Example1 ENDP
_text ENDS
END

Zie ook

x64 Versie 3 tot rust laten komen (experimenteel)
Naslaginformatie over richtlijnen
. SAVEXMM128
. BEGINEPILOG
MASM BNF-grammatica