Anda di halaman 1dari 9

Mikroprosesor Ir.

Morlan Pardede, MT
Percobaan Aritmatika dan Logika

MODUL 2
PERCOBAAN ARITMATIKA DAN LOGIKA

A. TUJUAN
1. Membuktikan fungsi instruksi-instruksi pengolahan data.
2. Membuat program dan penjumlahan, pengurangan, dan perkalian secara
hexadesimal dan BCD.

B. Dasar Teori
Instruksi Arithmatika pada mikroprosesor 8085 terdiri dari :
-Penjumlahan tanpa carry: ADD r, ADI d8
-Penjumlahan dengan carry: ADC r, ACI d8
-Pengurangan tanpa borrow: SUB r, SUI d8
-Pengurangan dengan borrow: SBB r, SBI d8
-Penjumlahan 16-bit : DAD rp
Instruksi Logika pada mikroprosesor 8085 terdiri dari:
-Logika AND : ANA r, ANI d8
-Logika OR : ORA r, ORI d8
-Logika EX-OR: XRA r, XRI d8
-Logika Complement: CMA, CMC
Instruksi pengeseran bit pada mikroprosesor 8085 hanya dapat dilakukan pada
akumulator dan bit carry. Instruksi putar/geser ini a dalah:
-Putar/geser ke kiri dengan melalui carry : RAL
-Putar/geser ke kiri tanpa melalui carry : RLC
-Putar/geser ke kanan dengan melalui carry :RAR
-Putar/geser ke kanan tanpa melalui carry : RRC

a. Instruksi Penjumlahan.
Seluruh instruksi penjumlahan 8-bit dilakukan melalui Akumulator, dengan
demikian salah satu bilangan yang akan dijumlahkan harus dimasukkan pada Reg. A.
Hasil penjumlahan terdapat pada akumulator dan indikasi/status terdapat pada register
Flag.

7-1 POLITEKNIK NEGERI MEDAN


Mikroprosesor Ir.Morlan Pardede, MT
Percobaan Aritmatika dan Logika

Contoh 1:
Berikut ini adalah program untuk menjumlahkan data yang terdapat memori 7170H
dengan 7171 H dan hasil disimpan pada memori 7172 H.
PROGRAM 1:

Alamat Op-Code Mnemonic Komentar


A000 3A-70-71 LDA 7170 Baca Isi memori 7170
A003 47 MOV B, A dan simpan pada Reg.B
A004 3A-71-71 LDA 7171 Baca isi memori 7171
A007 80 ADD B Jumlahkan isi 7170 dengan isi 7171
A008 32-72-71 STA 7172 Hasil simpan pada memori 7172
A00B 76 HLT Selesai
Jika isi memori adalah:
7170 = 95 H 7171=85 H proses penjumlahnnya adalah:
95 H + 85 H =1A H dengan Cy=1, yang mengakibatkan isi memori 7172 H = 1AH.
b. Perkalian
Pada mikroprosesor 8085 tidak ada instruksi perkalian, untuk itu untuk
melaksanakan proses perkalian harus dibuat program. Proses perkalian dapat
dilakukan dengan menjumlahkan bilangan yang dikali sebanyak pengali. Sebagai
contoh perkalian 5 dengan 4 (5x4) dapat dilakukan dengan menjumlahkan bilangan 4
sebanyak 5 kali (4+4+4+4+4). Dengan demikian program perkalian dapat dibuat
dengan instruksi penjumlahan. Berikut ini diberikan langkah-langkah untuk pembuatan
program perkalian data 05 dengan 04 dengan diagram alir seperti pada gambar 1.

Mulai

Clear Acc dan bit Cy

Set Loop= Bilangan Pengali

Set Bilangan dikali

Acc=Acc+bilangan Dikali

Kurangi banyak Loop

Tidak
Loop=0
?
Ya

Selesai

Gambar 1 Diagram alir Perkalian dengan proses jumlah

7-2 POLITEKNIK NEGERI MEDAN


Mikroprosesor Ir.Morlan Pardede, MT
Percobaan Aritmatika dan Logika

Program 2 merupakan program perkalian dua buah data 1 byte untuk yang
hasilnya tidak lebih dari 1 byte.
PROGRAM 2.

Alamat Op-Code Label Mnemonic Komentar


A000 AF XRA A Clear Acc. dan Cy A=0
Cy=0
A001 06-04 MVI B,04 Set dikali B=04 B=04

A003 0E-05 MVI C,05 Set yang pengali C=05 C=05

A005 80 Ulang: ADD B Acc=Acc + Reg.B A= 04 A= 08 A=0C A=10H


