Pengenalan Mode Pengalamatan
Mode pengalamatan adalah bagaimana cara
menunjuk dan mengalamati suatu lokasi memori pada sebuah alamat di mana operand akan diambil. Mode
pengalamatan diterapkan pada set instruksi, dimana pada umumnya instruksi
terdiri dari opcode (kode operasi) dan alamat. Setiap
mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode
pengalamatan ini meliputi direct addressing, indirect addressing, dan immediate addressing.
1. Direct Addresing
Dalam mode pengalamatan direct addressing, harga yang
akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h.
Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat 30h dan
kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat, meskipun
harga yang didapat tidak langsung seperti immediate, namun cukup cepat karena
disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode
ini daripada mode immediate karena harga yang didapat bisa dari lokasi memori
yang mungkin variabel.
Kelebihan dan kekurangan dari Direct Addresing
antara lain :
Kelebihan
•
Field
alamat berisi efektif address sebuah operand
Kelemahan
•
Keterbatasan
field alamat karena panjang field alamat biasanya lebih kecil dibandingkan
panjang word
2. Indirect Addresing
Mode
pengalamatan indirect addressing sangat berguna karena dapat memberikan
fleksibilitas tinggi dalam mengalamati suatu harga. Mode ini pula
satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada
keluarga 8052. Contoh: MOV A,@R0. Dalam instruksi tersebut, 89C51 akan
mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi dari
R0 dan kemudian mengisikannya ke akumulator. Mode pengalamatan
indirect addressing selalu merujuk pada RAM internal dan tidak pernah merujuk
pada SFR. Karena itu, menggunakan mode ini untuk mengalamati alamat lebih dari
7Fh hanya digunakan untuk keluarga 8052 yang memiliki 256 byte spasi RAM
internal.
Kelebihan dan kekurangan dari Indirect Addresing antara lain :
Kelebihan
•
Ruang bagi
alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
Kekurangan
• Diperlukan
referensi memori ganda dalam satu fetch sehingga memperlambat preoses operasi
3. Immediate Addresing
Mode pengalamatan immediate addressing sangat umum dipakai karena
harga yang akan disimpan dalam memori langsung mengikuti kode operasi dalam
memori. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain
untuk disimpan. Contohnya: MOV A,#20h. Dalam instruksi tersebut, akumulator
akan diisi dengan harga yang langsung mengikutinya, dalam hal ini 20h. Mode ini
sangatlah cepat karena harga yang dipakai langsung tersedia.
Kelebihan dan kekurangan dari Immedieate Addresing
antara lain :
Keuntungan
•
Tidak
adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh
operand
•
Menghemat
siklus instruksi sehingga proses keseluruhan akan cepat
Kekurangan
•
Ukuran
bilangan dibatasi oleh ukuran field alamat
B. Pengenalan pada Register Addressing
Register
adalah merupakan sebagian memori dari mikro prosessor yang dapat diakses dengan
kecepatan tinggi. Metode pengalamatan register ini mirip dengan
mode pengalamatan langsung. Perbedaannya terletak pada field alamat yang
mengacu pada register, bukan pada memori utama. Field yang mereferensi
register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16
register general purpose.
Kelebihan dan kekurangan Register Addressing :
Keuntungan pengalamatan register
•
Diperlukan field alamat berukuran kecil dalam instruksi dan tidak
diperlukan referensi memori
•
Akses ke regster lebih cepat daripada akses ke memori, sehingga proses
eksekusi akan lebih cepat
Kerugian
•
Ruang alamat menjadi terbatas
Register Indirect Addressing
Metode pengalamatan register tidak
langsung mirip dengan mode pengalamatan tidak langsung Perbedaannya adalah field alamat mengacu pada
alamat register. Letak operand berada pada memori yang dituju
oleh isi register
Kelebihanan dan kekurangan pengalamatan register tidak langsung adalah sama dengan
pengalamatan tidak langsung
Keterbatasan field
alamat diatasi dengan pengaksesan memori
yang tidak langsung sehingga alamat yang dapat direferensi makin banyak
Dalam satu siklus
pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya
menggunakan satu referensi memori utama sehingga lebih cepat daripada mode
pengalamatan tidak langsung
C. Pengenalan Displacement Addressing dan Stack
Addresing
Displacement Addressing adalah menggabungkan kemampuan pengalamatan langsung dan pengalamatan register
tidak langsung. Mode ini mensyaratkan instruksi
memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
Field eksplisit bernilai A dan field implisit
mengarah pada register.
Ada tiga
model displacement : Relative addressing, Base
register addressing, Indexing
Relative addressing
Register yang direferensi secara implisit adalah
progra counter (PC)
•
Alamat
efektif relative addresing didapatkan dari alamat instruksi saat itu
ditambahkan ke field alamat
•
Relativ
addressing memanfaatkan konsep
lokalitas memori untuk menyediakan operand-operand berikutnya
Base register addresing, register yang
direferensi berisi sebuah alamat memori, dan field alamat berisi perpindahan
dari alamat itu
•
Referensi
register dapat eksplisit maupun implisit
•
Memanfaatkan
konsep lokalitas memori
Indexing adalah field alamat
mereferensi alamat memori utama, dan register yang direferensikan berisi
pemindahan positif dari alamat tersebut
•
Merupakan
kebalikan dari mode base register
•
Field
alamat dianggap sebagai alamat memori dalam indexing
•
Manfaat
penting dari indexing adalah untuk eksekusi program-program iterative
Stack
adalah array lokasi yang
linier = pushdown list = last-in-first-out. Stack
merupakan blok lokasi yang terbalik. Butir
ditambakan ke puncak stack sehingga setiap saat blok akan terisi secara parsial.
Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat
bagian paling atas stack. Dua elemen teratas stack dapat berada di dalam
register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga
stack. Stack pointer tetap berada dalam register
Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya
merupakan pengalamatan register tidak langsung.
Mode pengalamatan adalah bagaimana cara
menunjuk dan mengalamati suatu lokasi memori pada sebuah alamat di mana operand akan diambil. Mode pengalamatan
ini meliputi :
1. Direct Addresing
Dalam mode pengalamatan direct addressing, harga yang akan dipakai
diambil langsung dalam alamat memori lain.
2. Indirect Addresing
Mode ini pula
satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada
keluarga 8052.
3. Immediate Addresing
Mode ini
sangatlah cepat karena harga yang dipakai langsung tersedia.
Register adalah
merupakan sebagian memori dari mikro prosessor yang dapat diakses dengan
kecepatan tinggi. Metode pengalamatan register ini mirip dengan
mode pengalamatan langsung. Perbedaannya terletak pada field alamat yang
mengacu pada register, bukan pada memori utama. Indirect Addressing merupakan
metode pengalamatan register tidak
langsung mirip dengan mode pengalamatan tidak langsung Perbedaannya adalah field alamat mengacu pada
alamat register. Displacement
Addressing adalah menggabungkan kemampuan pengalamatan langsung
dan pengalamatan register tidak langsung. Ada tiga model displacement yaitu : Relative addressing, Base register addressing, Indexing. Stack adalah array lokasi yang linier = pushdown list
= last-in-first-out. Stack merupakan blok lokasi yang terbalik.