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.
WOD_PUSH Menghasilkan entri kode unwind untuk register yang ditentukan menggunakan offset saat ini di epilog.
Syntax
. Daftar POPREG
Parameter-parameternya
Daftar
Daftar untuk muncul. Harus merupakan register 64-bit tujuan umum.
Komentar
Important
Arahan ini bersifat eksperimental dan dapat berubah. Aktifkan Unwind Versi 3 dengan menggunakan /unwindv3 opsi di ml64.exe.
.POPREG hanya valid dalam Unwind Versi 3. Ini adalah rekan epilog untuk . PUSHREG.
.POPREG hanya diizinkan dalam wilayah epilog, antara . BEGINEPILOG dan . ENDEPILOG. Arahan ini menghasilkan metadata unwind (.xdata dan .pdata bagian) tetapi tidak menghasilkan kode yang dapat dieksekusi. Di Unwind Versi 3, .POPREG harus muncul sebelumpop instruksi yang mengimplementasikan pemulihan register. Untuk memastikan perjanjian, bungkus arahan unwind dan kode yang dimaksudkan untuk melepas lelah dalam makro.
register mungkin 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
Dalam Unwind Versi 3, arahan epilog wajib untuk pembuatan kode unwind epilog. Perakitan tidak mengeluarkan kode unwind epilog tanpa sepasang .BEGINEPILOG/.ENDEPILOG .
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
.pushreg rbx
push rbx
.pushreg rsi
push rsi
.endprolog
; rest of function ...
.beginepilog
.popreg rsi
pop rsi
.popreg rbx
pop rbx
.endepilog
ret
Example1 ENDP
_text ENDS
END
Baca juga
x64 Unwind Versi 3 (eksperimental)
Referensi Arahan
. PUSHREG
. POP2REG
. BEGINEPILOG
Tata Bahasa MASM BNF