laporan pratikum program dengan aritmatika

27
LAPORAN PRAKTIKUM MIKROPROSESSOR Program dengan Aritmatika NAMA : Ahmad Zulfan NIM : 1120402010 KELAS : D 2 PRODI : TEKNIK TELEKOMUNIKASI

Upload: jerry

Post on 05-Dec-2014

446 views

Category:

Documents


39 download

DESCRIPTION

MIKROPROSESOR

TRANSCRIPT

Page 1: laporan pratikum Program dengan Aritmatika

LAPORAN PRAKTIKUMMIKROPROSESSOR

Program dengan Aritmatika

NAMA : Ahmad ZulfanNIM : 1120402010KELAS : D 2PRODI : TEKNIK TELEKOMUNIKASI

KEMENTRIAN PENDIDIKAN NASIONALPOLITEKNIK NEGERI LHOKSEUMAWE

Lembar Pengesahan

Page 2: laporan pratikum Program dengan Aritmatika

Judul Praktikum : Instruksi AritmatikaNo Praktikum : 03/ LAB. JARINGAN KOMPUTERNama : Ahmad ZulfanNim : 1120402010Jurusan/ Prodi : T.Elektro/ T.Telekomunikasi

Tanggal Praktikum : 2 – 03 - 2013Tanggal Penyerahan : 16 – 03 - 2013

Nilai :

Dibuat Diperiksa

Mahasiswa, Dosen Pembimbing,

( Ahmad Zulfan) (Hanafi, ST, M,Eng)Nim. 1120402010 Nip.196901172002121001

i

Page 3: laporan pratikum Program dengan Aritmatika

Daftar Isi

Lembar Pengesahan ………………………… i

Daftar isi ………………………………… ii

I. Tujuan praktikum ………………………… 1

II. Dasar Teori ………………………………… 1

III. Peralatan yang digunakan …………………… 1

IV. Teori penunjang ……………………………… 2

V. Langkah percobaan ………………………….. 6

VI. Program dan Flowchart ……………………… 7

VII. Penyelesaian tugas …………………………… 10

VIII. Analisa ………………………………… 15

XI. Kesimpulan ………………………………… 16

X. Daftar pustaka ………………………… 17

ii

INSTRUKSI ARITMATIKA

Page 4: laporan pratikum Program dengan Aritmatika

I. Tujuan

Setelah melakukan percobaan-percobaan pada bab ini, diharapkan saudara

mampu:

1. untuk membuat program untuk menjalankan data heksadesimal yang terdapat

pada register.

2. Membuat program pengurangan bilangan dalam sistem kpmplemen 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

Tabel 4.1

Page 5: laporan pratikum Program dengan Aritmatika

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

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

2

Instruksi ADI dan SUI

Page 6: laporan pratikum Program dengan Aritmatika

Instruksi ADI dipergunakan untuk menambah isi register A (Akumulator)

dengan data 8-bit (immediate data).

Contoh 4.1

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

3

A ← A – 5Ah

A ← A – 5Ah

Page 7: laporan pratikum Program dengan Aritmatika

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

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

4

Page 8: laporan pratikum Program dengan Aritmatika

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

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.

5

A←A+5Fh - CY

A← A-2Fh-CY

Page 9: laporan pratikum Program dengan Aritmatika

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

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

6

Page 10: laporan pratikum Program dengan Aritmatika

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

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

7

Page 11: laporan pratikum Program dengan Aritmatika

Instruksi DAD

Instruksi DAD dipergunakan untuk menambah isi pasangan register HL

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

jelas, 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. Membuat bagan alir dan program untuk menjumlahkan data-data heksadesimal yang

berada pada register-register D, E, H, dan L. Simpan hasilnya pada register A dan

gunakan register B untuk menyimpan “carry bit”. Tulis program tersebut mulai

alamat 8000h.

8

Page 12: laporan pratikum Program dengan Aritmatika

B. Penjumlahan data-data desimal

1. Membuat flowchart dan program untuk menjumlahkan 9 bilangan desimal 2

digit yang berada pada alamat D000h sampai D008h. Simpan hasilnya pada

alamat D00Ah dan D009h. Tulis program tersebut mulai dari alamat 8000h.

2. Menguji program dengan menggunakan data-data desimal seperti tabel ini:

ALAMAT

D000 D001 D002D00

3D004 D005 D006 D007 D008 D00A D009

00 00 00 00 00 00 00 00 00

10 20 30 40 50 60 70 80 90

99 99 99 99 99 99 99 99 99

44 44 44 44 44 44 44 44 44

C. Mendapatkan Hasil Suatu Persamaan

1. Membuat flowchart dan program untuk mendapatkan hasil perhitungan

berdasarkan persamaan matematis berikut. Tulis program anda mulai pada

alamat 8100h.

