. PUSH2REG

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

.PUSH2REG register1, 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 .PUSH2REG de 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 PROCFRAME au . Directive ENDPROLOG .
  • Ces directives génèrent des métadonnées de déroulement (.xdata et .pdata des sections) mais ne produisent pas de code exécutable. Dans Unwind Version 3, .PUSH2REG doit 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_2 code de déroulement. Sinon, MASM émet un WOD_PUSH2 code 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