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.
Geçerli en son uzaklığı kullanarak belirtilen yazmaç ve uzaklık için bir WOD_SAVE_NONVOL veya bir WOD_SAVE_NONVOL_FAR geri sarma kodu girişi oluşturur.
Syntax
.RESTOREREGreg, offset
Parametreler
reg
Geri yüklemek için kalıcı olmayan kayıt.
fark
Yazmaç geri yüklendiği yığın uzaklığı.
Remarks
Important
Bu yönerge deneyseldir ve değiştirilebilir. kullanarak ml64.exe /unwindv3Sürüm 3'e geri sarmayı etkinleştirin.
.RESTOREREG yalnızca Geri Sarma Sürüm 3'te geçerlidir. Bu, 'nin en önemli muadili . SAVEREG.
Microsoft Assembler (MASM), belirli bir uzaklık için en verimli kodlamayı seçer.
-
.RESTOREREGarasında yalnızca en son bir 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,
.RESTOREREGyığından yazmaç yükleyen yönergeden önce görünmelidir. - Sözleşmeyi güvence altına almak için hem unwind yönergelerini hem de bir makroda geri sarmalamaları gereken kodu sarmalayın.
- 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.
Note
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.
unwindv3 örneği
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.allocstack 020h
sub rsp, 020h
.savereg rbx, 0
mov [rsp], rbx
.savereg rsi, 8
mov [rsp+8], rsi
.endprolog
; rest of function ...
.beginepilog
.restorereg rsi, 8
mov rsi, [rsp+8]
.restorereg rbx, 0
mov rbx, [rsp]
.freestack 020h
add rsp, 020h
.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
. SAVEREG
. BEGINEPILOG
MASM BNF Dil Bilgisi