Apa Itu Bahasa Rakitan
(Assembler) ?
Bahasa
Rakitan termasuk ke dalam bahasa tingkat rendah dan merupakan bahasa dasar
komputer. Bahasa ini memerlukan logika yang cukup rumit di samping instruksinya
yang jauh berbeda dengan bahasa pemrograman lainnya. Program yang dihasilkan
memiliki kecepatan yang paling baik. Kelebihan dari bahasa rakitan adalah :
1.
Memiliki
fasilitas fungsi dan makro (ciri khas bahasa pemrograman yang menyebabkan
pemrograman menjadi lebih mudah).
2.
Program
dapat dibuat secara modular (dipecah dalam modul-modul kecil dan dapat
diintegrasikan kembali).
3.
Ukuran
program lebih kecil, sehingga lebih menghemat media penyimpan.
4.
Lebih
dekat ke hardware sehingga seluruh kemampuan komputer dapat dimanfaatkan secara
maksimal.
Apa saja yang diperlukan untuk
belajar Bahasa Rakitan atau Assembler ?
Untuk mempelajarai bahasa
rakitan / assembler diperlukan :
1.
Sistem
bilangan antara lain Biner, Oktal, Desimal dan Hexadesimal
2.
Pengenalan
Microprocessor
3.
Sistem
Memori dan Pengalamatan Memori
4.
Interupt
/ Interupsi
5.
Register
6.
Instruksi
Assembly atau Mnemonic
7.
Mode
pengalamatan data
8.
Operasi-operasi
pada assembler
9.
Pembuatan
program
Sistem Bilangan
Untuk
mempelajari bahasa rakitan kita harus mengenal beberapa sistem bilangan yang
sangat berguna dalam pengaksesan port ataupun menghafal kode ASCII yang
penting. Bilangan desimal sering kita gunakan sehari-hari untuk segala
keperluan, sedangkan bilangan lainnya sangat dibutuhkan dalam pemrograman
bahasa rakitan atau assembler, karena bahasa ini dipakai untuk menjalankan
sistem mikroprosessor. Setiap mikroprosesor memiliki bahasa rakitan sendiri.
Adapun sistem bilangan yang dipelajari adalah sebagai berikut :
- Bilangan Biner
Bilangan ini hanya mengenal angka 0 dan 1
sehingga bilangan ini berdasar 2. Cara mengkonversi ke bilangan desimal adalah
dengan mengalikan dua dengan pangkat N (suku ke-N) seperti bilangan desimal
mengalikan 10 dengan pangkat N
Contoh:
1110
(biner) dikonversi ke desimal
menjadi :
(1 * 23) + (1 * 22)
+ (1 * 21) + (0 * 20) =
8
+ 4 +
2 + 0
= 14 (desimal)
- Operasi tambah pada sistem biner :
0
+ 0 = 00
1
+ 0 = 01
0
+ 1 = 01
1
+ 1 = 11
Contoh :
1110001 + 1011000 =
11001001 (biner)
desimalnya : 113 + 89 = 201
- Bilangan Oktal
Bilangan Oktal merupkan bilangan berdasar 8.
Jadi bilangan ini hanya terdiri dari angka 0 hingga 7.
Konversi bilangan octal ke desimal mempunyai
cara yang sama dengan bilangan biner, hanya memakai bilangan dasar 8.
Contoh:
355 bilangan octal ke desimal
355 oktal = (3 * 82) + (5 * 81)
+ (5 * 80)
= 192
+ 40 +
5
= 237 desimal
- Bilangan Desimal
Bilangan ini sudah
tidak asing lagi, karena digunakan dalam kehidupan sehari-hari.
Sistem bilangan ini terdiri dari angka 0
sampai 9 dengan menggunakan dasar 10.
- Bilangan Hexadesimal
Bilangan ini mutlak harus dikuasai, karena
dalam bahasa rakitan kita sering menemukan bilangan ini. Kode ASCII ditulis
dalam bilangan hexadesimal yang mewakili huruf, angka, tanda baca dan karakter
unik lainnya sebanyak 255 buah.
Bilangan hexadesimal merupakan bilangan dasar
16 terdiri dari : 0123456789ABCDEF
Cara mengkonversi ke bilangan desimal sama
dengan biner dan octal
Contoh:
3A hexa
= (3 * 161) + (10 * 160)
= 48 +
10
= 58 desimal
·
Bahasa
Rakitan atau Assembler merupakan bahasa tingkat rendah / low level language
digunakan dalam computer untuk Sistem Operasi, Compiler, penanganan file dan
operasi-operasi mikroprosesor.
·
Setiap
digit bilangan biner disebut satu bit. Terdiri dari 0 dan 1
·
Bilangan
Octal merupakan bilangan dasar 8 terdiri dari 0 s/d 7
·
Bilangan
Desimal merupakan bilangan dasar 10 yang sudah sering dipakai.
·
Bilangan
Hexadesimal merupakan bilangan dasar 16 terdiri dari 0 – 9ABCDEF dan dipakai
dalam kode ASCII dank ode-kode lainnya.
Memori
Pengertian Memori
Merupakan
bagian terpenting dalam komputer untuk
menyimpan data dan program.
Dalam
microprosesor 8088 terdapat 16 saluran alamat (address) dan 8 saluran data
secara multiplex. Saluran alamat lainnya yang tersedia ada 4, khusus untuk
menunjuk segmen memori, dimana tiap segment menjangkau memori sebesar 64
kliobyte. Sehingga dari 16 saluran alamat dapat menggarap isi memori hingga 1
megabyte dan bekerja dengan data 16 bit.
Ukuran
memori 1 kilobyte = 1024 byte, 1 megabyte = 1024 x 1024 byte = 1.048.576 byte.
Maka alamat memori dari 0 sampai 1 megabyte memerlukan penulisan dengan 5 digit
angka hexadesimal dari 00000H sampai FFFFFH.
Sebagai
contoh : Memori di PC XT 640 kilobyte terdiri dari alamat 00600H sampai alamat
A0000H.RAM dan ROM merupakan komponen IC
yang dapat menyimpan data dan program yang dapat dialamati terdiri dari jalur
alamat (address) dan jalur data. RAM dapat menulis dan membaca data, sedangkan
ROM hanya membaca saja.
Kombinasi
saluran/jalur data berupa 8 bit atau 16 bit yang dinyatakan dalam bilangan
hexadesimal. Sedangkan jalur alamat (address) memiliki pola yang sama dengan
jalur data memakai bilangan hexadesimal. Sekarang telah berkembang memori
dengan jumlah saluran 32 bit dan 64 bit.
Tempat
menyimpan data ukuran 1 byte di RAM dan ROM harus diberi nomor urut agar mudah
diidentifikasi berupa alamat memori (memori address). Jika ada data berupa 5AH
disalurkan melalui jalur data ke memori dengan alamat memori 0F2B4H, maka
berarti di lokasi memori nomor 0F2B4H terdapat data 5AH.
Memori
dengan jalur alamat yang banyak akan memiliki kapasitas simpan yang dinyatakan
dalam byte, kilobyte, megabyte atau gigabyte.
Memori
berkapasitas 64 KB berarti memiliki kemampuan merekam 64 x 1024 byte data.
Suatu media penyimpan berupa Hard disk 10 M berarti memiliki kapasitas rekam 10
x 1024 x 1024 byte.
Istilah
dalam memori yang sangat lazim dan sering ditemui dalam setiap pemrograman
bahasa rakitan adalah :
Ø Bit adalah singkatan
dari binary digit
Ø Byte adalah 8 bit
Ø Word adalah 2 byte
Pembagian
memori
Diantara
register dalam CPU untuk mencatat alamat memori yang dipergunakan terdapat
segment register digabung dengan offset register yang mengatur pembagian
memori. Offset register dapat berupa register lain yang bukan segment register
dengan aturan pasangan :
SSSS : OOOO
S = digit hexadesimal pada
segment register O
O = digit hexadesimal pada
offset register
Satu
segment memori berukuran 64 kilobyte terbagi atas beberapa segment offset yang
dapat dialamati oleh offset register. Sedangkan memori (RAM & ROM) pada PC
dapat terdiri dari beberapa/banyak
segment memori tergantung
kapasitas memori pada PC tersebut.
Pengalamatan Memori
Merupakan suatu cara untuk mencatat atau menunjuk alamat
memori sesuai aturan pasangan SSSS : OOOO artinya penulisan alamat memori
menuruti aturan bahwa bobot digit terendah pada Segment Register adalah 16
pangkat 1 dan bobot tertinggi 16 pangkat 4. Sedangkan pada Offset Register
bobot digit terendah adalah 16 pangkat 0 dan bobot digit tertinggi 16 pangkat
3.
Contoh:
Misalkan: SSSS
dipilih 1234H
OOOO dipilih DCBAH
Maka pengalamatan memori
dapat dinyatakan 1234:DCBA.
Angka alamat absolutnya
dapat dihitung dari :
12340
0DCBA +
1FFFA
Cara penulisan alamat memori
1234:DCBA memberi alamat absolute 1FFFAH.
Penunjukan
alamat memori oleh mikroprosesor dilakukan oleh register BX.
Jika kita ingin menaruh data dengan
pencatatan alamat memori memakai segment register BX dan offset register DS.
Pencatatan alamat dinyatakan dengan rumus DS:BX
Contoh: 0100 : 0234
artinya DS mencatat 0100H, BX mencatat 0234H
Alamat memori 0000 : 0234
dapat dinyatakan dengan :
DS:BX+DI yaitu DS berisi
0000, BX diisi 0200H dan DI diisi 0034H
Penulisan BX+DI disebut
offset address terhadap segment address.
|
Tidak ada komentar:
Posting Komentar