. POP2REG

Menghasilkan entri kode pop unwind dua-register untuk pasangan register yang ditentukan menggunakan offset saat ini di epilog.

Syntax

. POP2REGregister1, register2

Parameter-parameternya

register1
Daftar pertama yang akan diisi. Harus merupakan register 64-bit tujuan umum.

register2
Register kedua yang akan muncul. Harus merupakan register 64-bit tujuan umum.

register1 dan register2 masing-masing dapat menjadi salah satu dari:
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.

Komentar

Important

Arahan ini bersifat eksperimental dan dapat berubah. Aktifkan Unwind Versi 3 dengan ml64.exe /unwindv3.

  • . POP2REG hanya valid di Unwind Versi 3. Ini adalah rekan epilog untuk . PUSH2REG.
  • . POP2REG hanya diizinkan dalam wilayah epilog, antara . BEGINEPILOG dan . ENDEPILOG.
  • Arahan ini menghasilkan metadata unwind (.xdata dan .pdata bagian) tetapi tidak menghasilkan kode yang dapat dieksekusi.
  • Di Unwind Versi 3, . POP2REG harus muncul sebelum instruksi yang benar-benar mengimplementasikan tindakan untuk dilepas.
  • Dalam Unwind Versi 3, arahan epilog wajib untuk pembuatan kode unwind epilog. Tidak ada kode epilog unwind yang dipancarkan tanpa sepasang .BEGINEPILOG/.ENDEPILOG .
  • Untuk memastikan perjanjian, bungkus arahan unwind dan kode yang dimaksudkan untuk melepas lelah dalam makro.

Jika register1 dan register2 berturut-turut dan dalam urutan yang meningkat, MASM mengeluarkan kode unwind WOD_PUSH_CONSECUTIVE_2 . Jika tidak, MASM memancarkan kode unwind WOD_PUSH2 .

Note

Di Unwind Versi 1, arahan muncul setelah instruksi yang sesuai. Di Unwind Versi 3, arahan muncul sebelum instruksi.

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

Baca juga

x64 Unwind Versi 3 (eksperimental)
Referensi Arahan
. PUSH2REG
. POPREG
. BEGINEPILOG
Tata Bahasa MASM BNF