Addressing
Modes adalah Cara /
mode di mana letak (alamat) operand atau data dari suatu instruksi
ditentukan.
Jenis Addressing Modes:
Operand
berada di register CPU.
Nama
register tsb diberikan pada instruksi.
Contoh
: Move R2, R1
2.
Absolute (direct) mode.
Operand
berada di lokasi memory.
Alamat
lokasi ini diberikan secara eksplisit
pada instruksi.
Contoh
: Move 200, 100
Memindahkan
isi memori alamat 200 ke alamat 100
3.
Immediate Mode.
ü
Operand
diberikansecaraeksplisitpadainstruksi.
ü
Mode
inidigunakanutkmenentukankonstanta address dan data dalam program.
Contoh : Move R0, 200 (Immediate)
menempatkannilai 200 dalam register R0
Dlmbhs Assembly, instruksitsbditulissbg:
Move R0, #200
4.
Indirect
Mode.
ü
Effective
address dari operand beradadalam register ataulokasi memoryutama, yang
addressnyamunculdalaminstruksi.
ü
Indirection
ditunjukkandenganmenempatkannama register atau memory address dlmtandakurung.
5.
Index
Mode.
ü Effective
address dari operand dihasilkan dengan
menjumlahkan suatu nilai konstanta dengan isi suatu register
ü Index
berada dalam suatu register, baik Special Purpose Register ataupun salah satu
dr General Purpose Register, dinamakan index register.
Dua mode yg berguna utk
mengakses data item pada lokasi yg berurutan dlm memory:
1.
Autoincrement
mode:
Effective
address dari operand adalah isi suatu register yg ditentukan dlm instruksi.
Setelah mengakses operand, isi register ini di inkremen utk menunjukkan item
berikutnya dlm suatu list.
Misal: (R4)+
Mode ini memungkinkan utk
menghilangkan instruksi.
Contoh
Autoincrement addressing mode yg digunakan dlm program penjumlahan beberapa
bilangan.
Move R1,N
Move R2,#NUM1
Clear R0
LOOP Add R0,(R2)+
Decrement R1
Branch > 0 LOOP
Move SUM,R0
2. Autodecrement
mode
Isi
suatu register yang ditentukan dlm instruksi di decremen. Isi ini kemudian
digunakan sebagai effective address operand.
Misal: - (R4)
-
Mode ini memungkinkan utk meng akses operand dg urutan address descending.
-
Jadi 2 mode ini dilakukan dg menggunakan 2 instruksi. Dg menggabungkan 2
operasi tsb dlm 1 instruksi maka dapat mengurangi jumlah instruksi yg
diperlukan utk melakukan suatu tugas.
Soal.
Register
R1 dan R2 sebuah komputer berisi nilai
desimal 1200 dan 4600. Tentukan effective address dan isi tiap register yang
terlibat setelah pelaksanaan tiap instruksi di bawah ini yg dilakukan secara
sekwensial:
Mov R5,20(R1)
Load R5,#3000
Store 30(R1,R2),R5
Add R5,-(R2)
Sub R5,(R1)+
No comments:
Post a Comment