Anda di halaman 1dari 8

TUGAS 2

ORGANISASI DAN ARSITEKTUR KOMPUTER

Nama : Riko Erfianto

Program Studi : Teknik Informatika

Kelas : TF-A

NPM : 1234010002

RESUME

JENIS – JENIS PENGALAMATAN DALAM KOMPUTER

Sumber :
http://ndoware.com/mode-pengalamatan-8051.html
aqwamrosadi.staff.gunadarma.ac.id/Downloads/files/12687/ADDRESSING%2BMODES.doc
staffsite.gunadarma.ac.id/supriyan/index.php?stateid=download&id=9815&part=files
agfi.staff.ugm.ac.id/pdf/sampel_asm03.pdf

Pengalamatan / Mode pengalamatan adalah cara bagaimana arsitektur menentukan alamat


dari suatu obyek yang diinginkan untuk diakses/ atau juga berarti Mode pengalamatan adalah
menjabarkan cara bagaimana operan di diakses dengan instruksi.

1. Pengalamtan Register (Register addressing)


Register Addressing / pengalamatan register adalah suatu proses pengcopyan data antar
register. Dan pengalamatan ini paling mudah memakainya karena paling dikenal. Pengcopyan
antar register ini harus digunakan register yang berukuran sama (8 bit, 16 bit, 32 bit). Perlu
diketahui bahwa penggabungan register berukuran berbeda seperti 8 & 16 bit, 8 & 32 bit, 16
& 32 bit tidak diijinkan oleh mikroprosesor karena hasilnya akan mengeluarkan pesan
kesalahan pada saat dilakukan perakitan.seperti AL dan BL, CX dan AX. Berikut tabel nya:
Assembly Language Size
AL,BL 8-bits
CH,CL 8-bits
AX, CX 16-bits
SP, BP 16-bits
DS, AX 16-bits
SI, DI 16-bits
BX, ES 16-bits
ECX, EBX 32-bits
ESP, EDX 32-bits
Contoh MOV AX,BX berarti memindahkan nilai kata yang terkandung dalam register BX
kedalam register AX.

2. Pengalamatan segera (immediate addressing)


Pengalamatan segera memungkinkan penggunaan data segera (konstan) sebagai bagian dari
instruksi. Sebagai contoh, instruksi MOV A, #45H, akan menyimpan data 45H konstan atau
segera di dalam akumulator. Istilah segera bermaksud menyatakan bahwa data segera
mengikuti kode operasi heksadesimal dalam memori. Contohnya: ADD AL,8 bermaksud
memindahkan nilai konstanta 8 ke register AL

3. Pengalamat langsung (direct addressing)


Pengalamatan data langsung dibagi menjadi 2 yaitu
 Pengalamatan langsung yang menggunakan instruksi MOV antara lokasi memori dan AL,
AX atau EAX.
 Pengalamatan displacement yang digunakan pada hampir semua instruksi dalam
kumpulan instruksi.
Seperdi tabel dibawah ini

EAX AH AL Memory
8AH 8AH
8AH 11234H
EBX 11233H
ECX 11232H

Tabel diatas adalah instruksi MOV AL,[1234H] ketika DS = 1000H

Untuk lebih jelasnya bisa dilihat pada tabel dibawah


Assembly Language Size Operation
MOV AL,NUMBER 8-bits Menyalin isi bit dari lokasi
memori segmen data
NUMBER ke AL
MOV AX,COW 16-bits Menyalin isi kata dari
lokasi memori segmen
data COW ke AX
MOV EAX,WATER 32-bits Menyalin kata dobel dari
lokasi memori WATER ke
EAX

4. Pengalamatan register tak langsung (register indirect addressing)


Pengalamatan register tidak langsung memungkinkan data dialamatkan pada lokasi memori
melalui offset yang ditunjukkan oleh setiap regiater : BP, BX, DI, and SI.
Register Indirect Addressing biasanya digunakan untuk mengakses suatu data yang banyak
dengan mengambil alamat efektive dari data tersebut. Register- register yang bisa digunakan
pada addressing ini adalah BX,BP,SI dan DI. Tetapi bila anda memrogram pada prosesor
80386(Dengan menambahkan directive .386) maka semua register general purpose bisa
dipakai. Untuk mendapatkan alamat efektive dari suatu data bisa digunakan perintah
LEA(Load Effective Addres) dengan syntax : LEA Reg,Data Untuk mengakses data yang
ditunjukkan oleh register Reg, setelah didapatkannya alamat efektive harus digunakan tanda
kurung siku ('[]'). Jika pada perintah pengaksesannya tidak disebutkan segmennya, maka yang
digunakan adalah segment default. Seperti bila digunakan register BX sebagai penunjuk offset,
maka segment DS yang digunakan. Sebalikkan bila digunakan register BP sebagai penunjuk
offset, maka segment SS yang digunakan.
Dalam beberapa kasus, pengalamatan tidak langsung memerlukan ukuran data khusus yang
ditetapkan dengan direktif assembler khusus BYTE PTR, WORD PTR or DWORD PTR Direktif ini
menunjukkan ukuran data memori yang dialamatkan oleh penunjuk memori (PTR)n
Pengalamatan tidak langsung sering digunakan untuk menunjukkan data tabular dalam system
memori

