Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
WOD_SAVE_XMM128 Generuje wpis kodu unwind w wersji 3 dla WOD_SAVE_XMM128_FAR określonego rejestru XMM i przesunięcia przy użyciu bieżącego przesunięcia epilogu.
Syntax
.RESTOREXMM128xmmreg, przesunięcie
Parametry
xmmreg
Rejestrowanie programu XMM w celu przywrócenia.
offset
Przesunięcie stosu, z którego jest przywracany rejestr. Musi być wielokrotność 16.
Remarks
Ważna
Niniejsza dyrektywa jest eksperymentalna i podlega zmianie. Włącz opcję Odwijaj wersję 3 za pomocą polecenia ml64.exe /unwindv3.
.RESTOREXMM128 jest prawidłowy tylko w wersji 3 odwijaj. Jest to epilog odpowiednik . SAVEXMM128.
Microsoft Assembler (MASM) wybiera najbardziej wydajne kodowanie dla danego przesunięcia.
-
.RESTOREXMM128jest dozwolone tylko w regionie epilogu, między . BEGINEPILOG i . ENDEPILOG. - Te dyrektywy generują metadane odwiju (
.xdatai.pdatasekcje), ale nie tworzą kodu wykonywalnego. - W systemie Unwind Version 3 musi pojawić się przed instrukcją,
.RESTOREXMM128która ładuje rejestr XMM ze stosu. - Aby zapewnić umowę, zawijaj zarówno dyrektywy unwind, jak i kod, który mają na celu odwinięcie w makrze.
- W wersji 3 unwind dyrektywy epilogu są obowiązkowe dla epilogu odwijać generowanie kodu. Nie są emitowane żadne kody odwijaczające
.BEGINEPILOG/.ENDEPILOGepilogu bez pary.
Note
W wersji 1 unwind dyrektywa pojawia się po odpowiedniej instrukcji. W wersji 3 unwind dyrektywa pojawia się przed instrukcją.
Przykład dla unwindv3
; 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
Zobacz także
x64 Unwind, wersja 3 (eksperymentalna)
Odwołanie do dyrektyw
. SAVEXMM128
. BEGINEPILOG
Gramatyka MASM BNF