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 Heksadesimal Format Assembly Level Manusia Level Mesin
Lokasi Pemindahan Data Lokasi memori Lokasi I/O Lokasi register MP ROM RAM I/O Interface BUS ALAMAT BUS DATA BUS KONTROL
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 MOV AL,#5H Bentuk: Immediate addressing merupakan mode pengalamatan yang digunakan untuk mengisi suatu register dengan data. Bentuk: MOV AL,#5H TUJUAN: REGISTER/ AKUMULATOR SUMBER: DATA Arti: isilah atau copy 5 heksadesimal ke register AL
Immediate Addressing MOV AL,#15H MOV BL,#21H MOV CX,#1A2BH MOV DX,#5678H
Keuntungan dan Kekurangan 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
Bentuk 1: MOV AL,[0120] Direct Addressing Direct addressing merupakan mode pengalamatan untuk mentransfer data antar memori dan register Bentuk 1: MOV AL,[0120] TUJUAN: REGISTER 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 AL,[0120] direct addressing MOV BL,[0150] direct addressing MOV CL,[0160] direct addressing
Bentuk 2: MOV [0120],AL SUMBER: REGISTER TUJUAN: ALAMAT RELATIF MEMORI Contoh: susun instruksi untuk mengisi alamat 10120 dengan data 5 heksadesimal
Jawab: MOV AL,5 IMMEDIATE ADDRESSING MOV [0120],AL 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 Intruksi yang digunakan MOV AX, 2000 MOV DS, AX MOV BX, 0300 MOV AX, A1B2 MOV [BX], AX DIRECT: MOV AX, 2000 MOV DS, AX MOV AX, A1B2 MOV [0300], 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
Muchlas, Mode Pengalamatan Mikroprosesor 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
Muchlas, Mode Pengalamatan Mikroprosesor Contoh MOV SP,1980H MOV DE, #1850H MOV BC, #AAFEH PUSH DE PUSH BC POP HL POP IX Muchlas, Mode Pengalamatan Mikroprosesor
Muchlas, Mode Pengalamatan Mikroprosesor 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
Muchlas, Mode Pengalamatan Mikroprosesor 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
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 di-set oleh program ROM yang ada pada address 1F9FH