DISUSUN OLEH
IAN PAULUS SINAMBELA
18050602030
TK-4D
i
LEMBAR PENGESAHAN
Judul : ARITMATIKA
NamaPraktikan : Ian Paulus Sinambela
NIM : 1805062030
2. Renova Simanjuntak
3. PutriSuci Lestari
5. SelaJulikaGultom
6. SumitroButarbutar
Instruktur I Instruktur II
2
TUJUAN
1. Membuktikan fungsi instruksi-instruksi pengolahan data.
2. Membuat program dan penjumlahan, pengurangan, dan perkalian secara
hexadesimal dan BCD.
DASAR TEORI
Instruksi Arithmatika pada mikroprosesor 8085 terdiri dari :
Instruksi pengeseran bit pada mikroprosesor 8085 hanya dapat dilakukan pada akumulator dan
bit carry. Instruksi putar/geser ini a dalah:
3
-Putar/geser ke kanan dengan melalui carry :RAR
a. Instruksi Penjumlahan.
Contoh 1:
Berikut ini adalah program untuk menjumlahkan data yang terdapat memori 7170 H dengan
7171 H dan hasil disimpan pada memori 7172 H.
PROGRAM 1:
b. Perkalian
4
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
Acc=Acc+bilangan Dikali
Tidak
Loop=0
?
Ya
Selesai
Program 2 merupakan program perkalian dua buah data 1 byte untuk yang hasilnya
tidak lebih dari 1 byte.
PROGRAM 2.
5
A007 C2-05-A0 JNZ Ulang Ulangi jika pengali PC= PC= PC= PC=
belum 0
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.
DCR B
JNZ Ulang
HLT Selesai
6
PERCOBAAN
PROGRAM 1
7
Berikut ini adalah program untuk menjumlahkan data yang terdapat memori 7170 H dengan
7171 H dan hasil disimpan pada memori 7172 H.
8
95 H + 85 H =1A H dengan Cy=1, yang mengakibatkan isi memori7172 H = 1AH.
PROGRAM 2
9
Program 2 merupakan program perkalian dua buah data 1 byte untuk yang hasilnya
tidak lebih dari 1 byte.
A005 80 Ulang: ADD B Acc=Acc + Reg.B A=04H A=08H A=0CH A=10H A=14H
Cy=0 Cy=0
Cy=0 Cy=0 Cy=0
10
A007 C2-05-A0 JNZ Ulang Ulangi jika pengali PC= PC= PC= PC= PC=
belum 0 A005 A005
A005 A005 A00A
A= 00 H 0000 0000
B= 04 H 0000 0100 +
A= 0000 0100
C= 05 H 0000 0101
0000 0001 -
C= 0000 0100
HLT = Selesai
Reg. A = 14 H, C = 0 H , Flag : S = 0 Z = 1 H= 0 P =1 Cy = 0
11
PROGRAM 3
12
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.
A016 19 Ulang: DAD D HL=Hasil + bil.dikali HL=64H HL=C8 HL=012 HL=0 HL=0
Cy=0 H Cy=0 190H 1F4H
CH Cy=0
Cy=0 Cy=0
13
A01B 76 HLT Selesai
B= 05 H 0000 0101
0000 0001 -
B= 04 H 0000 0100
HLT = Selesai
14
PROGRAM 4
15
Alamat Op-Code Mnemonic Komentar
9059 RST 7
A= 25 H 0010 0101
C= 32 H 0011 0010 -
A= F3 H 1111 0011
A= F3 H 1111 0011
D= 21 H 0010 0001 -
A= D2 H 1101 0010
RST 7= SELESAI
PROGRAM 5
16
17
Alamat Op-Code Mnemonic Komentar
90AB RST 7
A= 95 H 1001 0101
C= 86 H 1000 0110 +
0110 0110 +
18
A= 81 H 1000 0001
A= 81 H 1000 0001
D= 65 H 0110 0101 +
A= E6 H 1110 0110
A= E6 H 1110 0110
0110 0000 +
A= 46 H 0100 0110
RST 7= Selesai
PROGRAM 6
19
Alamat Op-Code Mnemonic Komentar
9229 76 HLT
20
MVI C, 39 = Set reg. C dengan data 39 H, sebagai bilangan pengurang
A= 61 H 0110 0001
A= B7 H 1011 0111
0110 0000 +
A= 17 H 0001 0111
HLT= Selesai
21
PROGRAM 7
22
Alamat Op-Code Mnemonic Komentar
9107 A9 XRA C A= 5F
910A 2F CMA A= EA
910B RST 7
23
MVI C,F0 H= Set reg. C dengan data F0 H
0011 0101 +
A= 15 H 0001 0101
1111 1111 +
RST 7= Selesai
24
PROGRAM 8
25
Alamat Op-Code Label Mnemonic Komentar
0000 0001 +
A= 02 H 0000 0010
RST 7= Selesai
26
PROGRAM 9
27
Alamat Op-Code Label Mnemonic Komentar
920A 76 HLT
0000 0001 +
A= 03 H 0000 0011
HLT = Selesai
28
Program 10.
29
Alamat Op-Code Label Mnemonic Komentar
30
952E FE-06 CPI 06 S=1 Z=0 S=1 Z=0 S=1 Z=0 S=1 Z=0 S=1 Z=0
A=1 A=1 A=1 A=1 A=1
P=0 C=1 P=1 P=0 P=0 P=1
C=1 C=1 C=1 C=1
9533 76 HLT
- Sebelum program dieksekusi terlebih dahulu isikan data pada alamat AA00(H)
LDAX D= Bebani Acc dengan isi data pada alamat reg. DE, yaitu data yang ingin
diperiksa
0000 0001
A= 01 H 0000 0001
JNZ Ganjil= lompat jika Z=0, jika data acc ganjil maka akan di lompatkan
0000 0001 +
31
B= 01 H 0000 0001
CPI 06= Bandingkan isi Acc dengan data 06 H, untuk memeriksa alamat data
JNZ Ulang= lompat jika Z=0, jika belum akhir maka lompat ke label Ulang
HLT = Selesai
32
PERTANYAAN DAN JAWABAN
• Pertanyaan
Buatlah program untuk dapat menjumlahkan 2 buah data 3-byte secara desimal dimana
Data-1 terdapat pada memori 8100H s/d 8102 H dan Data-2 terdapat pada memori 8110H s/d
8112 H sebagai contohisi memori 8100 H s/d 8102H =76, 63, 75sebagai Data-1 dan isi memori
8110 H s/d 8112 H adalah 98,76,78 sebagai Data-2 dengan proses sebagai berikut:
• Jawaban
A. ALGORITMA
33
8101 H = 63 H 8111 H = 76 H 8121 H
8123 H
B. FLOWCHART
34
START
Isi
Akumulatordenganalamatpada
reg. BC
Jumlahkanisiakumulatordengan
isipadamemori
UbahhasilkeDesimal
Simpanisiakumulatorpadaala
mat reg. DE
Naikkanalamat reg.BC
Naikkanalamat reg. HL
Naikkanalamat reg. DE
Periksaisialamat data
Tidak
Max+1?
Ya
SELESAI
35
C. PROGRAM
36
Analisa
37
38
39
40
KESIMPULAN
41