INSTRUKSI ARITMATIKA

19

Click here to load reader

Transcript of INSTRUKSI ARITMATIKA

Page 1: INSTRUKSI ARITMATIKA

INSTRUKSI ARITMATIKA

I. Tujuan

1. Membuat program untuk menjalankan penjumlahan data heksadesimal yang

pada register.

2. Membuat program pengurangan bilangan dalam sistem komplemen dua.

3. Membuat program pemjumlahan data yang terdapat pada lokasi memori

tertentu.

4. Membuat program penjumlahan dan pengurangan bilangan dalam sistem BCD

(desimal).

5. Menjelaskan fungsi instruksi DAA (desimal adjust accumulator).

II. Dasar Teori

Pada percobaan ini, anda akan berlatih menggunakan berbagai instruksi

aritmatika. Instruksi-instruksi yang termasuk ke dalam kelompok instruksi

aritmatika di antaranya adalah ADD, ADI, ADC, SUB, SUI, SBB, SBI, INR,

DCR, INX, DCX, DAD, dan DAA. Di samping instruksi-instruksi tersebut di

atas, operasi-operasi aritmatika lainnya yang sering dipergunakan untuk

membandingkan nilai bilangan adalah instruksi CMP dan CPI.

Instruksi ADD dan SUB

Instruksi ADD dipergunakan untuk melakukan operasi penjumlahan 8-bit.

Pada operasi tersebut, isi register A (akumulator) akan ditambah dengan isi

register 8-bit atau lokasi memori yang alamatnya ditunjukkan oleh pasangan

register HL. Agar lebih jelas, pelajari tabel berikut.

1

Page 2: INSTRUKSI ARITMATIKA

Tabel 4.1

Instruksi SUB dipergunakan untuk melakukan operasi pengurangan 8-bit.

Pada operasi tersebut, isi register A (akumulator) akan dikurangi dengan isi

register B bit, atau isi lokasi memori yang alamatnya ditunjukkan oleh pasangan

bit register HL. Perhatikan table 4.2 berikut ini.

Tabel 4.2

Mnemonik Simbol Operasi

Sub A A ← A - A

Sub B A ← A - B

Sub C A ← A - C

Sub D A ← A - D

Sub E A ← A - E

Sub H A ← A - H

Sub L A ← A - L

Sub M A ← A – [(HL)]

Instruksi ADI dan SUI

Instruksi ADI dipergunakan untuk menambah isi register A (Akumulator)

dengan data 8-bit (immediate data).

Contoh 4.1

2

Mnemonik Simbol Operasi

ADD A A ← A + A

ADD B A ← A + B

ADD C A ← A + C

ADD D A ← A + D

ADD E A ← A + E

ADD H A ← A + H

ADD L A ← A + L

ADD M A ← A + [(H) (L)]

Page 3: INSTRUKSI ARITMATIKA

Pada instruksi ADI 2Ch, isi register A akan ditambah dengan data 2Ch dan

hasilnya disimpan pada register A.

Instruksi SUI 5Ah dipergunakan untuk mengurangi isi register A

(akumulator) dengan data 8-bit (immediate data).

Contoh 4.2

Pada instruksi SUI 5Ah, isi register A akan dikurangi dengan data 5Ah

dan hasilnya disimpan pada register A.

Jika hasil penjumlahan atau hasil pengurangan hasil pengurangan lebih

besar dari 7Fh (+127 desimal) atau lebih kecil dari 80h (-128 desimal) maka

caryy/borrow bit akan set (CY=1).

Instuksi ADC dan SBB

Instruksi ADC dipergunakan untuk menambah isi register A dengan data 8-

bit dan menginstruksikan carry bit (CY) dari operasi sebelumnya. Data 8-bit

tersebut dapat diambil dari suatu register suatu lokasi memori yang alamatnya

ditunjukkan oleh register HL. Mnemonik dan simbol operasi untuk instruksi ADC

ditunjukan pada table 4.3. Instruksi untuk mengurangi isi register A dengan data

8-bit dan mengikutsertakan borrow bit (CY) dari operasi sebelumnya. Data 8-bit

tersebut dapat diambil dari suatu register atau lokasi memori yang alamatnya

ditunjukkan oleh register HL.

Tabel 4.3

3

A ← A – 5Ah

A ← A – 5Ah

Page 4: INSTRUKSI ARITMATIKA

Mnemonik Simbol Operasi

ADC A A← A+A+CY

ADC B A← A+B+CY

ADC C A← A+C+CY

ADC D A← A+D+CY

ADC E A← A+E+CY

ADC H A← A+H+CY

ADC L A← A+L+CY

ADC M A← A+[(H)(L)] +CY

Table 4.4 memperlihatkan mnemonik dan sismbol operasi untuk instruksi

SBB. Pelajari table 4.4 berikut ini.

Mnemonik Simbol Opeeasi

SBB A A← A-A-CY

SBB B A← A-B-CY

SBB C A← A-C-CY

SBB D A← A-D-CY

SBB E A← A-E-CY

SBB H A← A-H-CY

SBB L A← A-L-CY

SBB M A← A-[(H)(L)] - CY

Instruksi ACI dan SBI

Instruksi ACI dipergunakan untuk menambah register A dengan data 8-bit