Sebuah Array
(TABLE) memuat 50 bit
yang tidak langsung
ditujukan melalui
register BX

5. Pengalamatan Relatif
Dasar (base relative addressing)
Jenis addressing ini biasanya digunakan untuk mengakses suatu tabel dengan mengambil
alamat efektivenya. Alamat efektive dari tabel tersebut nantinya digunakan sebagai patokan
untuk mengakses data yang lain pada tabel tersebut. Register yang digunakan sebagai
penunjuk alamat efektive ini adalah register BX,BP,SI dan DI. Pada mode pengalamatan ini,
alamat efektif dihitung dengan cara menjumlahkan nilai pergerseran dengan isi register dasar
BX atau BP. Perhatikan contoh program berikut ini:
; nama berkas: program0303.asm
; program contoh
; mode pengalamatan relatif dasar
;
#make_COM#

ORG 100h

start:
MOV BX,010AH ; BX diisi dulu
MOV DX,[BX]+2 ; mode relatif dasar
INT 20H
Pada tabel diatas, register BX diisi dengan nilai 010Ah terlebih dahulu, kemudian lokasi
memori yang ditunjuk oleh [BX]+2 yaitu 010Ah+2 atau 010Ch disalin ke register DX. Selain cara
penulisan seperti pada contoh program tersebut, Anda bisa juga menuliskan dengan cara:

MOV DX,2[BX] ; seperti ini


atau
MOV DX,[BX+2] ; seperti ini

6. Pengalamatan
Langsung Terindeks (direct indexed addressing)
Dengan mode pengalamatan langsung terindeks, alamat efektif merupakan jumlah dari
pergeseran dengan register indeks SI atau DI. dengan contoh program berikut ini:
; nama berkas: program0304.asm
; program contoh
; mode pengalamatan langsung terindeks
;
#make_COM#

; COM file is loaded at CS:0100h


ORG 100h

JMP START

TABEL DB 45H,23H,12H ; pertama indeks-nya 0

START:
MOV DI,2 ; disalin indeks ke-2
MOV AL,TABEL[DI] ; ke register AL
INT 20H

Pertama didefinisikan terlebih dahulu data TABEL, yaitu 45h, 23h dan 12h. Data pertama
berindeks 0 dan akan disalin data yang ketiga atau berindeks 2 ke register AL (melalui register
DI yang diisi 2). Melalui emulator terlihat bahwa TABEL diberikan lokasi 0102h hingga 0104h,
Hasil eksekusi program ini berupa isi register AL yang berubah menjadi 12h).
7. Pengalamatan Dasar
Terindeks (Base Indexed Addressing)
Jenis addressing ini biasanya digunakan untuk mengakses suatu record atau suatu array 2
dimensi. Dalam mode pengalamatan ini (dasar terindeks), alamat efektif merupakan jumlahan
register dasar, register indeks dan (opsional) pergeseran. Mode pengalamatan ini sangat
cocok untuk akses data larik dua dimensi. Seperti pada contoh dibawah ini

; nama berkas: program0305.asm


; program contoh
; mode pengalamatan dasar terindeks
;
#make_COM#
; COM file is loaded at CS:0100h
ORG 100h
JMP START
TABEL DB 45H,23H,12H,56H,89H ; pertama indeks-nya 0
START:
MOV DI,2 ; disalin indeks ke-2
MOV BX,1 ; salin indeks ke-1
MOV AL,TABEL[DI+BX+1] ; ke register AL
INT 20H
Dalam tabel diatas diperpanjang hingga 5 data (dari indeks 0 sampai 4). Register indeks yang
digunakan adalah DI (dengan diisi 2), reister dasar yang digunakan adalah BX (dengan diisi 1)
kemudian pergeseran diisi dengan 1, sehingga total indeks yang digunakan adalah 2+1+1 = 4
atau data ke-5. Setelah program dijalankan, register AL akan berisi 89H
Soal & Jawaban no. 1.1; 1.2; 1.3 (Bab 1 Hamacher)

