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.
Khusus Microsoft
Perakit sebaris memungkinkan Anda menyematkan instruksi bahasa perakitan dalam program sumber C dan C++ Anda tanpa langkah-langkah perakitan dan tautan tambahan. Perakit sebaris sudah terintegrasi ke dalam kompiler, sehingga Anda tidak memerlukan perakitan terpisah seperti Microsoft Macro Assembler (MASM).
Perakit sebaris tidak memerlukan langkah-langkah perakitan dan tautan terpisah, sehingga lebih nyaman daripada perakit terpisah. Kode rakitan sebaris dapat menggunakan variabel C atau C++ atau nama fungsi apa pun yang ada dalam cakupan, sehingga mudah untuk mengintegrasikannya dengan kode C dan C++ program Anda. Dan karena kode rakitan dapat dicampur dengan pernyataan C dan C++, itu dapat melakukan tugas yang rumit atau tidak mungkin di C atau C++ saja.
Kata kunci __asm memanggil perakit sebaris dan dapat muncul di mana pun pernyataan C atau C++ legal. Perakit sebaris tidak dapat muncul dengan sendirinya. Harus diikuti oleh instruksi perakitan, sekelompok instruksi yang diapit kurung kurawal, atau, setidaknya, sepasang kurung kurawal kosong. Istilah "__asm blok" di sini mengacu pada instruksi atau sekelompok instruksi, baik dalam kurung kurawal atau tidak.
Kode berikut adalah blok sederhana __asm yang diapit kurung kurawal. (Kode adalah urutan prolog fungsi kustom.)
// asm_overview.cpp
// processor: x86
void __declspec(naked) main()
{
// Naked functions must provide their own prolog...
__asm {
push ebp
mov ebp, esp
sub esp, __LOCAL_SIZE
}
// ... and epilog
__asm {
pop ebp
ret
}
}
Atau, Anda dapat menempatkan __asm di depan setiap instruksi perakitan:
__asm push ebp
__asm mov ebp, esp
__asm sub esp, __LOCAL_SIZE
Karena kata kunci __asm adalah pemisah pernyataan, Anda juga dapat menempatkan instruksi perakitan pada baris yang sama:
__asm push ebp __asm mov ebp, esp __asm sub esp, __LOCAL_SIZE
END Khusus Microsoft