Cy=0 Cy=0
Cy=0 Cy=0
A006 0D DCR C Kurangi pengali C=04 C=03 C=02 C=01
Z=0 Z=0
Z=0 Z=0
A007 C2-05-A0 JNZ Ulang Ulangi jika pengali PC=A PC=A0 PC=A PC=A0
belum 0 005 05
005 05
A00A 76/FF HLT / RST7 Selesai

Program berikut adalah program perkalian isi Register A dengan isi register B dan
hasilnya pada HL. Sebelum dieksekusi isikan Register A dengan data 64 H dan register
B dengan 05.
Program 3.

Alamat Op-Code Labe Mnemonic Komentar


l
A014 21-00- LXI H,0000 Clear hasil HL=0000
00 Cy=0

A017 16-00 MVI D,00 Clear buffer D=00

A019 5F MOV E,A Ambil bil. E=64


yang dikali
A01A 19 Ulang DAD D HL=Hasil+b HL=0064 HL=00C8 HL=012C HL=0190 HL =01F4
: il.dikali Cy=0 Cy=0
Cy=0 Cy=0 Cy=0
A01B 05 DCR B B = 04 B = 03 B = 02 B=01 B=00
A01C C2-1A- JNZ Ulang PC=A01A PC=A01A PC=A01A PC=A01A PC =A01F
A0
A01F 76 HLT Selesai

7-3 POLITEKNIK NEGERI MEDAN


Mikroprosesor Ir.Morlan Pardede, MT
Percobaan Aritmatika dan Logika

C. PERCOBAAN
Simulasikan progam 2 sampai program 10 berikut ini pada mikrokomputer dan
kemudian eksekusi secara bertahap (step demi step) dengan fungsi trace (tombol F8)
1. Program Penjumlahan
PROGRAM 3:

Alamat Op-Code Mnemonic Komentar


9000 AF XRA A ACC=0 CY=0 Z=1

9001 3E-95 MVI A,95 ACC = 95 CY=0 Z=1

9003 0E-86 MVI C,86 C=86 CY = 0 Z= 1

9005 16-65 MVI D,65 D = 65 CY = 65 Z=1

9007 81 ADD C A=1B CY=;1 S=0.. Z=0 .. H=00.. P=1..

9008 8A ADC D A=81 CY = 0 S=1 Z= 0 H=00 P=1

9009 76 RST 7 SELESAI


Reg. A = ..., C = .. , D = ... , Flag : S = Z = H= P= Cy =

2. Program Pengurangan
PROGRAM 4.

Alamat Op-Code Mnemonic Komentar


9050 AF XRA A ACC=0 CY=0 Z=1

9051 3E-25 MVI A,25


9053 0E-25 MVI C,32
9055 16-21 MVI D,21
9057 91 SUB C
9058 9A SBB D
9059 76 RST 7
Reg. A = ..., C = .. , D = ... , Flag : S = Z= H= P= Cy =
3. Program Penjumlahan BCD
Operasi yang dilakukan dalam mikroprosesor adalah operasi biner atau hexa.
Sehingga untuk operasi penjumlahan BCD maka harus ditambahkan operasi
pendesimalan DAA. Operasi DAA akan menambahkan 6 terhadap hasil operasi

7-4 POLITEKNIK NEGERI MEDAN


Mikroprosesor Ir.Morlan Pardede, MT
Percobaan Aritmatika dan Logika

penjumlahan jika lebih besar dari 9 atau bit Cy=1 atau Ac=1. Untuk 2-digit maka dapat
menambahkan 06 H, 60H atau 66 H.

PROGRAM 5 . Penjumlahan BCD

Alamat Op-Code Mnemonic Komentar


90A0 XRA A
MVI A,95
MVI C,86
MVI D,65
ADD C
DAA
ADD D
DAA
RST 7
Reg. A = ..., C = .. , D = ... , Flag : S = Z= H= P= Cy =

Catatan: pada operasi DAA jika bit Cy sebelumnya adalah logika 1 maka Cy tidak
diubah (tetap), tetapi jika bit Cy sebelumnya 0 dan operasi DAA menghasilkan carry
maka bit Cy diset 1.

4. Program Pengurangan BCD


Operasi DAA tidak berlaku untuk operasi pengurangan, untuk itu dilakukan
modifikasi. Program 10 merupakan program pengurangan isi register B dengan isi reg
C secara BCD dengan menggunakan komplement 10. Dimana bilangan pengurang
terlebih dahulu dikurangkan terhadap 100 (99+1=9A). Hasil pengurangan kemudian
ditambahkan dengan bilangan yang dikurang kemudian didsimalkan dengan DAA.
PROGRAM 6.

Alamat Op-Code Mnemonic Komentar


9220 MVI A, 9A
MVI B, 56
MVI C, 39
SUB C
ADD B

