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 prologue uzaklığını kullanarak belirtilen yazmaç (regUWOP_SAVE_NONVOLUWOP_SAVE_NONVOL_FAR) için bir veya geri sarma kodu girişi oluşturur. Microsoft Assembler (MASM) en verimli kodlamayı seçer.
Sözdizimi
.SAVEREGreg,offset
Açıklamalar
Çerçeve işlevinin nasıl geri sarılacağını belirtmek için ile ml64.exe kullanın.SAVEREG. Bunu yalnızca bildiriminden PROCFRAME öğesine genişleten prologue içinde kullanabilirsiniz . ENDPROLOG yönergesi.
- Bu yönergeler geri sarma meta verileri (
.xdatave.pdatabölümleri) oluşturur ancak yürütülebilir kod üretmez. -
.SAVEREGKaldırılacak eylemleri gerçekten uygulayan yönergelerin önüne geçin. - Sözleşmeyi güvence altına almak için hem unwind yönergelerini hem de bir makroda geri sarmalamaları gereken kodu sarmalayın.
Sürüm 3'e geri sarma davranışı
Important
Sürüm 3'e geri sarma desteği deneyseldir ve değiştirilebilir. kullanarak ml64.exe /unwindv3etkinleştirin.
Sürüm 3'te, .SAVEREG bir WOD_SAVE_NONVOL veya bir WOD_SAVE_NONVOL_FAR geri sarma kodu girdisi ya da ya da bir geri sarma kodu girişi yayar. MASM , uzaklık boyutuna göre en verimli kodlamayı seçer:
| Kodu geri sarma | Condition |
|---|---|
WOD_SAVE_NONVOL |
uzaklık , ölçeklendirilmiş 16 bit değer olarak kodlanabilir |
WOD_SAVE_NONVOL_FAR |
uzaklık tam 32 bit değer gerektirir |
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.
.SAVEREG açıklandığı yönergeden önce görünmelidir. Bu gereksinim, yönergenin yönergeyi izlediği Sürüm 1'in tersidir.
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 ...
mov rsi, [rsp+8]
mov rbx, [rsp]
add rsp, 020h
ret
Example1 ENDP
_text ENDS
END
En son muadili ise . RESTOREREG.
Ayrıca bkz.
x64 Sürüm 3'i geri sarma (deneysel)
Yönergeler başvurusu
x64 (ml64.exe) için MASM
MASM BNF Dil Bilgisi