Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Genera una WOD_SAVE_XMM128 voce di codice di rimozione della versione 3 o WOD_SAVE_XMM128_FAR per il registro XMM e l'offset specificati utilizzando l'offset dell'epilogo corrente.
Sintassi
.RESTOREXMM128xmmreg, offset
Parametri
xmmreg
Registro XMM da ripristinare.
offset
Offset dello stack da cui viene ripristinato il registro. Deve essere un multiplo di 16.
Osservazioni:
Importante
Questa direttiva è sperimentale ed è soggetta a modifiche. Abilitare la versione di rimozione 3 con ml64.exe /unwindv3.
.RESTOREXMM128 è valido solo in Rimozione versione 3. È l'epilogo controparte di . SAVEXMM128.
Microsoft Assembler (MASM) sceglie la codifica più efficiente per un determinato offset.
-
.RESTOREXMM128è consentito solo all'interno di un'area epilogo, tra . BEGINEPILOG e . ENDEPILOG. - Queste direttive generano metadati di rimozione (
.xdatae.pdatasezioni) ma non producono codice eseguibile. - In Rimozione versione 3,
.RESTOREXMM128deve essere visualizzato prima dell'istruzione che carica il registro XMM dallo stack. - Per garantire il contratto, eseguire il wrapping di entrambe le direttive di rimozione e il codice da rimuovere in una macro.
- In Rimozione versione 3, le direttive dell'epilogo sono obbligatorie per la generazione del codice di rimozione dell'epilogo. Nessun codice di rimozione dell'epilogo viene generato senza una
.BEGINEPILOG/.ENDEPILOGcoppia.
Note
In Rimozione versione 1 la direttiva viene visualizzata dopo l'istruzione corrispondente. In Rimozione versione 3 la direttiva viene visualizzata prima dell'istruzione.
Esempio di rimozionev3
; 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
Vedere anche
Versione di rimozione x64 3 (sperimentale)
Riferimento alle direttive
. SAVEXMM128
. BEGINEPILOG
Grammatica BNF MASM