7-5 POLITEKNIK NEGERI MEDAN


Mikroprosesor Ir.Morlan Pardede, MT
Percobaan Aritmatika dan Logika

DAA
HLT
Reg. A = ..., C = .. , D = ... , Flag : S = Z= H= P= Cy =

5. Operasi Logika
PROGRAM 7

Alamat Op-Code Mnemonic Komentar


9100 MVI A,AC
MVI B,0F
MVI C,F0
ORA B
XRA C
ANI 35
CMA
RST 7
Reg. A = ..., C = .. , D = ... , Flag : S = Z= H= P= Cy =

6. Operasi Geser
PROGRAM 8.

Alamat Op-Code Label Mnemonic Komentar


9150 XRA A
MVI A,56
MVI B,03
Ulang: RLC A= A A

DCR B B= B= B=

JNZ Ulang Z= Z= Z=

RST 7 Selesai
Reg. A = ..., C = .. , D = ... , Flag : S = Z= H= P= Cy =

PROGRAM 9.

Alamat Op-Code Label Mnemonic Komentar


9200 MVI A,D9H
MVI C,04
Ulang: STC Cy= Cy= Cy= Cy=

7-6 POLITEKNIK NEGERI MEDAN


Mikroprosesor Ir.Morlan Pardede, MT
Percobaan Aritmatika dan Logika

RAR Acc= Acc= Acc= Acc=

DCR C C= C= C= C=

JNZ Ulang Z= Z= Z= Z=

HLT
Reg. A = ..., C = .. , D = ... , Flag : S = Z= H= P= Cy =

7. Program 10 adalah program untuk menghitung banyaknya data yang terdapat pada
alamat AA00(H) s/d AA05(H) yang bilangan genap. Program ini memeriksa logika
dari bit LSB atau bit b0 dari data, dimana jika b0 dari data logika 0 berarti data adalah
bilangan genap dan jika logika 1 berarti bilangan ganjil.
Program 10.

Alamat Op-Code Label Mnemonic Komentar


9250 MVI B,00
LXI D,AA00
Ulang LDAX D
ANI 01
JNZ Ganjil
INR B
Ganjil INX D
MOV A,E
CPI 06
JNZ Ulang
HLT

- Sebelum program dieksekusi terlebih dahulu isikan data pada alamat AA00(H)
s/d AA05(H).
- Eksekusi program dan periksa isi register B.
- Apakah isi register B sama dengan banyaknya bilangan yang terdapat
pada AA00(H) s/d AA05(H).

D. Berikan Kesimpulan dari percobaan anda

Tugas:

7-7 POLITEKNIK NEGERI MEDAN


Mikroprosesor Ir.Morlan Pardede, MT
Percobaan Aritmatika dan Logika

1. Buatlah program untuk dapat menjumlahkan 2 buah data 3-byte secara desimal
dimana Data-1 terdapat pada memori 8100H s/d 8102H dan Data-2 terdapat pada
memori 8110H s/d 8112H sebagai contoh isi memori 8100H s/d 8102H =76, 63, 75
sebagai Data-1 dan isi memori 8110H s/d 8112H adalah 98,76,78 sebagai Data-2
dengan proses sebagai berikut:

(8102) (8101) (8100) 75637610


(8112) (8111) (8110) + 78769810 +
(8123) (8122) (8121) (8120)

2. Buatlah program menjumlahkan 5 buah data 1-byte secara desimal dimana data-
data tersebut terdapat pada memori 8100H s/d 8104H dan hasilnya disimpan pada
memori 8110H dan 8111H. Sebagai contoh isi memory 8100H.s/d 8104H adalah 98,
97, 69,73,83 dan prosesnya adalah sebagai berikut:

00 00
98 (8100)
00 98
97 (8101)
01 2F
66
01 95
69 (8102)
01 FE
66
02 64
73 (8103)
02 D7
60
03 37
83 (8104)
03 BA
66
04 20
(8111) (8110)

7-8 POLITEKNIK NEGERI MEDAN


Mikroprosesor Ir.Morlan Pardede, MT
Percobaan Aritmatika dan Logika

4. Buat program untuk mengalikan 2 buah bilangan 1-byte secara desimal


Contoh: 25(10) x 05 (10)
Catatan: Proses perkalian dilakukan dengan proses penjumlahan
5. Buat program untuk menjumlahkan empat buah bilangan 2 byte

Catatan: Buat alamat byte pertama dimulai dari 8200H dan alamat data byte2 8210H
(8200H)=45; (8201H)=89H ; (8202H)=72 H; (8203H )=86
(8210H)=23; (8211H)=67H ; (8212H)=89 H; (8213H)=79

7-9 POLITEKNIK NEGERI MEDAN

Anda mungkin juga menyukai