2015 (1) Mikroprosesor Mpf-I

Anda mungkin juga menyukai

Anda di halaman 1dari 13

PRAKTIKUM MKROPROSESOR

MODUL I
SISTEM MIKROPROSESOR Z80
I. Tujuan Praktikum
1

Memahami salah satu sistem mikroprosesor.

Memepelajari dan mengetahui cara menggunakan MPF-I.

Mempelajari register-register dalam mikroprosesor dan proses transfer data.

Mempelajari pemrograman bahasa assembly dan bahasa mesin untuk transfer


data dengan mikroprosesor Z-80.

II. Alat dan Bahan


1. Sistem mikroprosesor MPF-I.
III. Pengantar
Mikroprosesor Z-80 merupakan penyempurnaan mikroprosesor 8080
ataupun 8085 buatan Intel. Salah satu bagian terpenting dari arsitektur Z-80
adalah register-register yang pembagiannya dapat diilustrasikan sebagai berikut:

Gambar pembagian register Z-80

Register pada Z-80 dapat dikelompokkan menjadi 4, yaitu: register A


(accumulator), register F (flag status), register serbaguna dan register khusus
(special purpose register). Register serbaguna terdiri dari 12 register 8-bit yang
terbagi menjadi 2 bagian, yaitu register serbaguna utama: register B, C, D, E, H, L
dan register serbaguna pengganti (alternate): B, C, D, E, H, L.
1

Register pengganti, baik register serbaguna maupun register lainnya,


digunakan

untuk

mengamankan

isi

(sementara)

register-register

utama

pasangannya. Pasangan register B dan C, D dan E, H dan L, serta pasangan


register penggantinya dapat membentuk register 16-bit.
Register A atau disebut akumulator merupakan penyimpan utama (primer)
pada Z-80. Transfer data antara CPU dengan piranti I/O yang tercepat dan
tersingkat terselenggara melalui register ini. Apabila akumulator telah selesai
menyelenggarakan operasi hitung dan nalar, status dari hasil perhitungan akan
dicatat di register F. Register bendera terdiri dari 8-bit, 2 bit tidak digunakan,
sehingga hanya 6 kondisi yang dicatat (lihat gambar 1). Bendera-bendera yang
terdapat pada Z-80 adalah sebagai berikut:

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).

Bendera P/V (Parity/Overflow) paritas akan diset bernilai 1 apabila hasil


operasi nalar bernilai genap dan bendera overflow hanya digunakan sebagai
tanda penggunaan operasi twos complement dan menunjukkan adanya bawaan
dari bit-6 ke bit-7.

Bendera pengurangan (N): Bila terjadi operasi pengurangan, bendera akan


bernilai 1 dan sebaliknya.

Bendera pindahan (C, Carry) bendera ini menunjukkan terjadinya pindahan


bit MSB dari suatu register. Bendera akan diset 1 apabila terjadi pemindahan.
Register PC (16 bit) berisi alamat perintah selanjutnya pada memori yang

akan dilaksanakan oleh CPU. Register SP atau register penunjuk tumpukan


menyediakan alamat untuk kembali setelah CPU melaksanakan operasi
percabangan. Penunjuk tumpukan ini bekerja berdasarkan prinsip LIFO (Last In
2

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

Ada beberapa macam transfer data atau pengiriman/pemasukan data yang


dapat dilaksanakan pada Z-80 bergantung dari asal data dan tujuan datanya, dalam
hal ini hanya dibahas transfer data 8-bit yang diuraikan sebagai berikut:
1

Dari Register ke Register


Perpindahan data dari register ke register lainnya, dapat berlangsung
antar register serbaguna atau dengan akumulator. Dapat terjadi diantara
register 8 bit yaitu register , A, B, C, D, E, H, L dan I .

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

Dari Memori ke Register


Perpindahan data dari memori tertentu ke salah satu register serbaguna
maupun akumulator. Transfer isi alamat memori hanya dapat melalui
akumulator (reg A). Transfer data dari memori ke register mencakup
persyaratan bahwa harus ada cara atau mekanisme pemegangan
alamat memori. Dalam Z-80 CPU alamat memori ada dua byte atau
16 bit. Pemegang alamat memori menggunakan salah satu register
16 bit. Transfer data dari memori dapat terjadi dari lokasi EPROM
atau dari lokasi RWM (Read Write Memory) karena kedua memori ini
memiliki sifat baca. Untuk operasi ini ada tanda ( ) sebagai tanda
operasi memori.

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

Dari Immediate (langsung) ke Register


Transfer data immediate ke register dapat terjadi terhadap register A, B,
C, D, E, H dan I.
Contoh:
N

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

register A dengan data


register A dengan data
register B dengan data
register C dengan data

Dari register ke memori


Transfer
persyaratan

data

dari

bahwa

register

harus

ada

ke

memori

cara

atau

mencakup
mekanisme

pemegangan alamat memori. Dalam Z-80 CPU alamat memori


ada dua byte atau 16 bit. Transfer data dari register ke
memori dapat terjadi hanya ke lokasi RWM karena ROM tidak
bisa diisi data baru. Untuk operasi ini ada tanda ( ) sebagai
tanda operasi memori menggunakan salah satu register 16 bit
atau angka alamat.
Contoh:
N
o

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

Dari memori ke memori


Transfer data dari memori ke memori mencakup persyaratan bahwa
harus ada cara atau mekanisme pemegangan alamat memori. Dalam Z-80
CPU alamat memori ada dua byte atau 16 bit. Transfer data dari memori ke
memori dapat terjadi hanya ke lokasi RWM karena ROM tidak bisa diisi data
baru. Untuk operasi ini ada tanda ( ) sebagai tanda operasi memori.
Contoh:
N
o
1

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

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 naik)

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)

