Assembly umumnya dikenal sebagai bahasa rakitan atau assembly language. Assembly language adalah bahasa pemrograman tingkat rendah yang digunakan untuk memprogram komputer, mikroprosesor, mikrokontroler, dan perangkat lain yang dapat diprogram. Bahasa assembly mengimplementasikan representasi bahasa mesin dalam bentuk simbol-simbol yang relatif mudah dipahami manusia. Berbeda dengan bahasa tingkat tinggi yang diterima secara umum, bahasa rakitan biasanya secara khusus mendukung satu atau lebih jenis arsitektur komputer tertentu. Oleh karena itu, portabilitas bahasa assembly tidak dapat bersaing dengan bahasa lain yang merupakan bahasa pemrograman tingkat tinggi. Namun, bahasa rakitan memungkinkan pemrogram untuk memanfaatkan sepenuhnya kemampuan perangkat keras tertentu. Ini biasanya tidak mungkin atau terbatas ketika dibangun dalam bahasa pemrograman tingkat tinggi.
Bahasa assembly juga merupakan bahasa komputer, terletak di antara bahasa mesin dan bahasa tingkat tinggi seperti C, C++, Pascal, Turbo Basic, dan Java. Bahasa C atau Pascal sangat berbeda dengan bahasa manusia yang sebenarnya, tetapi disebut bahasa tingkat tinggi karena menggunakan kata-kata dan pernyataan yang mudah dipahami manusia. Ada istilah Assembler yang artinya program yang membantu anda menulis instruksi dalam format bahasa Inggris sehingga mudah dibaca dan dipahami. Di dalam assmbly ada istilah Mnemonik artinya sesuatu yang mudah diingat, dan ada dua jenis mnemonik yaitu mnemonic yang digunakan sebagai instruksi untuk mengontrol prosesor seperti ADD, MOV, DJNZ. Ada juga mnemonik yang digunakan untuk mengatur perilaku program assembler seperti ORG, EQU, dan DB. Mnemonik untuk mengatur operasi program assembler disebut "assembler directives".
MOV R0, #02h MOV A, #03h ADD A, R0 Perintah baris pertama bekerja menjalankan proses pengisian register R0 dengan data 02h. Perintah baris kedua bekerja menjalankan proses pengisian register A dengan data 03h. Kemudian proses penjumlahan data pada register A dengan data pada register R0 dijalankan menggunakan perintah ADD A,R0 dan menghasilkan data 05h tersimpan di register A. Perintah MOV dan ADD ialah mnemonik atau singkatan dari perintah MOVE dan ADD.
Perintah mnemonik lainnya dapat dilihat dalam tabel berikut.
Dalam bahasa rakitan, pemrogram biasanya menggunakan program utilitas yang disebut assembler yang digunakan untuk menerjemahkan kode bahasa rakitan ke dalam kode mesin untuk perangkat keras tertentu. Instruksi bahasa assembly biasanya diterjemahkan ke dalam instruksi mnemonic bahasa mesin, sebagai lawan dari compiler bahasa tingkat tinggi yang menerjemahkan instruksi ke dalam satu set instruksi bahasa mesin. Beberapa perangkat lunak bahasa rakitan yang terkenal biasanya memfasilitasi proses pengembangan program, mengontrol proses perakitan, dan menyediakan fungsionalitas tambahan untuk alat debugging.
1. Program yang ditulis dalam assembler lebih cepat dan lebih kecil dari kode yang dihasilkan oleh compiler.
2. Assembly menyediakan akses langsung ke fitur perangkat keras sistem yang tidak dimungkinkan dalam bahasa tingkat tinggi (membaca / menulis data langsung ke sektor, memformat disk). 3. Mempelajari montase akan membantu Anda lebih memahami cara kerja komputer. Mempelajari pemrograman bahasa assembly akan membantu Anda lebih memahami cara kerja bahasa tingkat tinggi seperti compiler. Jika Anda memahami bahasa assembly, Anda dapat menjalankan proses dekomposisi untuk menganalisis program tertentu.
Program sumber bahasa assembly menganut prinsip satu baris untuk satu instruksi. Setiap baris perintah dapat terdiri dari beberapa bagian (field). Artinya, dapat terdiri dari bagian label, bagian mnemonic, beberapa bagian operand, dan bagian terakhir adalah komentar. Berikut adalah spesifikasi parsial yang dibuat untuk membedakan masing-masing bagian : 1.Setiap bagian dipisahkan oleh spasi atau TAB. Secara khusus, jika ada beberapa operan, setiap operan dipisahkan dengan koma. 2. Bagian tidak harus semuanya dalam satu baris. Spasi atau TAB harus digunakan sebagai pembatas bagian meskipun bagian tersebut tidak ada. 3. Bagian label dimulai dengan karakter pertama dari baris. Jika baris yang dimaksud tidak mengandung label, label diganti dengan spasi atau TAB sebagai pembatas antara bagian label dan bagian mnemonic.
Bahasa assembly menerjemahkan instruksi bahasa assembly menjadi instruksi bahasa mesin. Karena mekanisme konversi ini biasanya 1-1, setiap instruksi bahasa assembly dapat dikatakan sebagai representasi dari instruksi bahasa mesin. Misalnya, instruksi berikut digunakan pada prosesor x86 untuk memindahkan nilai 8-bit 97 ke register AL prosesor. Kode biner dari instruksi transfer adalah 10110, diikuti oleh pengenal 3-bit dari register yang akan digunakan. Pengidentifikasi untuk register AL dalam hal ini adalah 000. Nilai 97 dalam kode biner adalah 01100001, jadi kode mesin yang digunakan untuk memindahkannya adalah:
Kode biner ini dapat diubah agar lebih mudah dibaca manusia dengan mengkonversikannya dalam bilangan heksadesimal sebagai berikut:
Pada instruksi di atas, B0 berarti: 'Pindahkan nilai berikut ke register AL', dan 61 adalah representasi bilangan heksadesimal untuk nilai 01100001, atau 97 dalam bilangan desimal. Bahasa rakitan untuk prosesor Intel menyediakan simbol mnemonic MOV (yang merupakan singkatan dari move) untuk instruksi serupa sehingga kode mesin sebelumnya dapat ditulis dalam bahasa rakitan sebagai berikut:
Bahasa rakitan memungkinkan programmer menambahkan komentar atas setiap instruksi yang ditulis untuk mempermudah pembacaan dan lebih mudah pemahaman.
Bahasa assembly atau bahasa assembly adalah jenis bahasa tingkat rendah untuk membangun sistem yang memproses perangkat keras secara langsung. Misalnya, membuat sistem operasi atau driver. Bahasa assembly menggunakan mnemonik, atau singkatan untuk kata-kata bahasa Inggris, untuk membentuk perintah tertentu. Oleh karena itu, kita perlu mengubah bahasa ini kembali menjadi bahasa mesin. Sekarang, proses penerjemahan ini dilakukan oleh alat yang disebut assembler. Program bahasa rakitan bekerja cukup cepat, meskipun harus diterjemahkan terlebih dahulu. Karena tidak memakan banyak memori saat runtime.
Kesempatan lowongan magang terbaru di tahun 2024
Baca Selengkapnya..