. PUSH2REG

Generiert einen Codeeintrag mit zwei Registern für das angegebene Registerpaar mithilfe des aktuellen Offsets im Prolog.

Syntax

.PUSH2REG register1, register2

Parameter

register1
Das erste Register zum Pushen. Muss ein allgemeines 64-Bit-Register sein.

register2
Das zweite Register zum Pushen. Muss ein allgemeines 64-Bit-Register sein.

register1 und register2 können jeweils eine der folgenden sein:
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.

Hinweise

Important

Diese Richtlinie ist experimentell und kann geändert werden. Aktivieren Sie version 3 mithilfe ml64.exe /unwindv3von "Abwickeln" .

  • Hier erfahren Sie .PUSH2REG , wie eine Framefunktion abwickelt. Sie können diese Direktive nur innerhalb des Prologs verwenden, der sich von der PROC-DeklarationFRAME bis zur . ENDPROLOG-Direktive .
  • Diese Direktiven generieren entwendige Metadaten (.xdata und .pdata Abschnitte), erzeugen jedoch keinen ausführbaren Code. In "Abwickeln" Version 3 muss vor der Anweisung angezeigt werden, .PUSH2REG die die Aktion tatsächlich implementiert, um sich zu entwunden. Um eine Einigung sicherzustellen, empfiehlt es sich, sowohl die Entleerrichtlinien als auch den Code, den sie in einem Makro abwickeln möchten, zu schließen.
  • Wenn register1 und register2 aufeinander folgenden und zunehmenden Reihenfolge entsprechen, gibt MASM einen Entspanncode aus WOD_PUSH_CONSECUTIVE_2 . Andernfalls gibt MASM einen WOD_PUSH2 Entspanncode aus.

Note

In Der Version 1 wird die Direktive nach der entsprechenden Anweisung angezeigt. In Der Version 3 wird die Direktive vor der Anweisung angezeigt.

Beispiel für die Entspannung 3

; 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

Siehe auch

x64 Entspannen Version 3 (experimentell)
Direktivenreferenz
. POP2REG
. PUSHREG
. ENDPROLOG
MASM BNF Grammatik