A = Reg. A, B = Reg. B, C = Reg. C, D = Reg. D, E = Reg. E, H = Reg. H

A = B + C – D – E +H

Page 13: laporan pratikum Program dengan Aritmatika

9

2. Menguji program menggunakan data-data desimal seperti berikut.

Register Hasil

B C D E H Cy A

99 99 99 99 23

30 40 12 05 08

40 90 00 12 00

80 70 60 50 30

98 76 54 32 10

3. Mencatat hasilnya pada tabel, dan membuat laporan sementara.

4. Membuat analisa program dan analisa hasil percabaan.

5. Memberikan kesimpulan dari praktikum aritmatika

Page 14: laporan pratikum Program dengan Aritmatika

10

V. Program dan flowchartA. Penjumlahan data-data heksadesimal yang berada pada register-register D, E,

H,dan L.

ORG 7000HMOV A,DADD EMOV C,AMVI A,00ACI 00MOV B,A MOV A,CADD HMOV C,AMOV A,BACI 00MOV B,AMOV A,CADD LMOV C,AMOV A,BACI 00MOV C,AMOV A,BACI 00MOV B,AMOV A,CRST 1

END

A: 00h

A←CF

A ←D

A← A+E

C← A

D : FFE : FFH : FFL : FF

B←A

A A←C

A=A+H

C←A

A←B

A←CF

Mulai

B←A

A←C

A = L+A

A

A←C

A←B

A←CF

C←A

A←B

F ←P

B←A

A←C

RST 1

Selesai

Page 15: laporan pratikum Program dengan Aritmatika

11

B. Penjumlahan Data-Data Desimal

ORG 8000hSTCCMCMVI B,0MVI C,9MVI H,0D0hMVI L,0MOV D,M

LOOP2: INX HDCR CJZ LOOP1MOV A,MADD DDAAMOV D,AJNC LOOP2INR BJMP LOOP2MOV A,D

LOOP1: STA 0D009hMOV A,BSTA 0D00AhHLT

A

A ← A-E

A ← A+H

A ← B

A ← A+C

A ← A-D

B: 80hC: 70hD: 60hE: 50hH: 30h

70

Mulai

Selesai

Page 16: laporan pratikum Program dengan Aritmatika

12

Page 17: laporan pratikum Program dengan Aritmatika

C. Mendapatkan Hasil Suatu Persamaan

ORG 8100hMVI B,80hMVI C,70hMVI D,60hMVI E,50hMVI H,30hMOV A,BADD CSUB DSUB EADD HDAAHLT

13

A ← A-E

A ← A+H

A ← B

A ← A+C

A ← A-D

B: 80hC: 70hD: 60hE: 50hH: 30h

70

Mulai

Selesai

Page 18: laporan pratikum Program dengan Aritmatika

V. Hasil PercobaanProgram :

ALAMAT KODE OPERASI LABEL MNEMONIK

7000h 7A A←D MOV A,D

7001h 83 A←A+E ADD E

7002h 4F C←A MOV C,A

7003h 3E 00 A←00 MVI A,00

7005h CE 00 A←A+00+CY ACI 00

7007h BA B←A MOV B,A

7008h 79 A←C MOV A,C

7009h 84 A←A+H ADD H

700Ah 4F C←A MOV C,A

700Bh 78 A←B MOV A,B

700Ch CE 00 A←A+00+CY ACI 00

700Eh 47 B←A MOV B,A

700Fh 79 A←C MOV A,C

7010h 85 A←A+L ADD L

7011h 4F C←A MOV C,A

7012h 78 A←B MOV A,B

7013h CE 00 A←A+00+CY ACI 00

7015h 4F C←A MOV C,A

7016h 78 A←B MOV A,B

7017h CE 00 A←A+00+CY ACI 00

7019h 47 B←A MOV B,A

701Ah 79 A←C MOV A,C

701Bh CF STOP RST 1

14

Page 19: laporan pratikum Program dengan Aritmatika

B. penjumlahan data-data desimal

ALAMAT

D000 D001 D002D00

3D004 D005 D006 D007 D008 D00A D009

00 00 00 00 00 00 00 00 00 00 0010 20 30 40 50 60 70 80 90 04 5099 99 99 99 99 99 99 99 99 08 9144 44 44 44 44 44 44 44 44 03 96

15

Page 20: laporan pratikum Program dengan Aritmatika

C. Mendapatkan Hasil Suatu Persamaan

Register Hasil

B C D E H Cy A

99 99 99 99 23 00 2330 40 12 05 08 00 6140 90 00 12 00 00 BE80 70 60 50 30 00 7098 76 54 32 10 00 98

A = B + C – D – E + H

16

Page 21: laporan pratikum Program dengan Aritmatika

XI. Analisa

17

Page 22: laporan pratikum Program dengan Aritmatika

X. Kesimpulan

18