2015 (1) Mikroprosesor Mpf-I
2015 (1) Mikroprosesor Mpf-I
2015 (1) Mikroprosesor Mpf-I
MODUL I
SISTEM MIKROPROSESOR Z80
I. Tujuan Praktikum
1
untuk
mengamankan
isi
(sementara)
register-register
utama
Bendera tanda (S, Sign): bernilai 1 apabila angka yang berada pada
akumulator bernilai negatif, dan sebaliknya.
Bendera nol (Z, Zero) bendera ini bernilai 1 apabila semua bit dalam
akumulator bernilai nol, dan sebaliknya.
Bendera pindahan bit 3 (Ac, Auxiliary Carry): bendera ini akan memberi
tanda adanya perpindahan atau pinjaman pada proses penjumlahan atau
pengurangan (pada 4 bit terendah).
First Out). yaitu data paling akhir masuk tumpukan merupakan data yang paling
awal dikeluarkan dari tumpukan.
Register IX dan IY digunakan untuk menyediakan alamat awal 16-bit pada
mode pengalamatan berindeks. Register R digunakan apabila mikroprosesor
menggunakan memori dinamis. Register alamat interupsi (I) digunakan apabila
CPU akan memasuki subroutine interupsi.
Dalam melaksanakan transfer data pada Z-80, selain bahasa assembly,
juga digunakan instruksi dalam bahasa mesin yang dinotasikan dalam bilangan
heksadesimal dan terdiri dari 2 bagian: OPCODE menunjukkan kode operasi yang
diinginkan dan OPERAND atau alamat OPERAND menunjukkan nilai bilangan
atau isi suatu memori.
Contoh:
LD
A, 12 -----
3E 12 (bahasa mesin)
3E:
OPCODE;
12: OPERAND
Contoh:
N
o
Assemb
ly
Simbol
Operasi
LD A,B
A B
LD B,C
B C
LD B,A
B A
LD B,E
B E
Keterangan
Mengisi register A dengan
data dari register B
Mengisi register B dengan
data dari register C
Mengisi register B dengan
data dari register A
Mengisi register B dengan
data dari register E
Contoh:
N
o
Assembly
Simbol
Operasi
LD A, (1902)
A (1902)
LD A, (0066)
A (0066)
LD B, (HL)
B (HL)
LD D, (IX+02)
D (IX+02)
Keterangan
Mengisi register A
dengan data dari
memori lokasi alamat
1902 (RWM)
Mengisi register A
dengan data dari
memori lokasi alamat
0066 (ROM)
Mengisi register B
dengan data dari
memori lokasi alamat
sama dengan isi
register HL
Mengisi register D
dengan data dari
memori lokasi alamat
sama dengan isi
register IX+02
Assembly
Simbol
Keterangan
Operasi
LD A, 19
A 19h
LD A,00
B 00h
LD B, 3F
B 3F
LD C, FF
B FFh
Mengisi
19h
Mengisi
00h
Mengisi
3Fh
Mengisi
FFh
data
dari
bahwa
register
harus
ada
ke
memori
cara
atau
mencakup
mekanisme
Assembly
Simbol
Operasi
LD (1902),A
1902 A
LD (HL),B
(HL) B
LD (IX+02),D
(IX+02) D
Keterangan
Mengisi memori lokasi
alamat 1902 (RWM)
dengan
data
dari
register A
Mengisi memori lokasi
alamat sama dengan
isi register HL dengan
data dari register B
Mengisi memori lokasi
alamat sama dengan
isi register IX+ 02
dengan
data
dari
register D
Assembl
y
LDI
Simbol
Operasi
(DE) (HL)
DE DE+1
HL HL+1
Keterangan
Transfer 1 byte data dari lokasi
memori yang alamatnya dicatat
oleh HL ke lokasi memori yang
alamatnya dicatat oleh DE
LDIR
N
o
Assembl
y
LDD
LDD
BC BC1
(DE) (HL)
DE DE+1
HL HL+1
BC BC1
Diulang sampai
reg. BC = 0000
Simbol
Operasi
(DE) (HL)
DE DE1
HL HL1
BC BC1
(DE) (HL)
DE DE1
HL HL1
BC BC1
Diulang sampai
reg. BC = 0000
Keterangan
Transfer 1 byte data dari lokasi
memori yang alamatnya dicatat
oleh HL ke lokasi memori yang
alamatnya dicatat oleh DE
Transfer 1 byte data dari lokasi
memori yang alamatnya dicatat
oleh HL ke lokasi memori yang
alamatnya dicatat oleh DE,
Diulang sampai isi reg BC sama
dengan nol (alamat turun)
Assembly
Simbol
Operasi
LD (HL),A
HL FF
LD (IX+02),64
(IX+02) 64
LD (IY+02),19
(IY+02) 19
Keterangan
Mengisi memori lokasi
alamat sama dengan
isi register HL dengan
data FFh
Mengisi memori lokasi
alamat sama dengan
isi register IX+ 02
dengan data 64h
Mengisi memori lokasi
alamat sama dengan
isi register IY+ 02
dengan data 19h
Memeriksa apakah program sudah benar dan melihat isi register dan memori
sebelum program dieksekusi.
5
V.
CPU
Peta I/O
B Transfer data
1. Percobaan pertama adalah mengidentifikasi perintah yang sudah dituliskan
dalam tabel.
a. Tugas Anda adalah mengkategorikan perintah-perintah tersebut masuk
ke salah satu mode transfer data (register ke register, memori ke
register, data immediate ke register, register ke memori, memori ke
memori, atau data immediate ke memori).
N
o.
1
Alama
t
1800
Instruksi
Kode Mesin
LD A,93h
3E 93
A 93h
1802
LD B,A
47
B A
1803
LD C,B
48
C B
1804
LD D,C
51
D C
Symbol
Operasi
1805
LD E,D
5A
E D
1806
LD H,19h
26 19
H 19h
1808
LD L,90h
2E 90
L 90h
180A
LD (HL),64h
36 64
(HL) 64h
180C
LD B,(HL)
46
B (HL)
10
180D
LD A,(1990)
3A 90 19
A (1990)
11
1810
LD (1991),A
32 91 19
12
1813
RST 38
FF
(1991) A
STOP
Instruksi
Kategori
Hasil
LD A,93h
LD B,A
LD C,B
LD D,C
LD E,D
LD H,19h
LD L,90h
LD (HL),64h
LD B,(HL)
10
LD A,(1990)
11
LD (1991),A
12
RST 38
19
90
19
91
Data
Jika berbeda mengapa hal itu bisa terjadi. Seharusnya hasil analisis
saudara dengan hasil eksekusi adalah sama.
e. Dari proses a sampai d, tuliskan kesimpulan Anda!.
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
2. Percobaan kedua adalah mencari Kode Operasi untuk kemudian Anda
jalankan melalui sistem Mikroprosesor MPF-I.
a. Register Immediate
Tulis program assembly untuk mengisi data ke register-register: A=0,
B=1, C=2, D=4, H=5, L=6.
Alama
t
1800
Instruksi
Kode
Mesin
Komentar
LD A,00
3E 00
RST 38h
FF
Sebelu
m
eksekusi
Sesudah
eksekus
i
Isi
registe
r
L
10
Sebelu
m
eksekusi
Sesudah
eksekus
i
Instruksi
Kode
Mesin
Komentar
LD C,B
48
RST 38h
Sebelu
m
eksekusi
Sesudah
eksekus
i
Isi
registe
r
Sebelu
m
eksekusi
Sesudah
eksekus
i
c. Register Memori
Tulis program untuk mengisi register-register A, B, C, D, E, H, L, dari
isi memori alamat (1900h), (1901h), (1902h), (1903h), (1904h),
(1905h) dan (1906h). Diisi dahulu memori tersebut dengan data 12h,
34h, 56h, 78h, 9Ah, BCh dan DEh.
Alam
at
Instruksi
Kode
Mesin
Komentar
1800
LD A,(1901h)
3A 01 19
;isi regB=regA
Alam
at
Instruksi
Kode
Mesin
Komentar
RST 38h
Sebelum
Eksekus
i
Sesudah
Eksekus
i
Isi
Registe
r
1900
1904
1901
1905
1902
1906
1903
A
12
Sebelum
Eksekus
i
Sesudah
Eksekus
i
13