LAPORAN PRAKTIKUM MIKROPROSESOR
Z2-MC8088 I
Z2-MC8088 SEBAGAI SUATU SISTEM TRAINER
DISUSUN OLEH:
ROFIQOH NUR HASNAH
425 11 025
3A TKJ
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI UJUNG PANDANG
2013
Z2-MC8088 I
Z2-MC8088 SEBAGAI SUATU SISTEM TRAINER
I. TUJUAN
– Mengenal trainer Z2-MC8088
– Mengoperasikan trainer Z2-MC8088
– Membedakan Register, RAM, dan ROM.
II. 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 (Central Processing Unit)
Memory (RAM dan ROM)
Bus (Alamat, Data dan Pengendali)
Elemen-elemen I/O
Fungsi dari Elemen-elemen diatas adalah:
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 program-
programnya.
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.
Elemen-elemen ini dihubungkan ke sistem Bus, tetapi juga mempunyai
hubungan-hubungan 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 fungsi-fungsi
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.
Gambar Peta Memory di dalam Z2-MC8088
REGISTER DAN MEMORI
Sebuah mikroprosessor mempunyai ruang penyimpanan data yang berbeda:
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:
Register Data, terdiri atas 4 register.
Register Index dan Pointer, terdiri atas 4 register.
4 Segment Register.
Instruction Pointer dan Sebuah Register Flag.
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.
Direct (Pengalamatan Langsung) dengan :
MOV BYTE[xxxx],AX Simpan AX dalam xxxx (RAM)
MOV AX,[xxxx] Muati AX dengan isi xxxx
Indirect (pengalamatan tak langsung) dengan :
MOV DI,xxxx Simpan DATA dalam xxxx (RAM)
MOV [DI],AL Simpan A dalam alamat dialokasikan Reg DI
MOV AL,[DI] Muati A dengan isi dari lokasi DI
Contoh:
Apabila bekerja dengan tabel, maka kode pengalamatan ini sangat
berguna karena alamat bisa digunakan sebagai suatu perhitungan, ia tidak
membutuhkan pengalamatan langsung.
III. LATIHAN
1. Peta dari hardware trainer Z2-MC8088
1. Identifikasi elemen-elemen berikut yang tergambar dalam map,
tuliskan nomor-nomor dan type-typenya (dari chip).
Elemen Type
CPU : SAB8088
ROM : ROM 1 FM27C 256Q
ROM 2 M27C 256B
RAM : RAM 1 HM6116-10
RAM 2 EL6116-70
RAM 3 HT6116-70
PIO : ADC0804LCN
UART : NS8250N-B
LCD : MDLS20265SS-07
2. Membaca dan menulis memori
1. Baca isi memori berikut dengan menggunakan tombol 'M' ( (acuan
pada short manual).
Alamat Isi
0007B FC H
00800 00 H
017FF 1F H
F4000 F0 H
FBFFF FF H
FFFFF FF H
2. Sekarang rubahlah isi dari memori-memori diatas ke harga berikutnya
(hexadesimal)
Alamat isi
0007B .. H
00800 .. H
017FF .. H
F4000 .. H
FBFFF .. H
FFFFF .. H
Sesudah :
0007B FD H
00800 01 H
017FF 20 H
F4000 F0 H
FBFFF FF H
FFFFF FF H
3. Apa perbedaan antara alamat-alamat ini?
- Ada.
Alamat manakah yang hanya dapat dibaca, dan mana yang dapat dibaca dan
juga dapat ditulis?
- Yang hanya dapat dibaca: F4000, FBFFF. FFFFF
- Yang dapat ditulis: 007B, 00800,017FF
3. Membaca dan menulis register-register
4. Bacalah isi dari register-register berikut dengan menggunakan
tombol X
Reg: Isi:
AX 0000
BX 0000
CX 0000
DX 0000
SI 0080
DI 0000
IP 0000
SP 0000
FL 0000
BP 0000
5. Bersihkan register AX sampai BX dengan cara memuati dengan '0'
seluruhnya.
6. Apa perbedaan antara sebuah register dengan memori?
- Register adalah sebuah tempat penampungan sementara untuk data-
data yng akan diolah oleh prosesor, dan dibentuk oleh 16 titik
elektronis
di dalam chip mikroprosessor itu sendiri
- Memori berfungsi untuk menyimpan data dan program.
Mengapa kita memerlukan register-register?
- Dengan adanya Register untuk tempat-tempat penampungan data
sementara ini, proses pengolahan akan bisa dilakuka secara jauh
lebih cepat dibandingkan apabila data-data tersebut harus
diambil langsung dari lokasi-lokasi memori.
4. Tulis Program Penambahan dalam memori
Tambahkan register BX sampai DX dan masukkan ke akumulator.
"Flowchart "Alamat "Mnemonic "
" " " " "
" " " " "
" "0080 "0000 "MOV AX,00 "
" " " " "
" " "0003 "ADD AX,BX "
" " " " "
" " "0005 "ADD AX,CX "
" " " " "
" " "0007 "ADD AX,DX "
" " " " "
" " "0009 "INT 7 "
1. sebelum mengeksekusi program, muati semua register dan buatlah
penambahannya secara manual.
Desimal : Hex :
BX=17 11 H
CX=08 08 H
DX=37 25 H
BX+CX+DX = ……… 3E H
2. Eksekusi program dengan "G 0" dan "ENTER" (Short manual)
3. Periksa hasil perbandingan register AX dengan penambahan yang anda
buat secara manual.
AX= 003E BX+CX+DX (secara manual) = 3E
5. Tulis Program kecil sehingga bisa mentransfer isi register BX
7. Pertama muati register BX dan CX secara manual dengan tombol "X".
BX = 09 dan CX = 1B
Kemudian tulis dan jelaskan program berikut :
"Flowchart "Alamat "Mnemonic "
" " " " "
" "0080: "0100 "MOV CX,BX "
" " "0102 "INT 7 "
8. Muati register BX dengan Program sebelum anda mentransfer data dari
BX ke
CX.
"Flowchart "Alamat "Mnemonic "
" " " " "
" "0080: "0100 "MOV BX, 56 "
" " "0103 "MOV CX,3F "
" " "0106 "MOV CX,BX "
" " "010A "INT 7 "
Periksa sekali lagi isi register BX dan CX, sebelum dan sesudah
eksekusi program.
BX = 56 CX = 3F
Operasi-operasi logic antara register dengan akumulator
9. Tulis program kecil berikut :
"Flowchart "Alamat "Mnemonic "
" "0080:"0000 "MOV AX,67 "
" " "0003 "AND AX,BX "
" " "0004 "INT 7 "
Sekarang muati Register AX dan BX dengan harga-harga sebagai
berikut :
AX = 67 H = 0110 0111 b Eksekusi program dan baca
BX = 5C H = 0101 1100 b
Hasil operasi AND disimpan dalam register AX. Bit demi bit Reg BX
di-AND-kan dengan bit akumulator.
AX = 0100 0100 b = 44 H
10. Ganti instruksi AND dengan OR (OR AX,BX) eksekusi kembali program
tersebut.
AX = 67 H = 0110 0111 b (sebelum)
B X= 5C H = 0101 1100 b
AX = 7F H = 0111 1111 b (sesudah)
11. Gantilah instruksi OR oleh instruksi EX-OR (XOR AX,BX) dan program
di eksekusi kembali.
AX = 67 H = 0110 0111 b (sebelum)
BX = 5C H = 0101 1100 b
AX= 3B H = 0011 1011 b (sesudah)
6. Penyimpanan isi akumulator dalam lokasi memori
1. Buat program penambahan (3.4) dan ikuti instruksi berikutnya:
MOV BYTE[00D0],AL simpan akumulator dalam alamat 0080:00D0
"Flowchart "Alamat "Mnemonic "
" " " " "
" " " " "
" "0080: "0200" "
" " " "MOV AX,00 "
" " " "ADD AX,BX "
" " " "ADD AX,CX "
" " " "ADD AX,DX "
" " " "MOV [00D0],AL "
" " " "INT 7 "
2. Eksekusilah program dan bacalah isi memori dari 008D0 (0080:00D0)
dan bandingkan dengan akumulator (Reg AX).
0080:00D0 = 3E AX = 003E
7. simpan dan muati data secara tidak langsung
1. Isi lokasi memori berikut ini :
Alamat : Isi :
0080:00D0 55
0080:00D1 56
0080:00D2 57
0080:00D3 58
0080:00D4 59
0080:00D5 5A
2. Tulis program berikut ini:
Bersihkan daerah memori (0080:00D0 sampai 0080:00D5) dengan sebuah
program.
MOV DI, cccc maksudnya: simpan konstanta cccc dalam Register Index
DI.
MOV [DI],AL maksudnya: simpan AL dalam lokasi memori RAM yang
ditunjukkan oleh isi Register DI.
"Flowchart "Alamat "Mnemonic "
" " " " "
" "0080:"0300 "MOV AL, 00 "
" " "0302 "MOV DI,00D0 "
" " "0304 "MOV [DI],AL "
" " "0306 "INC DI "
" " "0307 "MOV [DI],AL "
" " "0309 "INC DI "
" " "030A "MOV [DI],AL "
" " "030C "INC DI "
" " "030D "MOV [DI],AL "
" " "030F "INC DI "
" " "0310 "MOV [DI],AL "
" " "0312 "INT 7 "
3. Eksekusi program dengan "G" alamat awal program. Bacalah lokasi
memori berikutnya :
Alamat : Isi :
0080:00D0 00 H
0080:00D1 00 H
0080:00D2 00 H
0080:00D3 00 H
0080:00D4 00 H
0080:00D5 00 H
IV. PERTANYAAN DAN TUGAS
1) Jelaskan instruksi-instruksi yang digunakan pada program penjumlahan
register dan mengapa hasil operasinya disimpan pada akumulator.
- ADD : digunakan untuk melakukan operasi penjumlahan 8 bit dan 16
bit
- INC : digunakan untuk menambah isi suatu register atau memori
dengan satu nilai. Instruksi ini sangat potensial digunakan
untuk membuat counter cacah naik.
- AND, OR, dan XOR : digunakan untuk melakukan operasi logika isi
dari akumulator terhadap data suatu register 8 bit atau data
immediate, atau data suatu lokasi memori.
Register digunakan untuk menyimpan data dan instruksi yang sedang
diproses, sementara itu data dan instruksi lainnya yang menunggu
giliran diproses akan disimpan dalam main memory.
2) Setelah melakukan penjumlahan, maka akan terjadi penjumlahan register
secara bagaimana dan jelaskan hal tersebut!
- Penjumlahan register terjadi secara terstruktur.
Contoh, ADD AX,BX dimana nilai AX = AX+BX. Atau bisa di katakan
jika hasil penjumlahan AX dan BX akan di simpan di register AX.
Contoh di atas adalah penjumlahan 16 bit untuk 8 bit bisa di
tulis dengan struktur seperti ini ADD AL,BL dimana hasil
penjumlahan AL (8 bit) dan BL (8 bit) akan di simpan di register
AL.
3) Mengapa transfer data dapat dilaksanakan pada Intel 8088 dan
bagaimana cara pengoperasiannya?
- Karena Intel 8088 menggunakan dua urutan bus siklus untuk
menulis atau membaca 16 data bit sebagai ganti satu siklus untuk
8086. Ini menjadikan prosesor bergerak lebih lambat, tetapi
ada nilai plus pada perangkat keras yang menjadikan CPU 8088
kompatibel dengan peripheral 8080/8085.
- Pengoperasiannya secara terstruktur atau berurutan.
4) Dalam proses ALU, dari hasil pengamatan maka operasi aritmetik dan
logik terlaksana secara bagaimana dan bagaimana prosesnya?
- Fungsi ALU unit ini adalah untuk melakukan suatu proses
data yang berbentuk angka dan logika, seperti data matematika
dan statistika. ALU terdiri dariregister-register
untuk menyimpan informasi. Tugas ALU adalah melakukan
perhitungan aritmatika(matematika) yang terjadi sesuai dengan
instruksi program dan melakukan keputusan dari operasi sesuai
dengan instruksi program yaitu operasi logika dengan menggunakan
operasi Logika.
5) Jelaskan lebih rinci fungsi dari sistem pengalamatan (Addressing)
direct dan indirect serta sebutkan instruksi-instruksinya.
- Mode pengalamatan adalah bagaimana cara menunjuk dan mengalamati
suatu lokasi memori pada sebuah alamat di mana operand akan diambil.
Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya
instruksi terdiri dari opcode (kode operasi) dan alamat
- Direct addressing, harga yang akan dipakai diambil langsung dalam
alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan
dibaca data dari RAM internal dengan alamat 30h dan kemudian disimpan
dalam akumulator.
- Indirect addressing sangat berguna karena dapat memberikan
fleksibilitas tinggi dalam mengalamati suatu harga. Mode ini pula
satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal
pada keluarga 8052..