Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 (
.xdatave.pdatabö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/.ENDEPILOGhiç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