(immediate data) dan mengikutsertakan carry bit dari oprasi sebelumnya.

Contoh 3.3

4

Page 5: INSTRUKSI ARITMATIKA

Instruksi ACI 5Fh akan menambahkan isi register A dengan data 5Fh dan carry

bit.

Instruksi SBI dipergunakan untuk mengurangi isi register A dengan data 8-bit

(immediate data) dan mengikutsertakan borrow bit (CY) dari operasi sebelumnya.

Contoh 4.4

Instruksi SBI 2Ch akan mengurangi isi register A dengan data 2Ch dan borrow

bit.

Catatan : instruksi ADD,ADI,ADC,SUB, SBI, ACI, dan SBI akan mempengaruhi

atau mengubah bit-bit S, Z, Ac, P dan CY dari register flag.

Instruksi INR dan DCR

Intruksi INR digunakan untuk menambah (menaikkan) dengan 1 isi dan

suatu register 8-bit atau lokasi memori yang alamatnya ditunjukan oleh register

HL.

Perhatikan Tabel 4.5 berikut ini.

mnemonic Symbol Operasi

INR A A ← A + 1

INR B B ← B + 1

INR C C ← C + 1

INR D D ← D + 1

INR E E ← E + 1

INR H H ← H + 1

INR L L ← L + 1

INR M [(HL)] ← [(HL)] + 1

Instruksi DCR dipergunakan untuk mengurangi dengan 1 (menurunkan) isi dari

suatu register 8-bit atau lokasi memori yang ditunjukkan oleh register HL

5

A←A+5Fh - CY

A← A-2Fh-CY

Page 6: INSTRUKSI ARITMATIKA

Perhatikan Tabel 4.6 berikut ini.

Mnemonik Simbol Operasi

DCR A A ← A - 1

DCR B B ← B - 1

DCR C C ← C - 1

DCR D D ← D - 1

DCR E E ← E - 1

DCR H H ← H - 1

DCR L L ← L - 1

DCR M [(HL)] ← [(HL)] – 1

Catatan : instruksi INR dan DCR akan mempengaruhi/mengubah bit-bit S, Z, P

dan Ac dari register Flag, tetapi tidak mempengaruhi bit CY.

Instruksi INX dan DCX

Instruksi INX dipergunakan untuk menambah dengan 1 (menaikkan) isi

suatu pasangan register (16-bit register). Lihat table 4.7.

Tabel 4.7

Mnemonik Simbol Operasi

INX B BC ← BC + 1

INX D DE ← DE + 1

INX H HL ← HL + 1

INX SP SP ← SP + 1

Instruksi DCX dipergunakan untuk mengurangi dengan 1 (menurunkan) isi dari

suatu pasangan register (16-bit register), seperti ditunjukkan oleh tabel 4.8.

Tabel 4.8

Mnemonik Simbol Operasi

6

Page 7: INSTRUKSI ARITMATIKA

DCX B BC ← BC - 1

DCX D DE ← DE - 1

DCX H HL ← HL - 1

DCX SP SP ← SP - 1

Catatan : instruksi INX dan DCX tidak mengubah (mempengaruhi) bit status

(register flag).

Instruksi DAD

Instruksi DAD dipergunakan untuk menambah isi pasangan register HL

dengan isi suatu pasangan register pada operasi penjumlahan 16-bit. Agar lebih

elas, pelajari tabel 4.9 berikut.

Tabel 4.9

Mnemonik Simbol Operasi

DAD B HL ← HL + BC

DAD D HL ← HL + DE

DAD H HL ← HL + HL

DAD SP HL ← HL + SP

Catatan : instruksi DAD hanya akan mempengaruhi bit CY dari register flag.

III. Peralatan yang digunakan

1. Komputer

2. 8085 simulator IDE

IV. Langkah Percobaan dan Latihan

A. Menjumlahkan Data-Data Heksadesimal

1. Buatlah bagan alir dan program untuk untuk menjumlahkan 2 bilangan 24

bit yang berada pada lokasi memori dengan alamat D002, D001,D000 dan

7

Page 8: INSTRUKSI ARITMATIKA

D005,d004,D003. Simpan hasil penjumlahan ini pada alamat

D009,D008,D007,D006. Tulis program tersebut mulai dari alamat 7100h.

2. Ujilah program dengan data-data seperti pada table di bawah ini.

3. Catat hasil percobaan pada table,dan buatlah hasil percobaan dan

kesimpulan

Bagan alir

Program

8

Page 9: INSTRUKSI ARITMATIKA

Hasil eksekusi

9

Page 10: INSTRUKSI ARITMATIKA

10

Page 11: INSTRUKSI ARITMATIKA

11

Page 12: INSTRUKSI ARITMATIKA

12

Page 13: INSTRUKSI ARITMATIKA

Input data Output data

D000 D001 D002 D003 D004 D005 D006 D007 D008 D009

00 00 00 00 00 00 00 00 00 00

77 66 55 44 33 22 00 BB 99 77

DE BC 5A 9A 78 56 01 79 34 B0

00 00 00 FF FF FF 00 FF FF FF

FF FF FF FF FF FF 01 FF FF FE

Analisa

13

Page 14: INSTRUKSI ARITMATIKA

Kesimpulan

14

Page 15: INSTRUKSI ARITMATIKA

Daftar pustaka

15