1.1. Buatlah daftar instruksi yang diperlukan untuk menjalankani instruksi mesin dibawah ini

Add LOCA,R0

Dalam kondisi mentransfer antara komponen seperti pada gambar 1.2. Asumsikan bahwa
instruksi itu sendiri tersimpan di memori lokasi INSTR ( melalui siklus instruksi ) serta pada
mulanya alamat ini adalah di register PC (program counter). Dua langkah pertama mungkin
seperti ini:
 Transfer isi dari register PC ke register MAR
 Kemudian akan membaca perintah ke memori, dan kemudian menunggu sampai
perintah tersebut telah ditransfer ke register MDR
Perlu diketahui bahwa untuk memasukkan langkah yang diperlukan untuk mengupdate
isi PC dari yang tadinya INSTR harus diubah ke INSTR+1 sehingga langkah berikutnya
dapat berjalan.

Jawab :
 Siklus fetch (siklus penjemputan):

MAR  [PC]
Masukkan isi dari register PC ke register MAR

Increment PC, READ


Membaca perintah instruksi ke dalam memori, dan memasukkan instruksi tersebut kedalam
MDR

IR  [MDR]
Mentransfer Instruksi dari MDR ke IR setelah itu akan dibaca

Siklus Execution (siklus Eksekusi):

MAR  IR atau MAR  LOCA


Mentransfer alamat LOCA dari IR ke MAR

READ
Perintah akan dibaca setelah itu akan diproses di MDR

ALU  [MDR]
Mentransfer isi dari MDR ke ALU(ALU digunakan untuk proses perhitungan)

ALU  [R0]
Mentransfer isi dari MDR ke ALU
R0  MDR + [R0]
Melakukan penambahan dari dua operan yaitu MDR dan R0 dan hasilnya diletakkan di R0

ALU  [PC]
Mentransfer konten dari PC ke ALU

PC  ALU + 1
Menambahkan 1 operan untuk ALU dan mentransfer increment address ke PC

1.2. Ulangi pertanyaan no 1.1 diatas untuk menjalankan instruksi mesin dibawah ini:

Add R1,R2,R3

Dimana sudah dijelaskan di bagian 1.6.3

Jawab :
 Siklus fetch (siklus penjemputan):

MAR  [PC]
Masukkan isi dari register PC ke register MAR

Increment PC, READ


Membaca perintah instruksi ke dalam memori, dan memasukkan instruksi tersebut kedalam
MDR

IR  [MDR]
Mentransfer Instruksi dari MDR ke IR setelah itu akan dibaca

Siklus Execution (siklus Eksekusi):

ALU  R1 + R2
Mentransfer isi dari R1 dan R2 ke ALU (ALU digunakan untuk proses perhitungan)

R3  ALU
R1 dan R2 ditambahkan, dan hasilnya dismpan ke R3

ALU  [PC]
Mentransfer konten dari PC ke ALU

PC  ALU + 1
Menambahkan 1 operan untuk ALU dan mentransfer increment address ke PC
1.3. A. Berikan sebuah urutan singkat instruksi mesin untuk mekakukan tugas yaitu: “Tambakan isi
dari memori A ke memori B, dan tempatkan hasil tersebut ke memori C”
Instruksi

Load LOC,Ri
Dan
Store Ri,LOC

Adalah satu satunya instruksi yang tersedia untuk mentransfer data antara memori ke dalam
register Ri . Tambahkan instruksi yang telah dijelaskan di bagian 1.3 dan 1.6.3. serta Tidak
boleh menghapus isi konten A dan isi konten B.

B. Semisal instruksi Move dan Add tersedia dalam format dibawah ini:

Move/Add Location1,Location2

Instruksi tersebut melakulan “Move” atau menambahkan “Copy” dari lokasi pertama ke lokasi
kedua, menimpa operan asli pada lokasi kedua. Lokasi i bisa berarti memori atau set register
processor. Pertanyaannya apakah mungkin bisa untuk menggunakan lebih sedikit instruksi
untuk menyelesaikan pertanyaan 3.A diatas? Jika iya, berikan urutan-urutannya

Jawab :

A. Load A, R0
isi dari A disalin ke R0

Load B, R1
Isi dari B disalin ke R1

Add R0,R1
R0 dan R1 ditambahkan, dan hasilnya disimpan ke R1

Store R1,C
Menyimpan hasil dari R1 ke C

B. Bisa/ Iya

Dengan cara:

Move B,C
Memindahkan isi dari B ke C

Add A,C
Menambahkan A + C dan hasilnya disimpan di C

Anda mungkin juga menyukai