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 WOD_ALLOC_SMALL, WOD_ALLOC_LARGE, atau WOD_ALLOC_HUGE dengan ukuran yang ditentukan untuk offset saat ini di epilog.
Syntax
. Ukuran FREESTACK
Parameter-parameternya
ukuran
Jumlah byte yang akan dibatalkan alokasinya dari tumpukan. Harus kelipatan 8.
Komentar
Important
Arahan ini bersifat eksperimental dan dapat berubah.
Aktifkan Unwind Versi 3 dengan menggunakan ml64.exe /unwindv3.
- Anda dapat menggunakan . FREESTACK hanya di Unwind Versi 3. Ini adalah rekan epilog untuk . TUMPUKAN ALOKASI.
- Anda dapat menggunakan . FREESTACK hanya dalam wilayah epilog, antara . BEGINEPILOG dan . ENDEPILOG.
- Di Unwind Versi 3, . FREESTACK harus muncul sebelum
add rsp, Ninstruksi yang mengimplementasikan alokasi tumpukan. - Untuk memastikan perjanjian, bungkus arahan unwind dan kode yang dimaksudkan untuk melepas lelah dalam makro.
- Arahan ini menghasilkan metadata unwind (
.xdatadan.pdatabagian) tetapi tidak menghasilkan kode yang dapat dieksekusi. - Microsoft Assembler (MASM) memilih pengodean yang paling efisien untuk ukuran tertentu.
MASM memancarkan salah satu dari tiga kode unwind tergantung pada ukurannya:
| Lepaskan kode | Keadaan |
|---|---|
WOD_ALLOC_SMALL |
ukuran ≤ 128 byte |
WOD_ALLOC_LARGE |
ukuran ≤ 32 KB |
WOD_ALLOC_HUGE |
Ukuran> 32 KB |
Dalam Unwind Versi 3, arahan epilog wajib untuk pembuatan kode unwind epilog. Perakitan tidak mengeluarkan kode unwind epilog tanpa sepasang .BEGINEPILOG/.ENDEPILOG .
Note
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
.allocstack 16
sub rsp, 16
.endprolog
; function body
.beginepilog
.freestack 16
add rsp, 16
.endepilog
ret
Example1 ENDP
_text ENDS
END
Baca juga
x64 Unwind Versi 3 (eksperimental)
Referensi Arahan
. TUMPUKAN ALOKASI
. BEGINEPILOG
Tata Bahasa MASM BNF