Mode Pengalamatan
- Mengurangi panjang instruksi dengan mempunyai medan yang pendek untuk alamat.
- Menyediakan bantuan yang tangguh kepada pemrogram untuk penanganan data kompleks seperti pengindeksan sebuah array, control loop, relokasi program dan sebagainya.
- Immediate Addressing
- Direct Addressing
- Indirect Addressing
- Register addressing
- Register indirect addressing
- Displacement addressing
- Stack addressing
A. Immediate Addressing (Pengalamatan Segera)
Adalah bentuk pengalamatan yang paling sederhana.
Penjelasan :
- Operand benar-benar ada dalam instruksi atau bagian dari intsruksi
- Operand sama dengan field alamat
- Umumnya bilangan akan disimpan dalam bentuk complement dua
- Bit paling kiri sebagai bit tanda
- Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data
- Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
- Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat
- Ukuran bilangan dibatasi oleh ukuran field
ADD 7 ; tambahkan 7 pada akumulator
B. Direct Addressing (Pengalamatan Langsung)
Penjelasan :
- Teknik ini banyak digunakan pada komputer lama dan komputer kecil
- Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
- Field alamat berisi efektif address sebuah operand
- Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
ADD A ; tambahkan isi pada lokasi alamat A ke akumulator
C. Indirect Addressing (Pengalamatan tak langsung)
Penjelasan :
- Merupakan mode pengalamatan tak langsung
- Field alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang
- Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
- Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator
D. Register addressing (Pengalamatan Register)
Penjelasan :
- Metode pengalamatan register mirip dengan mode pengalamatan langsung
- Perbedaanya 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
- Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
- Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat
- Ruang alamat menjadi terbatas
E. Register indirect addressing (Pengalamatan tak-langsung register)
Penjelasan :
- 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
- Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya 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
F. Displacement addressing
Penjelasan :
- Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung
- Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
- Operand berada pada alamat A ditambahkan isi register
- Tiga model displacement
- Relative addressing : register yang direferensi secara implisit adalah Program Counter (PC)
- Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat
- Memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya
- Base register addressing : 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 : 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-pprogram iteratif
- Relative addressing : register yang direferensi secara implisit adalah Program Counter (PC)
Field eksplisit bernilai A dan field imlisit mengarah pada register
G. Stack addressing
Penjelasan :
- Stack adalah array lokasi yang linier = pushdown list = last-in-firs-out
- Stack merupakan blok lokasi yang terbaik
- Btir ditambahkan ke puncak stack sehingga setiap 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