Definisi: Mikroprosesor adalah suatu chip (IC=integrated circuits) yang di dalamnya terkandung rangkaian ALU (arithmetic-logic unit), rangkaian CU (control unit), dan register-register. Mkroprosesor disebut juga dengan CPU (Central Processing Unit)
ALU: menyediakan fungsi pengolahan
CU: mengontrol fungsi prosesor
Register: penyimpan sementara dalam mikroprosesor
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Mp 4 mode-pengalamatan
1. Mikroprosesor
Bab 4: Mode Pengalamatan
(Addressing Mode)
KELUARGA INTEL 8086
SIMULATOR SMS32V23
Muchlas, Mode Pengalamatan
Mikroprosesor
1
2. Program DEBUG
• DEBUG merupakan program yang berjalan di atas
sistem operasi DOS yang dapat digunakan untuk
mengeksplorasi resources yang dimiliki prosesor
8086. Menjalankan DEBUG:
C:DEBUG
• Melalui DEBUG kita dapat menulis instruksi
assembly, menjalankan instruksi assembly, melihat
isi register, melihat isi memori maupun memodifikasi
isi memori.
Muchlas, Mode Pengalamatan
Mikroprosesor
2
3. Program DEBUG
BX=00 00
CX=00 00
Muchlas, Mode Pengalamatan
Mikroprosesor
3
• Setelah program DEBUG dijalankan, Ketik R untuk
melihat isi register!
AX=00 00
AL (8-bit)
AH (8-bit)
BL (8-bit)
BH (8-bit)
DX=00 00
CL (8-bit)
CH (8-bit)
DL (8-bit)
DH (8-bit)
Register serbaguna mikroprosesor 8086 dilihat dengan program DEBUG
4. Register-register khusus (special purpose) mikroprosesor
8086 dilihat dengan program DEBUG:
SOURCE INDEX
CODE SEGMENT INSTRUCTION
Muchlas, Mode Pengalamatan
Mikroprosesor
4
STACK POINTER
BASE POINTER
DESTINATION
INDEX
EXTRA SEGMENT
DATA SEGMENT
STACK SEGMENT
POINTER
5. Register-register bendera mikroprosesor 8086 dilihat dengan
program DEBUG:
Muchlas, Mode Pengalamatan
Mikroprosesor
5
•Bendera Overflow: NV (No oVerflow, reset), OV (Overflow, set)
•Bendera Sign: PL (PLus, reset), NG (NeGative, set)
•Bendera Zero: NZ (No Zero, reset), ZR (ZeRo, set)
•Bendera Auxiliary Carry: NA (No Aux., reset), AC (Aux. Carry, set)
•Bendera Parity: PO (Parity Odd, reset), PE (Parity Even, set)
•Bendera Carry: NC (No Carry, reset), CY (Carry, set)
6. Melihat isi memori dengan program DEBUG:
Setelah program DEBUG dijalankan, Ketik D untuk melihat
isi memori!
Muchlas, Mode Pengalamatan
Mikroprosesor
6
Alamat relatif
100H
Alamat relatif
10FH
7. Bahasa Pemrograman
• High Level Language (HLL): bahasa
pemrograman yang menggunakan variabel
sebagai peyimpan data. Contoh:
pemrograman Matlab untuk menghitung 5+2:
A=5;
B=2;
A=A+B;
A, B, dan C adalah variabel. Contoh HLL
yang lain: Pascal (Delphi), dan C++.
Muchlas, Mode Pengalamatan
Mikroprosesor
7
8. Bahasa Pemrograman
• Low Level Language (assembly): bahasa
pemrograman yang menggunakan register
sebagai peyimpan data. Contoh:
pemrograman untuk menghitung 5+2:
MOV AL,5
ADD AL,2
AL adalah register
Muchlas, Mode Pengalamatan
Mikroprosesor
8
9. Level Kode
Format Assembly Format
Heksadesimal
Level Manusia Level Mesin
Muchlas, Mode Pengalamatan
Mikroprosesor
9
10. Format instruksi assembly
LABEL OPCODE OPERAND COMMENT
Contoh: MOV AL,5
LDAA #$5
1. Baris pertama adalah instruksi mesin 2 alamat seperti
INTEL, artinya pindahkan/isikan (MOV) ke dalam
register AL bilangan 5 heksadesimal
2. Baris kedua instruksi mesin 1 alamat seperti
MOTOROLA, atinya pindahkan/isikan ke dalam
Register A bilangan 5 heksadesimal.
Muchlas, Mode Pengalamatan
Mikroprosesor
10
11. Mode Pengalamatan
Pada Mikroprosesor Keluarga 8086
• 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.
Muchlas, Mode Pengalamatan
Mikroprosesor
11
12. Lokasi Pemindahan Data
MP ROM RAM
BUS ALAMAT
BUS DATA
BUS KONTROL
I/O Interface
Pengertian Mikroprosesor 12
Lokasi
register
Lokasi memori Lokasi I/O
13. I. Mode Pengalamatan Segera
(Immediate Addressing)
Immediate addressing merupakan mode pengalamatan yang
digunakan untuk mengisi suatu register dengan data.
Bentuk:
MOV AL,5
SUMBER:
DATA
TUJUAN:
REGISTER/
AKUMULATOR
Muchlas, Mode Pengalamatan
Mikroprosesor
13
Arti: isilah atau copy 5 heksadesimal ke register AL
14. Untuk mempelajari mode pengalamatan dapat digunakan
program DEBUG. Jalankan program DEBUG, kemudian
berikan perintah A untuk menulis program assembly. Tulis
program assembly seperti berikut ini!
Muchlas, Mode Pengalamatan
Mikroprosesor
14
MOV AL,15
MOV BL,21
MOV CX,1A2B
MOV DX,5678
Setelah program ditulis, coba jalankan ke-4 instruksi tersebut
dengan memberi perintah trace dengan mengetik T diikuti
ENTER sebanyak 4 kali!
Jika tugas di atas dilakukan dengan benar, maka hasilnya
adalah:
15. Muchlas, Mode Pengalamatan
Mikroprosesor
Terlihat bahwa isi
register AL=15, isi
register BL=21, isi
register CX=1A2B
dan isi register
DX=5678.
15
16. Muchlas, Mode Pengalamatan
Mikroprosesor
16
Selanjutnya, lihat isi memori dengan perintah D, akan
terlihat:
Dari gambar di atas, terlihat kode:
B0 15 B3 21 B9 2B 1A BA 78 56, hal itu menunjukkan
kode-kode keempat instruksi di atas dalam format
heksadesimal. Dalam hal ini: MOV AL,15 memiliki kode
heksadesimal B0 15 menempati alamat memori 0100 dan
0101, sedangkan B3 21 adalah kode heksadesimal untuk
instruksi MOV BL,21 dan menempati alamat memori 0102
dan 0103 dan seterusnya.
17. Contoh Lain Mode Pengalamatan
Segera:
• MOV AX,A1B2 apa artinya?
• MOV BL,03 apa artinya?
• MOV BP,1234 apa artinya?
• Register yang dapat diisi data dengan mode
pengalamatan segera:
AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH,
BP,SP,SI,DI
• Register segmen tidak dapat diisi dengan mode
pengalamatan segera
• Alamat memori juga tidak dapat diisi secara
immediate
Muchlas, Mode Pengalamatan
Mikroprosesor
17
18. II. Mode Pengalamatan Register
(Register Addressing)
Register addressing adalah mode pengalamatan yang
digunakan untuk mentransfer data (byte/word) dari register
sumber ke register tujuan.
Bentuk:
MOV AL,BL
SUMBER:
REGISTER
TUJUAN:
REGISTER
Muchlas, Mode Pengalamatan
Mikroprosesor
18
Arti: copy isi register BL ke register AL
19. Contoh Mode Pengalamatan Register:
• MOV AL, BL Þ apa artinya?
• MOV AX, CX Þ apa artinya?
• MOV CS, AX Þ apa artinya?
• MOV CS, DS Þ tidak diijinkan karena
segment to segment
• MOV BL, BX Þ Tidak dijinkan karena
berbeda ukuran (mixed size)
Muchlas, Mode Pengalamatan
Mikroprosesor
19
21. III. Mode Pengalamatan Langsung
(Direct Addressing)
Direct addressing merupakan mode pengalamatan untuk
mentransfer data antar memori dan register
Bentuk 1:
MOV AL,[0120]
SUMBER: ALAMAT
RELATIF MEMORI
Muchlas, Mode Pengalamatan
Mikroprosesor
21
TUJUAN:
REGISTER
Arti: copy data pada alamat relatif memori 0120 ke
register AL
22. 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! Anggap segment base
1000 tersimpan pada register DS!
Jawab:
MOV AX,1000 immediate addressing
MOV DS,AX register addressing
MOV AL,[0120] direct addressing
MOV BL,[0150] direct addressing
MOV CL,[0160] direct addressing
Coba kerjakan contoh di atas menggunakan program
DEBUG!
Muchlas, Mode Pengalamatan
Mikroprosesor
22
23. Bentuk 2:
MOV [0120],AL
SUMBER:
REGISTER
TUJUAN: ALAMAT
RELATIF MEMORI
Contoh: susun instruksi untuk mengisi alamat
10120 dengan data 5 heksadesimal! Anggap
segment base yang digunakan adalah 1000
tersimpan dalam DS!
Muchlas, Mode Pengalamatan
Mikroprosesor
23
24. Jawab:
MOV AX,1000 IMMEDIATE ADDRESSING
MOV DS,AX REGISTER ADDRESSING
MOV AL,5 IMMEDIATE ADDRESSING
MOV [0120],AL DIRECT ADDRESSING
Tugas1:
Susun instruksi untuk mengisi alamat 20150
heksadesimal dengan data 5, dan alamat 20160
heksadesimal dengan data 2. Isi kedua alamat tersebut
dijumlahkan dan hasilnay disimpan di alamat 20170
heksadesimal. Anggap segment base yang digunakan
adalah 2000 tersimpan dengan DS! Gunakan program
DEBUG untuk menguji program anda, tunjukkan
dengan peta memori dan register bahwa program telah
berjalan dengan baik.
Muchlas, Mode Pengalamatan
Mikroprosesor
24
25. IV. Mode Pengalamatan Tak Langsung
(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
Muchlas, Mode Pengalamatan
Mikroprosesor
25
26. 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
Muchlas, Mode Pengalamatan
Mikroprosesor
26
27. V. Base Plus Index Addressing
Yaitu mode pengalamatan yang digunakan untuk mentransfer
byte/word antar register dan memori yang alamatnya ditunjukkan
oleh jumlah register base dan index.
Bentuk1: MOV [BX + SI], AX
Bentuk2: MOV AX,[BX+SI]
Tugas2:
Susun intruksi dalam bahasa assembly untuk memindahkan isi
akumulator AX yakni A1B2 ke alamat memori 10500
heksadesimal dengan menggunakan mode pengalamatan base plus
index, anggap segmen yang digunakan DS = 1000 dan register
indeks yang digunakan SI = 300
Muchlas, Mode Pengalamatan
Mikroprosesor
27
28. V. Register Relative Addressing
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
28
29. Contoh permasalahan
Susun intruksi dalam bahasa assembly untuk
memindahkan data A1B2 dari akumulator AX ke
alamat memori 20304 H dengan menggunakan register
relative addressing , anggap segmen yang digunakan DS
: 2000 dan dan displacement 4
DS : IP = 20304
DS = 20000
IP = 0304
Intruksi yang digunakan
Mov AX,2000
Mov DS, AX
Mov BX,0300
Mov AX,A1B2
Mov [Bx + 4], AX
Muchlas, Mode Pengalamatan
Mikroprosesor
29
30. VI. Base Relative Plus Index Addressing
Merupakan mode pengalamtan yang digunakan untuk
mentransfer byte/word antar register dan memori yang
alamatnya ditunjukkan oleh suatu register base dan
register index ditambah displacement nya
Contoh :
MOV AX, [BX + DI + 4]
Muchlas, Mode Pengalamatan
Mikroprosesor
30
31. Mode Pengalamatan Pada
SMS32V23
• Immediate Addressing
MOV AL,15 ; Copy 15 heksadesimal ke register AL
MOV BL,40 ; Copy 40 heksadesimal ke register BL
MOV CL,50 ; Copy 50 heksadesimal ke register CL
MOV DL,60 ; Copy 60 heksadesimal ke register DL
• Ingat! SMS32V23 atau SMS32V50 hanya
memiliki 4 buah register serbaguna yakni
AL, BL, CL dan Muchlas, DL. Mode Pengalamatan
31
Mikroprosesor
32. Mode Pengalamatan Pada
SMS32V23
• Indirect Addressing
MOV [40],AL ; Copy value in AL to RAM location [40]
MOV BL,[40] ; Copy value in RAM location [A0] into BL
Muchlas, Mode Pengalamatan
Mikroprosesor
32
33. Mode Pengalamatan Pada
SMS32V23
• Register Indirect Addressing
MOV [CL],AL ; Copy the value in AL to the RAM location
that CL points to.
MOV BL,[CL] ; Copy the RAM location that CL points to
into the BL register.
• Ingat! Ukuran RAM (memori) SMS32V23 atau
SMS32V50 adalah 256 byte.
Muchlas, Mode Pengalamatan
Mikroprosesor
33
34. Mode Pengalamatan Pada
SMS32V23
• Register Addressing
SMS32V23 atau SMS32V50 tidak menyediakan mode
pengalamatan ini. Mode ini dijalankan dengan bantuan
memori stack dengan perintah PUSH dan POP. Contoh:
jika ingin copy data dari register AL ke BL, maka
dilakukan dengan cara:
PUSH AL
POP BL
Muchlas, Mode Pengalamatan
Mikroprosesor
34
35. Mode Pengalamatan Pada
SMS32V23
• Register Addressing
Instruksinya: POP BL
MOV AL,5
PUSH AL
POP BL
Muchlas, Mode Pengalamatan
Mikroprosesor
35
5
AL BL
5
Memori Stack
PUSH AL
5
AL BL
5
5
Memori Stack
36. Mode Pengalamatan Pada
SMS32V23
• Contoh persoalan
Susun program untuk mengisi alamat 50 dengan
data A1 mengunakan akumulator AL. Data
tersebut selanjutnya dipindah ke register BL dan
isi BL ditambah dengan 5 dan hasilnya di copy ke
register CL. Lakukan pengujian dengan simulator
SMS32V23 atau SMS32V50!
Muchlas, Mode Pengalamatan
Mikroprosesor
36