You are on page 1of 6

1

BAB I PENDAHULUAN

1.1 MODUS PENGALAMATAN

1.1.1 TUJUAN 1. Untuk membiasakan pemakai dengan fungsi dari instruksi transfer data. 2. Untuk melatih menentukan nilai data awal. 3. Untuk melatih assembling loading dan mengeksekusi suatu program.

1.1.2 TEORI DASAR Dalam pembuatan suatu program pada mikroprosesor inih al-hal yang sangat penting untuk diperhatikan yaitu: Pemeriksaan isi memori agar program dapat dijalankan sesuai dengan diagram alir yang dibuat oleh programmer. Cara addressing seperti: 1. Indexed Addressing Digunakan register index 16 bit dan pergeseran diletakkan sesudah op-code. Contoh mnemonic : LD (IX + 05H) E Op-code : DD 73 05 2. Implied Addressing Digunakan pada instruksi-instruksi yang berhubungan dengan register. Contoh mnemonic : ADC A,L op-code : 7A 3. Register Indirect Addressing Digunakan untuk memindahkan data antara register dan lokasi memori yang ditunjukkan oleh pasangan register 16 bit. Contoh mnemonic : LD (BC), A op-code : 02

4. Bit Addressing Digunakan untuk men-set reset atau menguji keadaan dan salah satu bit dalam register Z80 atau bit dari isi lokasi memori. Contoh mnemonic : SET 4, L Op-code : CB 5E 5. Immediate Addresing Operand merupakan bil. Konstan hexadecimal 8 bit. Contohnya mnemonic : LD A, 30 H Op-code : 3E 30 6. Immediate Extended Addressing Perluasan dari immediate addressing dimana operand merupakan data 16 bit. Contohnya mnemonic : LD HL, 1860 Op-code : 21 60 18 7. Modified Page Zero Addressing Instruksi restart (RST), contohnya RST 10H, RST 38H, dll. 8. Relative Addressing Untuk instruksi 2 byte yg terdiri dari pergeseran. Contoh mnemonic : JR F4 Op-code : 18 F4 9. Extended Addressing Untuk membentuk alamat 16 bit. Contoh mnemonic : LD A, (1870) Opcode : 3A 70 18 10. Register Addresing Untuk mentransfer data antara register berbeda. Contoh mnemonic LD A,D op-code :7A

1.1.3 ALAT-ALAT PRAKTIKUM 1. Kit Praktikum Mikroprosessor Z-80 2. Adaptor

1.1.4 PROSEDUR PERCOBAAN 1. Ketikan program pada MPI

2. Masukan nilai awal 1800H 3. Masukan bahasa mesin masing-masing Mnemonic. 4. Tekan PC, STEP, REG 5. Kemudian Tekan nama register yang ingin diketahui nilainya 6. Catat pada blangko 7. Pada percobaan 1.2 lakukan hal yang sama.

1.2 OPERASI ARITMATIKA DAN OPERASI LOGIKA 1.2.1 TUJUAN 1. Untuk membiasakan pemakai dengan instruksi operasi logika dan perhitungan. 2. Untuk memahami alamat memori. 3. Untuk memahami arti dari register flag. 4. Untuk melatih mengatur data untuk register CPU dan bagian memori.

1.2.2 TEORI DASAR Pada dasarnya hanya ada 5 macam operasi aritmatik yang dapat dilaksanakan oleh mikroprosesor Z80. Operasi aritmatik tersebut adalah penjumlahan, pengurangan, tambah satu, kurang satu, dan membandingkan. Operasi penjumlahan itu ada dua macam yaitu ADD dan ADC (penjumlahan dengan carrynya). Operasi pengurangan juga ada dua macam yaitu SUB dan SBC (pengurangan dengan carrynya). Selain itu dapat dibedakan operasi 8 bit dengan operasi 16 bit. Untuk operasi 8 bit salah satu datanya harus berada pada register A (Akumulator). Mnemonic dan arti simbolnya adalah sebagai berikut: ADD A, s : A A + s ADC A, s : A A + s + cy

SUB A, s : A A s SBC A, s : A A s cy INC s : s s + 1 DEC s : s s 1 CP s : A s di mana harga A tetap Keterangan: s : register A, B, C, D, E, H, L, N, (HL), (IX+d), (IY+d) n : data 8 bit langsung cy : carry Memonic dan arti simbolnya pada operasi 16 bit adalah sebagai berikut: ADD A, s : HL HL + ss ADC A, s : HL HL + ss + cy SBC A, s : HL HL ss cy ADD IX, pp : IX IX + pp ADD IY,rr : IY IY + rr INC tt : tt tt + 1 DEC tt : tt tt 1 Keterangan: ss : untuk BC, DE, SP, HL pp : untuk BC, DE, SP, HL rr : untuk BC, DE, SP, HL tt : untuk semua register 16 bit

REGISTER FLAG

Register flag merupakan register pembantu terhadap operasi aritmatik dan operasi logika. Bantuk bantuannya berupa manyimpan tanda keadaan bilamana terjadi carry, non carry, borrow, zero, parity/overflow. Letak definisi simpan keadaan flag pada register F dapat dilukiskan sebagai berikut:

Bit 7 S

Bit 6 Z

Bit 5 -

Bit 4 H

Bit 3 -

Bit 2 P/V

Bit 1 N

Bit 0 C

S Z H

= sign = zero = half carry

P/V = parity/overflow (=P/O) N C = non carry = carry

Dengan adanya operasi aritmatik atau logika, maka kejadian dari register F dapat dibuat table sperti ini : Bit 0 Nama Flag C Keterangan 0 : operasi aritmatik/logika tidak terjadi carry 1 : operasi aritmatik/logika terjadi carry 0 : operasi yang telah terjadi bukan substract 1 : operasi yang telah terjadi adalah substract 0 : parity even/genap tidak terjadi overflow 1 : parity old/ganjil terjadi overflow TIDAK DIGUNAKAN 0 : adisi/substract non carry di bit Reg. A 1 : adisi/substract ada carry di bit Reg. A TIDAK DIGUANAKAN 0 : hasil operasi aritmatik/logik tidak nol 1 : hasil operasi aritmatik/logik sama dengan nol 0 : hasil operasi aritmatik/logik adalah positif 1 : hasil operasi aritamtik/logik adalah negatif

2 3 4 5 6

P/V H Z

1.2.3 ALAT-ALAT PRAKTIKUM 1. Kit Praktikum Mikroprosessor Z-80 2. Adaptor

1.2.4 PROSEDUR PERCOBAAN 1. Ketikan program pada MPI 2. Masukan nilai awal 1800H 3. Masukan bahasa mesin masing-masing Mnemonic. 4. Tekan PC, STEP, REGKemudian Tekan nama register yang ingin diketahui nilainya 5. Catat pada blangko 6. Pada percobaan 2.2 lakukan hal yang sama.

You might also like