• Tidak ada hasil yang ditemukan

instruksi aritmatik mpf3

N/A
N/A
Protected

Academic year: 2017

Membagikan "instruksi aritmatik mpf3"

Copied!
6
0
0

Teks penuh

(1)

PERCOBAAN 3

INSTRUKSI ARITMATIK DAN LOGIK

Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY E-mail : sumarna@uny.ac.id

Tujuan dari percobaan ini adalah untuk membiasakan diri dengan berbagai instruksi aritmatik dan logik serta menjelaskan tentang status flag. Instruksi aritmatik 8 bit dan operasi logik dalam CPU-Z80 dilaksanakan pada register akumulator A. Register-register A, B, C, D, E, H, dan L dapat digunakan sebagai operand (besaran hitungan) bersama-sama dengan register A. Setelah suatu operasi aritmatik atau logik selesai dilaksanakan, hasilnya akan disimpan pada register A dan beberapa status flag (Carry, Overflow, Change Sign, Zero Result, Parity) juga akan terpengaruh. Status flag disimpan dalam flip-flop yang membentuk register Flag.

(2)

bilangan negatif). Berikut ini dikemukakan beberapa instruksi aritmatik dan logik beserta penjelasannya !

Mnemonic Penjelasan

ADD A Data pada register A ditambahkan pada register A sendiri, artinya data di-dua kali-kan, atau digeser ke kiri 1 bit

ADC B Isi register B bersama dengan Carry Flag ditambahkan pada register A SUB C Data pada register A dikurangi dengan data pada register C

SBC (HL) Isi register A dikurangi dengan isi memori yang address-nya ditunjuk oleh HL, dikurangi lagi dengan Carry Flag

AND D Operasi AND logik antara register D dan Register A OR 0FH Operasi OR logik antara data 0FH dan register A

XOR A Operai EX-OR logik antara register A dengan dirinya sendiri (karena register A sama dengan dirinya maka hasilnya pasti nol)

INC H Menambah isi register H dengan 1 (increment)

INC (IX) Menambah isi memori pada address yang ditunjuk oleh IX dengan 1 DEC C Mengurangi isi register C dengan 1 (decrement)

DEC (IY + 3) Hasil penjumlahan dari isi register IY dan 3 dipakai sebagai penunjuk address pada memori. Kemudian isi memori pada address yang ditunjuk oleh IY + 3 dikurangi dengan 1

Percobaan 3.1 :

(3)

Address Bahasa Mesin

Mnemonik Keterangan

1800 1E 05 LD E,05 Masukkan suatu bilangan 8 bit ke dalam register E

1802 7B LD A,E Masukkan data pada register E ke dalam register A

1803 16 06 LD D,06 Masukkan suatu bilangan 8 bit ke dalam register D

1805 82 ADD A,D Tambahkan data pada register D ke dalam register A (Carry flag dapat berubah)

1806 6F LD L,A Masukkan data pada register A ke dalam register L

1807 3E 00 LD A,00H Masukkan bilangan 0 ke dalam A

1809 CE 00 ADC A,00H Tambahkan 0 bersama Carry ke dalam A 180B 67 LD H,A Masukkan data pada register A ke dalam

register H

180C FF RST 38 H Kembali ke program monitor

Data di dalam E dan D (05 dan 06) dapat diganti dengan data lain yang berukuran 8 bit. Kemudian periksalah isi di dalam pasangan register HL setelah pelaksanaan program.

Percobaan 3.2 :

Rancanglah suatu program untuk menjumlahkan data 16 bit di dalam memori pada address 1A00H hingga 1A01H dengan data 16 bit yang ada di dalam pasangan register DE dan hasil penjumlahannya di simpan dalam pasangan register HL. Masukkan program tersebut ke dalam MPF dan jalankan. Periksa apakah hasil penjumlahan itu sesuai dengan rancangan ! Tabel berikut dapat digunakan sebagai petunjuk pembuatan program.

Address Bahasa Mesin

Mnemonik Keterangan

1800 3A 00 1A LD A,(1A00H) Masukkan data dari lokasi memori 1A00 ke dalam register A

1803 1E 67 LD E,67H Masukkan data 67 ke dalam register E 1805 83 ADD A,E Tambahkan data pada register E ke dalam

(4)

1807 3A 01 1A LD A,(1A01H) Masukkan data dari lokasi memori 1A01 ke dalam register A

180A 16 89 LD D,89H Masukkan data 89 ke dalam register D 180C 8A ADC A,D Tambahkan data dalam register D bersama

Carry ke dalam A

180D 67 LD H,A Masukkan data pada register A ke dalam register H

180E FF RST 38 H Kembali ke program monitor

ADDR 1A00 DATA 98 Memasukkan data 98 ke dalam lokasi memori 1A00

ADDR 1A01 DATA 23 Memasukkan data 23 ke dalam lokasi memori 1A01

Data di dalam E dan D (67 dan 89) serta di dalan lokasi memori 1A00 dan 1A01 (98 dan 23) dapat diganti dengan data lain yang berukuran 8 bit. Kemudian periksalah isi di dalam pasangan register HL setelah pelaksanaan program.

