Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Generiert entweder einen oder einen WOD_SAVE_XMM128WOD_SAVE_XMM128_FAR Abspanncodeeintrag der Version 3 für das angegebene XMM-Register und den Offset mithilfe des aktuellen Epilog-Offsets.
Syntax
.RESTOREXMM128xmmreg, offset
Parameter
xmmreg
Das XMM-Register, das wiederhergestellt werden soll.
Offset
Der Stapeloffset, aus dem das Register wiederhergestellt wird. Muss ein Vielfaches von 16 sein.
Hinweise
Important
Diese Richtlinie ist experimentell und kann geändert werden. Aktivieren Sie die Abspannversion 3 mit ml64.exe /unwindv3.
.RESTOREXMM128 ist nur in Version 3 zum Entspannen gültig. Es ist das Epilog-Gegenstück zu . SAVEXMM128.
Microsoft Assembler (MASM) wählt die effizienteste Codierung für einen bestimmten Offset aus.
-
.RESTOREXMM128ist nur innerhalb einer Epilogregion zwischen . BEGINEPILOG und . ENDEPILOG. - Diese Direktiven generieren entwendige Metadaten (
.xdataund.pdataAbschnitte), erzeugen jedoch keinen ausführbaren Code. - In "Abwickeln" Version 3 muss vor der Anweisung angezeigt werden,
.RESTOREXMM128die das XMM-Register aus dem Stapel lädt. - Um eine Vereinbarung zu gewährleisten, schließen Sie sowohl die Entleer-Direktiven als auch den Code ein, den sie in einem Makro entspannen sollen.
- In "Relax Version 3" sind Epilogdirektiven für die Codegenerierung von Epilogen obligatorisch. Ohne Paar
.BEGINEPILOG/.ENDEPILOGwerden keine Epilog-Entlastungscodes ausgegeben.
Note
In Der Version 1 wird die Direktive nach der entsprechenden Anweisung angezeigt. In Der Version 3 wird die Direktive vor der Anweisung angezeigt.
Beispiel für die Entspannung 3
; 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
Siehe auch
x64 Entspannen Version 3 (experimentell)
Direktivenreferenz
. SAVEXMM128
. BEGINEPILOG
MASM BNF Grammatik