Modul Microprosesor
Modul Microprosesor
II.
TUJUAN
TEORI DASAR
Pendahuluan
Sebuah mikrokomputer adalah sebuah perangkat elektronik yang sangat
kompleks dan serba guna. Dimana sistem yang digunakan adalah sebuah
mikroprosessor sebagai elemen utama yang mempunyai kemampuan sebagai
CPU (Central Processing Unit).
Mikroprosessor bersifat dapat diprogram (programmable) sehingga dengan
menggunakan perangkat keras (hardware) yang sama atau hampir sama dapat
diperoleh dan dibuat beberapa fungsi yang berbeda hanya dengan mengganti
atau merubah programnya.
Sebuah Mikrokomputer minimum harus berisi elemen-elemen sebagai
berikut:
CPU
CPU adalah otak dari komputer. Ia mengontrol semua aktivitas dalam
sistem, mengaktifkan memory dan elemen I/O. CPU itu sendiri terdiri dari suatu
elemen dengan fungsi-fungsi khusus. Diantaranya adalah ALU (Arithmetic Logic
Unit), register-register dan program counter (PC).
MEMORI
Memori berisi semua program dan data. ROM (Read Only Memory)
biasanya berisi set-set program pendukung (program-program monitor) yang
diberikan oleh pabrik pembuat mikrokomputer. Data dalam ROM tidak dapat
hilang karena bersifat permanen. RAM (Random Access Memory) dapat ditulis
kembali dan mudah dihapus, tanpa sumber.
Data yang ada akan hilang atau hancur. Daerah RAM dari suatu
mikrokomputer adalah daerah yang diizinkan untuk pemakai melalui programprogramnya.
BUS
Bus adalah satu set kabel-kabel paralel. Untuk Intel 8088 kita membutuhkan
saluran alamat 16 bit, data 16 bit dan pengendali 18 bit, sehingga kita memiliki
satu Address Bus 16 bit, satu Data Bus 16 bit dan satu Control Bus 18 Bit.
I/O
Tidak ada komputer yang dapat bekerja tanpa elemen input-output. Elemenelemen ini dihubungkan ke sistem Bus, tetapi juga mempunyai hubunganhubungan ke luar melalui inface. Kita juga mengenal ada dua macam sistem
komunikasi yaitu serial (lewat UART) dan paralel (lewat PIO).
Fungsi Dasar Sebuah Mikroprosessor
Sebuah Mikroprosessor hanya dapat bekerja bila ada sebuah program
(perangkat lunak). Kejadian sederhana seperti menyalakan sebuah LED, atau
pembacaan sebuah kunci yang dibentuk oleh sebuah program. Untuk membuat
penggunaan Z2-8088 yang lebih nyaman, pembuat (ELETTRONIKA VENETA &
INL SPA) menyertakan sejumlah program (monitor subroutine) yang dapat
dieksekusi dengan kunci-kunci fungsi. Semua program-program ini terdapat
dalam EPROM (Erasable Programmable Read Only Memory) dengan fungsifungsi ini dimungkinkan untuk menulis isi memory atau isi register.
Bus alamat terdiri dari 16 bit. Ini berarti kita dapat mengakses 65.536 (2
pangkat 16) lokasi memory masing-masing satu bit. Karena 1024 dideferensikan
sebagai 1 kb (Kilobyte) maka kita mempunyai daerah memori sebanyak 64 Kilo
byte.
Z2-MC8088 terdiri dari 3 EPROM dan 3 RAM berikut ini adalah peta atau
susunan memori yang memperlihatkan kepada pemakai daerah mana dari
memori yang dapat digunakan.
00000H
RAM1
00800H
RAM2
007FFH
01000H
RAM3
00FFFH
FFFFFH
EPROM1
017FFH
F7FFFH
FBFFFH
EPROM1
FC000H
EPROM1
F8000H
F4000H
Register
Register dilokasikan dalam CPU (untuk trainer Z2-8088) seluruh data yang
tersimpan dalam register adalah mudah hilang, ia hanya dapat disimpan
sementara. Intel 8088 memiliki 14 register 16-bit. Adapun register-register
tersebut diklasifikasikan dalam:
4 Segment Register.
Register data terdiri atas: AH, AL, BH, BL, CH, CL, DH dan DL yang mana
register-register tersebut digunakan untuk menyimpan data 8-bit atau secara
berpasangan dipakai untuk menyimpan data 16-bit.
Memori
Seperti yang telah digambarkan, kita memiliki memori RAM dan ROM. ROM
adalah sebuah memori permanen. RAM (seperti register) adalah mudah hilang
tetapi mereka di luar CPU melalui akumulator (register A) Kapasitas RAM
adalah sangat besar jika kita bandingkan dengan register-register, tidak seperti
register, memori tidak dapat disambungkan (aritmetic atau logic) dengan ALU.
Untuk menyimpan data dalam sebuah RAM atau memuatnya kembali dari
sebuah RAM, instruksi set Intel 8088 mempunyai beberapa kemungkinan yang
berbeda, yang disebut Mode Pengalamatan (Addressing Mode) sebagai
contoh pengalamatan langsung dan tidak langsung.
MOV [DI],AL
MOV AL,[DI]
Contoh:
RAM
CPU
..............
..............
..............
..............
..............
5E
..............
00800
MOV [DI],AL
Register
DI=008D0
Akumulator
AL=5E
008D0
Apabila bekerja dengan tabel, maka kode pengalamatan ini sangat berguna
karena
alamat
bisa
digunakan
sebagai
suatu
perhitungan,
ia
tidak
LATIHAN
3.1. Peta dari hardware trainer Z2-MC8088
Type
CPU
ROM
: ROM 1
ROM 2
: RAM 1
RAM 2
RAM 3
RAM
PIO
UART
LCD
(acuan
isi
0007B
..H
00800
..H
017FF
..H
F4000
..H
FBFFF
..H
FFFFF
..H
isi
0007B
..H
00800
..H
017FF
..H
F4000
..H
FBFFF
..H
FFFFF
..H
Sesudah :
0007B
..H
00800
..H
017FF
..H
F4000
..H
FBFFF
..H
FFFFF
..H
Isi:
AX
..
BX
..
CX
..
DX
..
SI
..
DI
..
IP
..
SP
..
FL
..
BP
..
CS
..
DS
..
ES
..
SS
..
Start
Alamat
Mnemonic
0000
MOV AX,00
0003
ADD AX,BX
A=AX+BX
0005
A=AX+CX
0007
A=AX+DX
0009
INT 7
Clear A
0080
End
Hex :
BX=17
.H
CX=08
.H
DX=37
.H
BX+CX+DX =
.H
Alamat
Mnemonic
Start
CX
BX
0080:
End
0100
MOV CX,BX
0102
INT 7
3.5.2. Muati register BX dengan Program sebelum anda mentransfer data dari
BX ke CX.
Flowchart
Alamat
Mnemonic
Start
0080:
BX=56
CX=3F
CXBX
0100
MOV BX, 56
0103
MOV CX,3F
0106
MOV CX,BX
010A
INT 7
End
Periksa sekali lagi isi register BX dan CX, sebelum dan sesudah
eksekusi program.
BX = 56
(sebelum )
CX = 3F
BX= (sesudah)
(sebelum)
CX = (sesudah)
Alamat
Mnemonic
0080: 0000
MOV AX,67
AX And BX
0003
AND AX,BX
End
0004
INT 7
Start
H = ..b
BX = 5C
H = b
AX = b
Hasil operasi AND disimpan dalam register AX. Bit demi bit Reg BX diAND-kan dengan bit akumulator.
3.6.2. Ganti instruksi AND dengan OR (OR AX,BX) eksekusi kembali program
tersebut.
AX = 67 H =
.(sebelum)
B X= 5C H = .
AX = . H = ..(sesudah)
3.6.3. Gantilah instruksi OR oleh instruksi EX-OR (XOR AX,BX) dan program
di eksekusi kembali.
AX = 67 H =
.(sebelum)
BX = 5C H = ..
AX= .. H = .(sesudah)
Flowchart
Alamat
Mnemonic
Start
Clear A
0080:
A=AX+BX
ADD AX,CX
A=AX+CX
A=AX+DX
008D0=A
End
3.7.2. Eksekusilah program dan bacalah isi memori dari 008D0 (0080:00D0)
dan bandingkan dengan akumulator (Reg AX).
0080:00D0 = .
AX = .
Isi :
0080:00D0
55
0080:00D1
56
0080:00D2
57
0080:00D3
58
0080:00D4
59
0080:00D5
5A
Alamat
Mnemonic
Start
0080:
0300
MOV AL, 00
0302
MOV DI,00D0
0304
MOV [DI],AL
0306
INC DI
0307
0309
030A
030C
030D
030F
0310
0312
AL=00
DI=00D0
DI=AL
DI=DI+1
DI=AL
DI=DI+1
DI=AL
DI=DI+1
DI=AL
DI=DI+1
DI=AL
End
Isi :
0080:00D0
0080:00D1
0080:00D2
0080:00D3
0080:00D4
0080:00D5
10
11