Dari Immediate ke memori


Nilai data diisikan ke register secara langsung (dari luar).
Contoh:
N
o

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

IV. Cara Kerja


1

Menulis program bahasa assembly menurut lembar praktikum kemudian:


diubah ke dalam bahasa mesin. Setiap akhir program harus diakhiri dengan
perintah RTS p.
7

Masukkan instruksi-instruksi bahasa mesin tersebut ke dalam MPF-I.

Memeriksa apakah program sudah benar dan melihat isi register dan memori
sebelum program dieksekusi.

Mengeksekusi program dengan menekan tombol RST-PC-GO dan melihat


hasil eksekusi pada tampilan.

5
V.

Mencatat data-data yang diminta dari lembar praktikum.


Lembar Kerja

A Pengenalan sistem MPF-I


(Lihat MPF-I users manual)

Kenali setiap tombol

CPU

Peta memori : ROM (Program Monitor)


: RAM (Untuk User)

Peta I/O

: PPI (Programmable Parallel Interface 8255)


: PIO (Parallel Input Output)
: CTC (Counter Timer Controller)

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

b. Isikan hasil identifikasi transfer data pada tabel berikut. Gunakan


kolom simbol operasi untuk merumuskan hasilnya.
N
o
1

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

c. Eksekusi program di atas dengan perintah GO lalu baca isi register


dan memori seperti tabel berikut:
Reg/Mem
ori

19
90

19
91

Data

d. Cocokkan hasil identifikasi saudara pada langkah b dengan hasil


eksekusi langkah c. Apakah ada perbedaan atau sama nilai akhirnya.

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

;isi reg A=0

RST 38h

FF

;reset no. 38h

Lihat isi register-register sebelum dan sesudah program dieksekusi.


Isi
registe
r

Sebelu
m
eksekusi

Sesudah
eksekus
i

Isi
registe
r

L
10

Sebelu
m
eksekusi

Sesudah
eksekus
i

Simpulkan percobaan Anda pada baris-baris berikut:


................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
b. Register Register
Tulis program assembly untuk memindahkan dari register: B ke C, D
ke E, dan H ke L. Diisi dahulu register A=12, B=34, D=56, H=78.
Alama
t
1800

Instruksi

Kode
Mesin

Komentar

LD C,B

48

;isi reg C=reg B

RST 38h

Lihat isi register-register sebelum dan sesudah program dieksekusi.


Isi
registe
r

Sebelu
m
eksekusi

Sesudah
eksekus
i

Isi
registe
r

Sebelu
m
eksekusi

Sesudah
eksekus
i

Simpulkan percobaan Anda pada baris-baris berikut:


................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
11

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 regA=data dari (1901)

;isi regB=regA

Alam
at

Instruksi

Kode
Mesin

Komentar

RST 38h

Lihat isi register-register sebelum dan sesudah program dieksekusi.


Isi
Registe
r

Sebelum
Eksekus
i

Sesudah
Eksekus
i

Isi
Registe
r

1900

1904

1901

1905

1902

1906

1903
A

12

Sebelum
Eksekus
i

Sesudah
Eksekus
i

Simpulkan percobaan Anda pada baris-baris berikut:


................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
VI. Tugas
Tulis dalam laporan Anda kesimpulan yang menghubungkan masing-masing
kesimpulan pada percobaan diatas!.

13

Anda mungkin juga menyukai