BAB IV MODE PENGALAMATAN

Download Report

Transcript BAB IV MODE PENGALAMATAN

BAB IV
MODE PENGALAMATAN
RIZAL SURYANA
SISTEM MIKROPROSESOR
TEKNIK ELEKTRO
UNJANI
Mode Pengalamatan Pada uP 8088
• Merupakan cara memberikan perintah
transfer/pemindahan data dari lokasi satu ke
lokasi lainnya.
• Lokasi pemindahan data dapat meliputi:
register, alamat memori, maupun piranti I/O
• Pemrogram (manusia) menulis instruksi
dalam format assembly, selanjutnya oleh
compiler (program) diubah menjadi format
heksadesimal dan disimpan dalam memori.
Level Kode
Format Assembly
Format
Heksadesimal
Level Manusia
Level Mesin
Lokasi Pemindahan Data
Lokasi
register
MP
Lokasi memori
ROM
RAM
BUS ALAMAT
BUS DATA
BUS KONTROL
Lokasi I/O
I/O Interface
Mode Pengalamatan
• Ada dua cara yang biasa digunakan dalam
penempatan operand instruksi yaitu pada
lokasi memori utama dan register CPU
• Jika operand ditempatkan pada memori
utama, alamat lokasi harus diberikan oleh
instruksi dalam medan operand
• Banyak metode yang berguna yang dipakai
untuk menentukan alamat operand
• Mode yang berbeda dalam penentuan alamat
operand pada instruksi dikenal dengan
addressing mode (mode pengalamatan)
TEKNIK PENGALAMATAN
•
•
•
•
•
•
•
Immediate Addressing
Direct Addressing
Indirect Addressing
Register Addressing
Register Indirect Addressing
Displacement Addressing
Stack Addressing
Immediate Addressing
Immediate addressing merupakan mode pengalamatan yang
digunakan untuk mengisi suatu register dengan data.
Bentuk:
MOV
TUJUAN:
REGISTER/
AKUMULATOR
AL,#5H
SUMBER:
DATA
Arti: isilah atau copy 5 heksadesimal ke register AL
Immediate Addressing
MOV
MOV
MOV
MOV
AL,#15H
BL,#21H
CX,#1A2BH
DX,#5678H
Keuntungan dan Kekurangan
• Keuntungan
– Tidak adanya referensi memori selain dari intruksi
yang diperlukan untuk memperoleh operand
– Menghemat siklus instruksi sehingga prosses
keseluruhan akan cepat
• Kekurangan
– Ukuran Bilangan dibatasi oleh ukuran field alamat
Register untuk Immediate Addressing
• Register data  AX,BX,CX,DX,
BP,SP,SI,DI
• Register segmen tidak dapat
menggunakan Immediate Addressing
• Alamat Memori tidak dapat diisi dengan
Immediate Addressing
Direct Addressing
Direct addressing merupakan mode pengalamatan untuk
mentransfer data antar memori dan register
Bentuk 1:
MOV
TUJUAN:
REGISTER
AL,[0120]
SUMBER: ALAMAT
RELATIF MEMORI
Arti: copy data pada alamat relatif memori 0120 ke
register AL
Contoh Bentuk 1:
Susun instruksi assembly untuk memindahkan/copy isi
alamat 10120 heksadesimal ke register AL, isi alamat
10150 heksadesimal ke register BL, dan isi alamat 10160
heksadesimal ke register CL!
MOV
MOV
MOV
AL,[0120]  direct addressing
BL,[0150]  direct addressing
CL,[0160]  direct addressing
Bentuk 2:
MOV
[0120],AL
TUJUAN: ALAMAT
RELATIF MEMORI
SUMBER:
REGISTER
Contoh: susun instruksi untuk mengisi alamat
10120 dengan data 5 heksadesimal
Jawab:
MOV AL,5
MOV [0120],AL
IMMEDIATE ADDRESSING
DIRECT ADDRESSING
Indirect Addressing
Merupakan mode pengalamatan untuk mentransfer
DATA/byte/word antar register dan lokasi yang alamatnya
ditunjukkan oleh isi suatu register.
Contoh
MOV [BX], AX  Pindahkan isi register AX ke
dalam alamat memori yang
ditunjukkan oleh isi
register BX
Contoh permasalahan
Susunlah intruksi ke dalam bahasa assembly untuk memindahkan
data A1B2 yang ada di register AX ke alamat fisik memori 20300
heksadesimal menggunakan mode pengalamatan register indirect,
anggap segment yang digunakan adalah DS = 2000 dan alamat
relatif yang menunjukkan alamat memory disimpan di register BX
Jawab:
DS : IP = 20300  alamat fisik
DS = 20000  alamat awal DS
IP = 0300
DIRECT:
Intruksi yang digunakan
MOV AX, 2000
MOV AX, 2000
MOV DS, AX
MOV DS, AX
MOV AX, A1B2
MOV BX, 0300
MOV [0300], AX
MOV AX, A1B2
MOV [BX], AX
Register Addressing
• Digunakan untuk memindahkan data dari
register ke register tujuan
• ukuran data byte atau word
Register Relative Addressing (displacement)
Yaitu mode pengalamatan untuk tranfer byte/word antar
register dan memori yang alamatnya ditunjukkan oleh isi
suatu register dan jaraknya (displacement)
Contoh
MOV [BX + 4], AX
Muchlas, Mode Pengalamatan
Mikroprosesor
18
Stack Addressing
• Stack Pointer (SP)  memori tempat
menyimpan isi register 16 bit yang hanya
berkaitan dengan operasi PUSH dan POP.
• Operasi PUSH dan POP menyimpan dan
mengambil isi register BC, DE, HL, IX, IY
dan AF
Muchlas, Mode Pengalamatan
Mikroprosesor
19
Contoh
•
•
•
•
•
•
•
MOV SP,1980H
MOV DE, #1850H
MOV BC, #AAFEH
PUSH DE
PUSH BC
POP HL
POP IX
Muchlas, Mode Pengalamatan
Mikroprosesor
20
• Sebelum dilakukan Instruksi PUSH dan
POP isi register SP = 1980H
• Setelah PUSH DE, isi Register D disimpan
di memori dengan alamat 197FH dan isi
Register E pada alamat 197EH
• Register SP menggeser alamatnya sebanyak
2 kali ke bawah sehingga isi register SP =
197EH
• Address 197FH = 18H dan 197EH = 50H
Muchlas, Mode Pengalamatan
Mikroprosesor
21
• Setelah PUSH BC, isi Register B disimpan
di memori dengan alamat 197DH dan isi
Register C pada alamat 197CH
• Register SP menggeser alamatnya sebanyak
2 kali ke bawah sehingga isi register SP =
197CH
• Address 197DH = AAH dan 197CH = FEH
Muchlas, Mode Pengalamatan
Mikroprosesor
22
• Setelah POP HL, isi Register L menjadi FEH
dan isi Register H menjadi AAH
• Register SP menggeser alamatnya sebanyak 2
kali ke atas sehingga isi register SP = 197EH
• Isi memori yang addressnya 197CH dan
197DH sudah berubah dan bukan FEH maupun
AAH
• Register HL menjadi berisi AAFEH
• Isi address menjadi 197FEH dan 197EH bukan
lagi 18H dan 50H
• Isi address memori 197DH dan 197CH bukan
lagi AAH dan FEH
• Setelah POP IX berlangsung, maka isi
register IX menjadi berisi 1850H dan
regsiter SP menggeser kembali berisi
1980H
• Pada uP Z-80 register SP tidak harus di-set,
karena pada uP Z-80 register SP sudah diset oleh program ROM yang ada pada
address 1F9FH