Selasa, 14 April 2020

Instruksi pada Mikroprosesor Z80

·         Transfer Data
·         Aritmatika
·         Logika
·         Branch
·         Stac, I/O dan kontrol mesin
Pada pertemuan kali ini hanya 3 jenis perintah yang dibahas, yaitu Transfer Data, Aritmatika, dan Stac, I/O. Perintah lainnya akan dibahas pada pertemuan berikutnya.

1.      Perintah Transfer Data
a.       Mengisi data 8 bit ke register
Bentuk dasar perintah :
LD r1,nn
Penjelasan
– Instruksi mengisi data dari keyboard (nn) ke destination operand (r1).
– Isi r1 berubah menjadi data nn
– Register yang dipakai : A,B,C,D,E,H dan L

Contoh :
LD A, 01H
Penjelasan
– Instruksi mengisi data 8 bit dari keyboard nilainya 01 ke destination operand (Register A).
– Isi r1 berubah menjadi data 01H
– Register yang dipakai : A
– Secara singkat perintah ini maksudnya adalah : Mengisi Register A dengan data 01H

b.      Memindahkan data 8 bit dari register ke register
Bentuk dasar perintah :
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

Contoh :
LD A, B
Penjelasan
– Instruksi memindahkan data 8 bit dari source operand (register B) ke destination
   operand (register A)
– Isi register A berubah menjadi isi register B
– Register yang dipakai : A dan B
– Secara singkat perintah ini maksudnya adalah : Memindahkan isi Register B ke
   register A, sehingga isi register B sama denga nisi register A
2.      Perintah Aritmatika
Perintah aritmatika terdiri dari :
a.       ADD : menjumlahkan isi register
b.      SUB : mengurangkan isi register

a.       Bentuk dasar perintah ADD:
ADD r1,r2
Penjelasan
– Instruksi menjumlahkan data dari source operand (r2) dengan data dari
   destination operand (r1) dan menyimpan hasilnya di destination operand (r1)
– Isi r2 tetap
– Isi r1 berubah menjadi isi r2 ditambah isi r1 (r1=r2+r1)
– Register yang dipakai : A,B,C,D,E,H dan L

Contoh :
ADD A, B
Penjelasan
– Instruksi menjumlahkan data 8 bit isi dari source operand (register B) dengan isi
   data  destination operand (register A) dan menyimpan hasilnya di destination
   operand (register A)
– Isi register A berubah menjadi penjumlahan isi register B dan isi register A
   (A=A+B)
– Register yang dipakai : A dan B
– Secara singkat perintah ini maksudnya adalah : Menjumlahkan isi Register B
   dan isi register A, dan menyimpan hasilnya di register A.

b.      Bentuk dasar perintah SUB :
SUB r2
Penjelasan
– Instruksi mengurangkan data dari destination operand (r1) dengan data dari
   Source operand (r2) dan menyimpan hasilnya di destination operand (r1)
– Isi r2 tetap
– Isi r1 berubah menjadi isi r1 dikurangi isi r2 (r1=r1-r2)
– Register yang dipakai : A,B,C,D,E,H dan L

Contoh :
SUB, B
Penjelasan
– Instruksi mengurangkan data 8 bit isi dari destination operand (register A) 
   dengan isi data source operand (register B) dan menyimpan hasilnya di
   destination operand (register A)
– Isi register A berubah menjadi pengurangan isi register A dan isi register B
   (A=A-B)
– Register yang dipakai : A dan B
– Secara singkat perintah ini maksudnya adalah : Mengurangkan isi Register A
   dan isi register B, dan menyimpan hasilnya di register A.
3.      Perintah Stac, I/O
Perintah Stac, I/O terdiri dari :
a.       Perintah Input (Membaca dari port input)
b.      Perintah Output (Mengirim data ke port output)
c.       Perintah Membandingkan isi register dengan data 8 bit

a.       Bentuk dasar perintah Input
IN A,(addr)
Penjelasan
– Instruksi membaca/memasukkan data dari alamat port (addr) dan menyimpan
   data tersebut di register A
– Isi register A berubah menjadi data yang dibaca dari alamat port (addr)
– Register yang dipakai : A
  Port yang dipakai : A dan B

Contoh :
IN A,(Port A)
Penjelasan
– Instruksi membaca/memasukkan data dari alamat port (Port A) dan menyimpan
   data tersebut di register A
– Isi register A berubah menjadi data yang dibaca dari alamat port A
– Secara singkat perintah ini maksudnya adalah : Membaca/memasukkan data dari
   port A dan menyimpan data tersebut di register A.

b.      Bentuk dasar perintah Output
OUT (addr), A
Penjelasan
– Instruksi mengirim/mengeluarkan data dari register A ke alamat port (addr)
– Isi alamat port (addr) berubah menjadi isi data yang ada dalam register A
– Register yang dipakai : A
  Port yang dipakai : A dan B

Contoh :
OUT (Port A), A
Penjelasan
– Instruksi mengirim/mengeluarkan data dari register A ke alamat port (Port A)
– Isi alamat port A berubah menjadi isi data yang ada dalam register A
– Secara singkat perintah ini maksudnya adalah : Mengirim/mengeluarkan data
   dari register A ke port A.

c.       Bentuk dasar perintah membandingkan isi register dengan data 8 bit
CP n
Penjelasan
– Instruksi membandingkan isi dari register A dengan data 8 bit
– Isi yang ada dalam register A tidak berubah
– Register yang dipakai : A
  Data untuk membandingkan adalah data 8 bit

Contoh :
CP 02H
Penjelasan
– Instruksi membandingkan isi dari register A dengan data 8 bit yaitu dalam
   contoh ini datanya adalah 02H
– Isi register A tidak berubah
– Secara singkat perintah ini maksudnya adalah : membandingkan isi dari register
   A dengan data 02H