Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Genera una WOD_PUSH entrada de código de desenredado para el registro especificado mediante el desplazamiento actual en el epílogo.
Syntax
. Registro POPREG
Parámetros
registrar
Registro que se va a mostrar. Debe ser un registro de 64 bits de uso general.
Observaciones
Importante
Esta directiva es experimental y está sujeta a cambios. Habilite Desenredar versión 3 mediante la /unwindv3 opción de ml64.exe.
.POPREG solo es válido en Desenredado versión 3. Es el homólogo del epílogo de . PUSHREG.
.POPREG solo se permite dentro de una región de epílogo, entre . BEGINEPILOG y . ENDEPILOG. Estas directivas generan metadatos de desenredado (.xdata y .pdata secciones), pero no generan código ejecutable. En Desenredar versión 3, .POPREG debe aparecer antes de la pop instrucción que implementa la restauración del registro. Para garantizar el acuerdo, encapsula las directivas de desenredado y el código que están diseñados para desenredar en una macro.
register puede ser uno de los siguientes:
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
En Desenredado versión 3, las directivas de epílogo son obligatorias para la generación de código de desenredado de epílogo. El ensamblador no emite códigos de desenredado de epílogo sin un .BEGINEPILOG/.ENDEPILOG par.
Note
En Desenredar versión 1, la directiva aparece después de la instrucción correspondiente. En Desenredar versión 3, la directiva aparece antes de la instrucción .
Ejemplo de desenredado3
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.pushreg rbx
push rbx
.pushreg rsi
push rsi
.endprolog
; rest of function ...
.beginepilog
.popreg rsi
pop rsi
.popreg rbx
pop rbx
.endepilog
ret
Example1 ENDP
_text ENDS
END
Consulte también
x64 Desenredado versión 3 (experimental)
Referencia de directivas
. PUSHREG
. POP2REG
. BEGINEPILOG
Gramática BNF de MASM