Skip to main content

Apa itu perakitan inline?

Inline Assembly Mdash;juga disebut bahasa perakitan inline atau inline assembler mdash;adalah blok kode bahasa perakitan yang dimasukkan langsung ke dalam fungsi dan kode sumber untuk bahasa lain.Ini memungkinkan seorang programmer untuk memasukkan blok bahasa perakitan murni ke dalam program di mana sisa program menggunakan bahasa non-perakitan.Kemampuan didukung dalam beberapa bahasa mdash;seperti C, C ++ dan Pascal Mdash;tetapi merupakan fitur dari kompiler spesifik yang digunakan dan tidak harus menjadi bagian dari standar bahasa.Dalam banyak kasus, perakitan inline digunakan untuk mengakses fungsi khusus di Unit Pemrosesan Pusat (CPU), untuk mengoptimalkan kode atau untuk melakukan operasi tingkat yang sangat rendah seperti blitting memori.Meskipun kompiler atau bahasa pemrograman tertentu mungkin memiliki dukungan untuk membuat eksekutif lintas platform, penggunaan perakitan inline biasanya membatasi program untuk sistem yang dapat menggunakan instruksi perakitan spesifik atau memiliki arsitektur yang cocok.

Ada beberapa cara di mana bahasa suatu bahasaatau kompiler memungkinkan perakitan inline untuk dimasukkan dalam file kode sumber standar.Salah satu metode termudah adalah hanya dengan mendefinisikan awal blok perakitan, setelah itu semua perintah ditafsirkan sebagai perakitan langsung.Beberapa lingkungan pengembangan terintegrasi (IDE) dan kompiler sebenarnya memungkinkan kode inline untuk menggunakan variabel yang didefinisikan dalam program atau fungsi tanpa secara eksplisit memuatnya ke register terlebih dahulu.

Cara lain di mana perakitan sebaris didefinisikan dalam file sumber adalah melalui penggunaanFungsi khusus perakitan khusus.Dalam hal ini, kode inline biasanya tidak dapat dikombinasikan dengan kode non-assembly, seperti loop kontrol atau pernyataan pengembalian.Saat diimplementasikan dengan cara ini, fungsi inline juga biasanya perlu secara eksplisit mendorong variabel dan pop di dan dari tumpukan untuk menggunakan variabel lokal atau lulus nilai di luar fungsi.

Salah satu kegunaan yang paling umum untuk kode perakitan inline adalah optimasi tepat untuk optimasi tepatsegmen kecil dari suatu program.Bergantung pada bagaimana kode inline terintegrasi, ini dapat berarti menggunakan perintah bahasa yang lebih dapat dibaca manusia melilitkan kode inline yang secara langsung melakukan beberapa tindakan dengan sangat cepat dan efisien.Selain itu, jika sistem target diketahui, kode ini dapat menggunakan register dan perintah khusus perangkat keras yang dapat membuat program mengeksekusi lebih cepat.

Perakitan sebaris dapat digunakan untuk mengakses bagian-bagian dari sistem operasi, CPU atau bahkan port perangkat keras secara langsung ketika saatMetode lain mungkin gagal atau menyebabkan kesalahan sistem.Ini dapat digunakan untuk dengan cepat mengubah frame pada kartu grafis atau untuk mengirim sinyal langsung ke port interupsi atau perangkat keras tertentu.Namun, salah satu bahaya menggunakan kode perakitan dengan cara ini adalah bahwa kesalahan kecil bisa sulit ditemukan atau menyebabkan program jatuh secara tak terduga pada sistem tertentu.