Percobaan 3.3 :

Rancanglah suatu program untuk menjumlahkan data 32 bit di dalam lokasi memori yang address-nya 1A00H s/d 1A03H dengan data 32 bit yang terdapat pada lokasi memori yang address-nya 1A04H s/d 1A07H. Hasil penjumlahannya disimpan di dalam lokasi memori pada address 1A08H s/d 1A0BH. Ingat bahwa hal yang mutlak dalam mikrokomputer adalah byte berorde tinggi disimpan di dalam address yang lebih tinggi. Masukkan program tersebut ke dalam MPF dan jalankan. Periksa apakah hasil penjumlahan itu sesuai dengan rancangan ! Tabel berikut dapat digunakan sebagai petunjuk pembuatan program.

Address Bahasa Mesin

Label Mnemonik

1800 06 04 LD B,04H

1802 DD 21 00 1A LD IX,1A00H

1806 A7 AND A

1807 DD 7E 00 LOOP LD A, (IX + 00)

180A DD 8E 04 ADC A, (IX + 04)

180D DD 77 08 LD (IX + 08),A

1810 DD 23 INC IX

(5)

1813 C2 07 18 JP NZ, LOOP

1816 FF RST 38 H

Misalkan dicoba untuk data berikut :

Data 1A00 = 87 1A04 = A2 1A01 = 9A 1A05 = 97 1A02 = 7B 1A06 = A8 1A03 = 48 1A07 = 6B Hasil 1A08 = 29

1A09 = 32 1A0A = 24 1A0B = B4

Data di dalam lokasi memori 1A00 s/d 1A03 dan 1A04 s/d 1A07 dapat diganti dengan data lain yang berukuran 8 bit. Kemudian periksalah isi di dalam lokasi memori 1A08 s/d 1A0B setelah pelaksanaan program.

Percobaan 3.4 :

Susunlah program untuk melaksanakan operasi pengurangan pada bilangan 16 bit (2 byte). Address awal bilangan yang dikurangi adalah 2D70H dan address awal bilangan pengurangnya adalah 2D72H. Sedangkan address awal tempat penyimpanan hasil pengurangannya adalah 2D74H. Masukkan program tersebut ke dalam MPF dan jalankan. Periksa apakah hasil penjumlahan itu sesuai dengan rancangan ! Tabel berikut dapat digunakan sebagai petunjuk pembuatan program.

Address Bahasa Mesin

Label Mnemonik

1800 06 02 LD B,02H

1802 DD 21 70 2D LD IX,2D70H 1807 DD 7E 00 LOOP LD A, (IX + 00) 180A DD 9E 02 SBC A, (IX + 02)

180D DD 77 04 LD (IX + 04),A

48 7B 9A 87 6B A8 97 A2 B4 24 32 29

(6)

1813 10F3 DJNZ, LOOP

1816 C9 RET

Misalkan dicoba untuk data berikut :

Data 2D70 = CD 2D72 = 12 2D71 = EF 2D73 = 34 Hasil 2D74 = BB

2D75 = BB

Data di dalam lokasi memori 2D70 s/d 2D71 dan 2D72 s/d 2D73 dapat diganti dengan data lain yang berukuran 8 bit. Kemudian periksalah isi di dalam lokasi memori 2D74 s/d 2D75 setelah pelaksanaan program.

CD EF 12 34 BB BB

Referensi

Dokumen terkait

Beberapa gejala yang dapat timbul berkaitan dengan hormon melatonin, antara lain, sukar tidur (insomnia), gangguan pada irama sirkadian, jet lag, serta berbagai gejala lain.

Supernatan yang dihasilkan dibuang dan ke dalam tabung ditambahkan 500 µl etanol 70%, diresuspensi dengan cara dibolak-balik dan disentrifugasi kembali dengan kecepatan 13.000 rpm

Huda memanfaatkan teknik demonstrations-performance dan media VCD untuk meningkatkan keterampilan siswa dalam bermain drama yang bertujuan mencoba mengajak siswa untuk

Hal ini dikarenakan metode yang diterapkan guru masih monoton yaitu guru hanya menggunakan metode ceramah, tanya jawab, dan pemberian tugas pada setiap

Data transaksi volume saham yang ditunjukkan oleh kedua sektor yaitu sektor infrastruktur dan konstruksi dimungkinkan mempunyai interval waktu yang sangat pendek dengan frekuensi

Joint FAO/WHO Expert Consultation on Evaluation of Health and Nutritional Properties of Probiotics in Food Including Powder Milk with Live Lactic Acid Bacteria.. Amerian Córdoba

1 Bank yang menyediakan fasilitas mobile banking akan melakukan transaksi seperti yang dijanjikan.. 2 Transaksi melalui mobile banking dapat

Fakultas Ekonomi USU (FE-USU), yang berjudul : Persepsi Akademisi Akuntansi.. USU terhadap Adanya Akuntansi Forensik (Studi Mahasiswa/I