Bahasa
rakitan atau
lebih umum dikenal sebagai Assembly adalah bahasa pemrograman tingkat
rendah yang digunakan dalam pemrograman komputer, mikroprosesor, pengendali mikro, dan perangkat lainnya yang dapat diprogram.
Bahasa rakitan mengimplementasikan representasi atas kode mesin dalam
bentuk simbol-simbol yang secara relatif lebih dapat dipahami oleh manusia.
Berbeda halnya dengan bahasa-bahasa
tingkat tinggi yang
berlaku umum, bahasa rakitan biasanya mendukung secara spesifik untuk suatu
ataupun beberapa jenis arsitektur komputer tertentu. Dengan demikian,
portabilitas bahasa rakitan tidak dapat menandingi bahasa-bahasa lainnya yang
merupakan bahasa pemrograman tingkat tinggi. Namun demikian, bahasa rakitan
memungkinkan programmer memanfaatkan secara penuh kemampuan suatu perangkat keras tertentu
yang biasanya tidak dapat ataupun terbatas bila dibuat dengan menggunakan
bahasa pemrograman tingkat tinggi.
Pada bahasa rakitan, programmer umumnya
menggunakan sebuah program utilitas yang disebut sebagai perakit (bahasa Inggris:assembler) yang digunakan untuk
menerjemahkan kode dalam bahasa rakitan tersebut ke dalam kode mesin untuk
perangkat keras tertentu. Sebuah perintah dalam bahasa rakitan biasanya akan
diterjemahkan menjadi sebuah instruksi mnemonic dalam kode mesin, berbeda halnya
dengan kompiler pada bahasa pemrograman tingkat tinggi
yang menerjemahkan sebuah perintah menjadi sejumlah instruksi dalam kode mesin.
Beberapa perangkat lunak bahasa rakitan terkenal biasanya menyediakan
tambahan fitur untuk memfasilitasi proses pengembangan program, mengontrol
proses perakitan, dan alat bantu pengawakutuan (debugging).
Read more
Read more
1. DASAR ALASAN MENGGUNAKAN ASSEMBLY
Ada beberapa
dasar alasan menggunakan bahasa rakitan dilihat dari sudut pandang
penggunaannya:
·
Bahasa rakitan dibandingkan dengan bahasa mesin, bahasa
rakitan merupakan representasi atas bahasa mesin yang dirancang agar lebih
mudah dipahami oleh manusia. Dengan menggunakan bahasa rakitan, seorang
programmer dapat lebih mudah mengingat instruksi-instruksi dengan menggunakan
simbol yang lebih dimengerti dibandingkan bila menggunakan simbolmnemonic kode
mesin secara langsung. Demikian halnya pula dengan mekanisme lompatan yang umum
terdapat dalam bahasa mesin yang biasanya menggunakan alamat memori, programmer
dapat lebih mudah menggunakan fasilitas pelabelan yang terdapat pada bahasa
rakitan dibandingkan menggunakan alamat memori tertentu dalam kode mnemonic.
·
Bahasa rakitan dibandingkan dengan bahasa tingkat
tinggi, bahasa rakitan memungkinkan programmer untuk mengontrol serta
memanfaatkan secara penuh kapabilitas yang terdapat atas suatu perangkat keras,
berbeda halnya dengan bahasa pemrograman tingkat tinggi yang memiliki banyak
keterbatasan dalam pemanfaatan secara penuh suatu perangkat keras. Bahasa
rakitan menjanjikan tingkat unjuk kerja yang maksimum karena sifatnya yang
menerjemahkan secara langsung instruksi rakitan menjadi instruksi mesin,
berbeda halnya dengan bahasa pemrograman tingkat tinggi yang biasanya
menerjemahkan sebuah instruksi menjadi sejumlah kode mesin.
2.
REPRESENTASI KODE
MESIN
·
Bahasa rakitan menerjemahkan sebuah instruksi rakitan menjadi
instruksi mesin, umumnya mekanisme penerjemahan ini bersifat 1-1, karenanya
dapat disebutkan pula bahwa setiap instruksi dalam bahasa rakitan merupakan
representasi dari instruksi kode mesin.
·
Sebagai contoh, berikut adalah instruksi yang digunakan pada
prosesor x86 untuk memindahkan nilai 97 sebesar 8-bit ke dalam register prosesor AL. Kode biner atas instruksi
pemindahan adalah 10110 diikuti dengan 3-bit pengenal atas register yang akan
digunakan. Pengenal atas register AL dalam hal ini adalah 000. Kemudian,
nilai 97 dalam kode biner adalah 01100001, sehingga kode mesin yang digunakan
untuk memindahkannya adalah sebagai berikut:[1]
· 10110000 01100001
·
Kode biner ini dapat diubah agar lebih mudah dibaca manusia dengan
mengkonversikannya dalam bilangan heksadesimal sebagai
berikut:
· B0 61
·
Pada instruksi diatas,
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:· MOV AL, 61h ; Isi register AL dengan nilai 97 (61 hex)
·
Bahasa rakitan memungkinkan programmer menambahkan komentar atas
setiap instruksi yang ditulis untuk mempermudah pembacaan dan lebih mudah
pemahaman.
0 komentar:
Posting Komentar