Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menghasilkan entri kode unwind push dua-register untuk pasangan register yang ditentukan menggunakan offset saat ini dalam prolog.
Syntax
.PUSH2REGregister1, register2
Parameter-parameternya
register1
Register pertama untuk mendorong. Harus merupakan register 64-bit tujuan umum.
register2
Register kedua untuk mendorong. 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 menggunakan ml64.exe /unwindv3.
- Gunakan
.PUSH2REGuntuk menentukan bagaimana fungsi bingkai melepas lelah. Anda hanya dapat menggunakan arahan ini dalam prolog, yang meluas dari deklarasi PROCFRAMEke . Direktif ENDPROLOG. - Arahan ini menghasilkan metadata unwind (
.xdatadan.pdatabagian) tetapi tidak menghasilkan kode yang dapat dieksekusi. Di Unwind Versi 3,.PUSH2REGharus muncul sebelum instruksi yang benar-benar mengimplementasikan tindakan untuk dilepaskan. Untuk memastikan perjanjian, ini adalah praktik yang baik untuk membungkus 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 unwindWOD_PUSH2.
Nota
Di Unwind Versi 1, arahan muncul setelah instruksi yang sesuai. Di Unwind Versi 3, arahan muncul sebelum instruksi.
Contoh untuk unwindv3
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.push2reg r10, r11
push2 r10, r11
.push2reg rbx, rsi
push2 rbx, rsi
.endprolog
; rest of function ...
ret
Example1 ENDP
_text ENDS
END
Baca juga
x64 Unwind Versi 3 (eksperimental)
Referensi Arahan
. POP2REG
. PUSHREG
. ENDPROLOG
Tata Bahasa MASM BNF