. POP2REG

Epilogdaki geçerli uzaklığı kullanarak belirtilen yazmaç çifti için iki yazmaçlı pop geri sarma kodu girişi oluşturur.

Sözdizimi

öğesini seçin. POP2REGregister1, register2

Parametreler

kayıt1
Açılan ilk kayıt. Genel amaçlı bir 64 bit yazmaç olmalıdır.

register2
Açılan ikinci kayıt. Genel amaçlı bir 64 bit yazmaç olmalıdır.

register1 ve register2'nin her biri şu durumlardan biri olabilir:
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.

Remarks

Important

Bu yönerge deneyseldir ve değiştirilebilir. sürüm 3'i ile ml64.exe /unwindv3geri sarmayı etkinleştirin.

  • öğesini seçin. POP2REG yalnızca Geri Sarma Sürüm 3'te geçerlidir. Bu, 'nin en önemli muadili . PUSH2REG.
  • öğesini seçin. POP2REG yalnızca arasındaki bir epilog bölgede izin verilir . BEGINEPILOG ve . ENDEPILOG.
  • Bu yönergeler geri sarma meta verileri (.xdata ve .pdata bölümleri) oluşturur ancak yürütülebilir kod üretmez.
  • Sürüm 3'te, . POP2REG , eylemin uygulanması gereken yönergeden önce görünmelidir.
  • Unwind Sürüm 3'te, epilogue unwind kod oluşturma için epilog yönergeleri zorunlu hale geldi. Bir çift olmadan .BEGINEPILOG/.ENDEPILOG hiçbir epilogue unwind kodu yayılmaz.
  • Sözleşmeyi güvence altına almak için hem unwind yönergelerini hem de bir makroda geri sarmalamaları gereken kodu sarmalayın.

register1 ve register2 ardışık ve artan sıradaysa MASM bir WOD_PUSH_CONSECUTIVE_2 geri sarma kodu yayar. Aksi takdirde, MASM bir WOD_PUSH2 geri sarma kodu yayar.

Not

Sürüm 1'i Geri Al bölümünde yönerge ilgili yönergeden sonra görünür. Sürüm 3'te yönerge yönergeden önce görünür.

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

Ayrıca bakınız

x64 Sürüm 3'i geri sarma (deneysel)
Yönergeler Başvurusu
. PUSH2REG
. POPREG
. BEGINEPILOG
MASM BNF Dil Bilgisi