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 voce di codice di rimozione pop a due registri per la coppia di registri specificata utilizzando l'offset corrente nell'epilogo.
Sintassi
. POP2REGregister1, register2
Parametri
register1
Primo registro da visualizzare. Deve essere un registro a 64 bit per utilizzo generico.
register2
Secondo registro da visualizzare. Deve essere un registro a 64 bit per utilizzo generico.
register1 e register2 possono essere:
RAX, RCX, RDX, RBX, RDI, RSI, RBP, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31.
Osservazioni:
Importante
Questa direttiva è sperimentale ed è soggetta a modifiche. Abilitare la versione di rimozione 3 con ml64.exe /unwindv3.
- . POP2REG è valido solo in Rimozione versione 3. È l'epilogo controparte di . PUSH2REG.
- . POP2REG è 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, . POP2REG devono essere visualizzati prima dell'istruzione che implementa effettivamente l'azione da rimuovere.
- 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. - Per garantire il contratto, eseguire il wrapping di entrambe le direttive di rimozione e il codice da rimuovere in una macro.
Se register1 e register2 sono consecutivi e in ordine crescente, MASM genera un WOD_PUSH_CONSECUTIVE_2 codice di rimozione. In caso contrario, MASM genera un WOD_PUSH2 codice di rimozione.
Note
In Rimozione versione 1 la direttiva viene visualizzata dopo l'istruzione corrispondente. In Rimozione versione 3 la direttiva viene visualizzata prima dell'istruzione.
Example
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.push2reg rbx, rsi
push2 rbx, rsi
.push2reg r10, r11
push2 r10, r11
.endprolog
; rest of function ...
.beginepilog
.pop2reg r10, r11
pop2 r10, r11
.pop2reg rbx, rsi
pop2 rbx, rsi
.endepilog
ret
Example1 ENDP
_text ENDS
END
Vedere anche
Versione di rimozione x64 3 (sperimentale)
Riferimento alle direttive
. PUSH2REG
. POPREG
. BEGINEPILOG
Grammatica BNF MASM