Perbedaan Antara Assembler dan Kompiler

Assembler vs Compiler

Secara umum, kompiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Secara tradisional, bahasa sumber adalah bahasa tingkat tinggi seperti C ++ dan bahasa target adalah bahasa tingkat rendah seperti bahasa Majelis. Namun, ada kompiler yang dapat mengonversi program sumber yang ditulis dalam bahasa Assembly dan mengubahnya menjadi kode mesin atau kode objek. Perakit adalah alat seperti itu. Jadi, baik assembler dan compiler pada akhirnya menghasilkan kode yang dapat langsung dieksekusi pada mesin.

Apa itu Kompiler?

Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Paling sering, bahasa sumber adalah bahasa tingkat tinggi dan bahasa target adalah bahasa tingkat rendah. Jadi, secara umum kompiler dapat dilihat sebagai penerjemah yang menerjemahkan dari satu bahasa ke bahasa lain. Selain itu, kompiler melakukan beberapa optimasi kode. Kompiler tipikal terdiri dari beberapa komponen utama. Komponen pertama adalah pemindai (juga dikenal sebagai penganalisa leksikal). Pemindai membaca program dan mengubahnya menjadi serangkaian token. Komponen kedua adalah parser. Ini mengubah string token ke pohon parse (atau pohon sintaksis abstrak), yang menangkap struktur sintaksis program. Komponen selanjutnya adalah rutinitas semantik yang menginterpretasikan semantik dari struktur sintaksis. Optimasi kode dan pembuatan kode akhir mengikuti ini.

Apa itu Assembler?

Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa Assembly ke kode mesin. Jadi, assembler adalah jenis kompiler dan kode sumbernya ditulis dalam bahasa Assembly. Assembly adalah bahasa yang dapat dibaca manusia tetapi biasanya memiliki hubungan satu lawan satu dengan kode mesin yang sesuai. Oleh karena itu assembler dikatakan melakukan terjemahan isomorfik (pemetaan satu ke satu). Perakit tingkat lanjut menyediakan fitur tambahan yang mendukung pengembangan program dan proses debugging. Misalnya, jenis perakit yang disebut perakit makro menyediakan fasilitas makro.

Apa perbedaan antara Assembler dan Compiler?

Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa dan menerjemahkannya ke bahasa lain, sedangkan assembler dapat dianggap sebagai jenis kompiler khusus yang menerjemahkan hanya bahasa Assembly ke kode mesin. Compiler biasanya menghasilkan kode yang dapat dieksekusi mesin langsung dari bahasa tingkat tinggi, tetapi assembler menghasilkan kode objek yang mungkin harus ditautkan menggunakan program linker agar dapat dijalankan pada mesin. Karena bahasa Assembly memiliki pemetaan satu ke satu dengan kode mesin, assembler dapat digunakan untuk menghasilkan kode yang berjalan sangat efisien untuk acara-acara di mana kinerja sangat penting (untuk mesin grafis misalnya, sistem tertanam dengan sumber daya perangkat keras yang terbatas dibandingkan dengan komputer pribadi seperti gelombang mikro, mesin cuci, dll.).