BAB 2 membahas pemrograman mikroprosesor Zilog Z80, meliputi definisi pemrograman assembly, struktur instruksi, cara membuat program assembly, kumpulan instruksi seperti transfer data, input-output, dan jump serta contoh-contoh kode objeknya.
1 of 44
Download to read offline
More Related Content
Bab2
1. BAB 2
Pemrograman Zilog Z80
Oleh :
Setiawardhana
Buku: Bahasa Assembly (Buku Komputer 3) oleh : Son Kuswadi
Politeknik Elektronika Negeri Surabaya
2. Pengantar
Question
Mengapa sistem mikroprosessor yang
sama dapat mengatur beragam sistem ?
Answer
Adanya perangkat lunak, disamping
perangkat keras penunjang lainnya
5. Instruksi Input - Output
Membaca dari port input
Mengeluarkan data ke port output
6. Instruksi JUMP
JUMP ke alamat yang dituju
JUMP untuk inisialisasi
Inisialisasi register
Inisialisasi lokasi memori
Pemindahan data
7. Pemrograman
Definisi
Kumpulan instruksi yang ditulis dengan
format tertentu, bila dieksekusi oleh
mikroprosessor maka mikroprosessor
tersebut akan melaksanakan fungsi tertentu
dengan hasil yang diperkirakan
8. Pemrograman
Struktur Instruksi Bahasa Assembly
Operation Code (OpCode)
Soure Operand (Sumber)
Destination Operand (Tujuan)
Contoh : LD A , H
Opcode Source Destination
Instruksi : Pindahkan isi register 8 bit H ke
register 8 bit A, isi H = isi A
9. Opcode
Contoh :
LD - LDI
PUSH - LDIR
POP - LPD
CPIR - INC
CPD - DAA
ADD - IM
Mnemonic : Opcode yang ditulis dalam bentuk khusus
Opcode biasanya disertai Operand
Source Operand
Destination Operand
10. Object Code
Menulis program dalam assembly artinya
menggunakan mnemonic
Mnemonic untuk pembuat program bukan
untuk mikroprosessor disebut Source Code
Apa yang dibutuhkan mikroprosessor ?
OBJECT CODE
11. Object Code
Source Code Object Code Biner
LD A,B 78H 0111 1000
Mikroprosessor membaca instruksi dalam
bentuk biner di memori dan
pengeksekusiannya
12. Cara Assembly Program
Tulis program = mnemonic
Pilih alamat awal program mnemonic
Assemble untuk memperoleh object code
Load Object code pada memori
Run Program
13. Cara Modifikasi Assemble
Tulis mnemonic dengan neditor
Save di disket
Run assembler pada source program
Simpan Object code di disket
Download Object Code ke memori sistem
Run Object Code
19. Listing Program
Object Code dihasilkan setelah listing
program di assemble
Selain Object Code juga dihasilkan listing
program
Listing program = Obj code + Source Code
21. Transfer Data
Internal register ke internal register (1)
Memori sistem ke internal register (2)
Contoh (1)
LD r1,r2
Penjelasan
Instruksi mentransfer data dari source operand (r2) ke destination
operand (r1).
Isi r2 tetap
Isi r1 berubah menjadi isi r2
Register yang dipakai : A,B,C,D,E,H dan L
Object Code
0 1 D D D S S S
22. Kode register
Contoh : LD A, E
Register A = 111
Register B = 000 Object Code ? 7Bh =>
Register C = 001
Register D = 010 0 1 1 1 1 0 1 1
Register E = 011 A E
Register H = 100 7 B
Register L = 101
23. Transfer Data
Contoh (2a)
LD A,(HL)
Penjelasan
Data di memori dipindah ke internal register
Alamat dari memori : pasanga register H & L
H : alamat orde tinggi (A15-A8)
L : alamat orde rendah(A7-A0)
Contoh :
Alamat 8050h diisi 07h
Pindahkan isinya ke register A
Instruksi: LD HL,8050
LD A, (HL)
24. Transfer Data
Contoh (2b)
LD (HL),r
Penjelasan
Data register dipindah ke memori sistem yang
alamatnya ditunjuk oleh register H dan L
Contoh
LD C,3Ah
LD HL,3E80h
LD (HL),C
25. Transfer Data
Contoh (2c)
LD r,data
Penjelasan
Load immediate / reg. r dimuati segera dengan data 8 bit
Operasi 2 byte
Byte pertama : Opcode
Byte kedua : 8 bit data
destination register byte pertama
0 0 D D D 1 1 0
data byte kedua
26. Transfer Data
Contoh (2d)
LD (HL),data
Penjelasan
Load immediate / alamat memori yang ditunjuk register HL akan
dimuati segera dengan data 8 bit
Operasi 2 byte
Byte pertama : Opcode
Byte kedua : 8 bit data
Contoh (alamat 80FFh diisi data 0FEh)
LD H,80
LD L,0FF
LD (HL),0FEh
27. Transfer Data
Instruksi 3-byte
LD rp, data 16 bit
dimana :
Byte 1 : Opcode
Byte 2 dan 3 : data 16 bit
28. Transfer Data
Instruksi 3-byte
Kode pasangan
register :
00 =B,C
01 =D,E
10 =H,L pasangan register
11 =SP 0 0 R P 0 0 0 1
Detail operasinya :
30. Transfer Data
Instruksi 3-byte
Contoh
LD (addr),A
Penjelasan :
Menyimpan reg A ke memori dengan alamat
address
Penyimpanan secara direct / langsung di
memori
31. Transfer Data
Contoh LD (8000h),A
Object Code 32h 0Ah 80h
Contoh LD A,(2436h)
Object Code 3Ah 36h 24h
32. Transfer Data
Contoh : 8050h diisi 7Ah 8051 diisi 80h
Instruksi : LD HL,(8050h)
Hasil :
Register L = 7Ah
Register H = 80h
Object code = 2Ah 50h 80h
33. Transfer Data
Contoh : H diisi 40h dan L diisi 3Ah
Instruksi : LD (80FEh),HL
Hasil :
Alamat 80FEh berisi 3Ah
Alamat 80FFh berisi 40h
34. Transfer Data
Contoh :
LD B,6Ah
LD C,7Dh
LD A,4Eh
LD (BC),A
Hasil :
Alamat 6A7Dh berisi 4Eh