Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Génère une entrée de code de déroulement push à deux registres pour la paire d’inscriptions spécifiée à l’aide du décalage actuel dans le prologue.
Syntax
.PUSH2REGregister1, register2
Paramètres
register1
Premier registre à envoyer (push). Doit être un registre 64 bits universel.
register2
Deuxième registre à envoyer (push). Doit être un registre 64 bits universel.
register1 et register2 peuvent être l’un des suivants :
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.
Remarques
Important
Cette directive est expérimentale et peut être modifiée. Activez Le déroulement de la version 3 à l’aide ml64.exe /unwindv3de .
- Permet
.PUSH2REGde spécifier le déroulement d’une fonction frame. Vous ne pouvez utiliser cette directive que dans le prologue, qui s’étend de la déclaration PROCFRAMEau . Directive ENDPROLOG . - Ces directives génèrent des métadonnées de déroulement (
.xdataet.pdatades sections) mais ne produisent pas de code exécutable. Dans Unwind Version 3,.PUSH2REGdoit apparaître avant l’instruction qui implémente réellement l’action à annuler. Pour garantir l’accord, il est recommandé d’encapsuler les directives de déroulement et le code qu’ils sont destinés à décompresser dans une macro. - Si register1 et register2 sont consécutifs et dans un ordre croissant, MASM émet un
WOD_PUSH_CONSECUTIVE_2code de déroulement. Sinon, MASM émet unWOD_PUSH2code de déroulement.
Note
Dans Unwind Version 1, la directive apparaît après l’instruction correspondante. Dans Unwind Version 3, la directive apparaît avant l’instruction.
Exemple de déroulement3
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.push2reg r10, r11
push2 r10, r11
.push2reg rbx, rsi
push2 rbx, rsi
.endprolog
; rest of function ...
ret
Example1 ENDP
_text ENDS
END
Voir aussi
x64 Unwind Version 3 (expérimentale)
Informations de référence sur les directives
. POP2REG
. PUSHREG
. ENDPROLOG
Grammaire MASM BNF