Anda di halaman 1dari 15

LAPORAN PRAKTIKUM MIKROPROSESOR

PERCOBAAN BCD TO HEXA & HEXA TO BCD

DISUSUN OLEH:
IAN PAULUS SINAMBELA
1805062030
TK-4D

PRODI T E KN IK TE LE KOMU NI KA SI
JURUSAN TEKNIK ELEKTRO
POLI T EK NI K N EGE RI ME DAN
2020
MEDAN
LEMBAR PENGESAHAN

No. Percobaan : 04/Mikroprosesor/LMP/TK-4D/2020


Judul : Konversi BCD ke Hexa dan Hexa ke BCD
TanggalPercobaan : 7 APRIL 2020
TanggalPengesahan : 14 JUNI 2020
Nama Praktikan : Ian Paulus Sinambela
Nim : 1805062030
Nama Partner : 1. Cantika Surya
2. Renova Simanjuntak
3. PutriSuci Lestari
4. Sherina Yuli Hasibuan
5. SelaJulikaGultom
6. SumitroButarbutar
Kelas : TK-4D

Instruktur : 1. MorlanPardede, ST,.MT


2. Daniel SaragihNapitu, ST.,M.Kom

Instruktur I Instruktur II

MorlanPardede, ST,.MT Daniel SaragihNapitu ,ST,M.Kom


KONVERSI BCD ke Hexa dan Hexa ke BCD

A. TUJUAN

1. Membuat program konversi bilangan BCD ke bilangan biner (Hexa)


2. Membuat program konversi bilangan Hexa ke bilangan BCD

B. ALAT YANG DIPERLUKAN


Laptop denganaplikasi simulator 8085

C. Dasar Teori

1. Konvesi BCD ke Biner (Hexa)

Mikroprosesor bekerja dengan bilangan biner untuk itu data yang dalam bentuk desimal
harus diubah ke bentuk bilangan biner atau (hexa). Jika bilangan BCD berada antara 0 sampai 9
pengkonversian bilangan BCD ke bilangan biner mudah dilakukan karena tidak ada konversi.
Tetapi jika bilangan lebih besar dari 9 (berada antara A sampai F) konversi akan sulit dilakukan.
Konversi bilangan BCD ke biner yang umum dilakukan untuk bilangan BCD dua digit adalah
mengalikan digit puluhannya dengan 10 dan kemudian menambahkannya dengan angka satuan.
Karena yang melakukan operasi aritmatik ini adalah mikroprosesor (bukan manusia) berarti
hasilnya berupa bilangan biner (hexa).

Untuk 3 digit dilakukan dengan mengalikan digit bobot ratusan dengan 100, mengalikan bobot
puluhan dengan 10 dan kemudian menjumlahkan hasil kali 100 ditambah dengan hasil kali 10
dan ditambah angka satuan.

Algoritma konversi BCD ke biner (Hexa)


Dari uraian konversi BCD ke biner di atas maka dapat dibuat algoritma konversi BCD ke Biner.
Dimulai dengan memberikan hasil dengan 0 dan mengambil digit MSB dari bilangan BCD.
Mengalikan hasil dengan 10 dan kemudian menambahkannya dengan digit BCD. Proses ini
diulangi hingga semua angka BCD dikali 10 dan ditambahkan dengan angka BCDnya, Proses
perkalian dan penjumlahan dilakukan prosesor secara biner

2. Konvesi Biner(Hexa) ke BCD

Semua operasi dalam mikroprosesor adalah biner, sedangkan kita biasanya bekerja dalam
bentuk desimal. Sehingga untuk mempermudah pembacaan bilangan biner (Hexa) hasil operasi
mikroprosesor tersebut harus diubah ke dalam bentuk BCD. Konversi bilangan biner ke bilangan
BCD yang umum dilakukan adalah dengan membagi bilangan biner (hexa) tersebut dengan 10
dan sisanya merupakan digit bilangan BCD. Hasilnya dibagi 10 lagi dan sisanya merupakan digit
BCD, proses ini diulangi hingga hasil bagi sama dengan 0.

D. PERCOBAAN
➢ PROGRAM 1 (KONVERSI BILANGAN BCD KE HEXA)
• FLOWCHART
BCD to Hexa

Set alamat awal Bil. BCD

Clear Hasil

Ambil Bilangan BCD

Periksa Bilangan

Tdk
CR ? Selesai

Hasil=Hasil kali 10

Hasil=Hasil+ bil.BCD

Naikkan Alamat bil. BCD

• HASIL DAN ANALISA


Alamat Op-Code Label Mnemon Komentar
ic
8100H 31-40- LXI
SP = 8140H
81 SP,8140H

8103H 01-30- LXI BC= 8130H


81 BC,8130H

8106H 21-00- LXI


HL= 0000H
00 HL,0000H

8109H 0A Ulang: LDAX BC Acc=06H Acc=03H Acc=04H Acc=03H Acc=05H Acc=0DH


810AH FE-0D CPI 0DH S=1 S=1 S=1 S=1 S=1 S=0
P=1 P=1 P=0 P=1 P=0 P=1
Z=0 Z=0 Z=0 Z=0 Z=0 Z=1
C=1 C=1 C=1 C=1 C=1 C=0
A=1 A=1 A=1 A=1 A=1 A=0
Acc=06H Acc=03H Acc=04H Acc=03H Acc=05H Acc=0DH
810CH CA-1A- JZ SELESAI PC=810F PC=810F PC=810F PC=810F PC=810F PC=811A
H H H H H
81
810FH CD-1B- CALL SP=813E SP=813E SP=813E SP=813E SP=813E
KALI_10 PC=811B PC=811B PC=811B PC=811B PC=811B
81
8112H 16-00 MVI D=00H D=00H D=00H D=00H D=00H
D,00H
8114H 5F MOV E,A E=06H E=03H E=04H E=03H E=05H
8115H 19 DAD DE HL=0006H HL=003FH HL=027AH HL=18C7H
HL=F7C
BH
8116H 03 INX BC BC=813 BC=813 BC=813 BC=8134 BC=813
1H 2H 3H H 5H
8117H C3-09- JMP PC=810 PC=810 PC=810 PC=810 PC=810
81 Ulang 9 9 9 9 9
811AH 76 SELES HLT
SELESAI
AI:
811BH C5 KALI_1 PUSH BC SP=813C SP=813C SP=813C SP=813C SP=813C
0: PC=811C PC=811C PC=811C PC=811C PC=811C
811CH 29 DAD HL HL=0000 HL=000C HL=007E HL=04F4 HL=318
H H H H EH
811DH 4D MOV C,L C=00H C=0CH C=7EH C=F4H C=8EH
811EH 44 MOV B,H B=00H B=00H B=00H B=04H B=31H
811FH 29 DAD HL ; HL=000 HL=001 HL=00F HL=09E8 HL=631
0H 8H CH H CH
8120H 29 DAD HL ; HL=000 HL=003 HL=01F HL=1300 HL=C63
0H 0H 8H H 8H
8121H 09 DAD BC ; HL=000 HL=003 HL=027 HL=18C4 HL=F7C
0H C 6H H 6
8122H C1 POP BC BC=813 BC=813 BC=813
BC=8133 BC=813
0H 1H 2H H 4H
8123H C9 RET SP=8140 SP=8140 SP=8140 SP=8140 SP=8140
PC=8112 PC=8112 PC=8112 PC=8112 PC=8112
• Terjadi 5 kali loop (pengulangan)
• Program berhentipadasaatdata sesuaidengankarakter CR
➢ PROGRAM 2 (KONVERSI BILANGAN HEXA KE BCD)
• FLOWCHART
Hexa ke BCD

Set alamat awal Bil. BCD

Bil.Hexa=Bil. Hexa dibagi 10

Simpan Sisa bagi sbg


Digit BCD

Naikkan alamat digit BCD

Periksa Bilangan Hexa

Tdk
Bilangan
0?

Simpan CR
(sbg akhir bil. BCD)

Selesai

• HASIL DAN ANALISA


Alamat Op-Code Label Mnemon Komentar
ic
8000H 01-00-82 LXI
BC = 8200H
BC,8200H
8003H 21-71-12 LXI
HL=1271H
HL,1271H
8006H 31-10-82 LXI SP=8210H
SP,8210H
8009H CD-18-80 ULANG: CALL BAGI- A=02 E=2F A=07 E=04A=04 E=00
10 HL=0000H HL=0000H HL=0000H
800CH 02 STAX BC (8200H)=01H

800DH 03 INX BC BC=8201H BC=8203H BC=8204H

800EH EB XCHG DE=0000H DE=0000H DE=0000H


HL=01D8H HL=0004H HL=0000H
800FH 7D MOV A,L A=D8H A=04H A=00H
8010H B4 ORA H A=D9H A=04H A=00H
8011H C2-09-80 JNZ ULANG Z=0 Z=0 Z=0
PC=8009H PC=8009H PC=8009H
8014H 3E-0D MVI A,0DH A=0DH A=0DH A=0DH
8016H 02 STAX BC (8207H)=0DH PC=8109H PC=8109H

8017H 76 HLT SELESAI


8018H C5 BAGI-10: PUSH BC SP=B20CH

8019H 11-00-00 LXI DE=0000H


DE,0000H
801CH 3E-00 MVI A,00H A=00H

801EH 0E-0A MVI C,0AH C=0AH

8020H 06-10 MVI B,10H B=10H

8022H 29 ULANG1: DAD HL HL=24E2H HL=49C4H HL=9388H HL=2710H HL=4E20H HL=0000H

8023H 17 RAL Acc=00H Acc=00H Acc=00H Acc=01H Acc=02H Acc=01H

8024H EB XCHG DE=24E2H DE=49C4H DE=9388H DE=2710H DE=4E20H DE=0000H


HL=0000H HL=0000H HL=0000H HL=0000H HL=0000H HL=00ECH
8025H 29 DAD HL HL=0000H HL=0000H HL=0000H HL=0000H HL=0000H HL=01D8H

8026H EB XCHG DE=0000H DE=0000H DE=0000H DE=0000H DE=0000H DE=01D8H


HL=24E2H HL=49C4H HL=9388H HL=2710H HL=4E20H HL=0000H
8027H B9 CMP C S=1 P=1 S=1 P=1 S=1 P=1 S=1 P=0 S=1 P=0 S=1 P=0
Z=0 C=1 Z=0 C=1 Z=0 C=1 Z=0 C=1 Z=0 C=1 Z=0 C=1
A=1 A=1 A=1 A=1 A=1 A=1
8028H DA-2D-80 JC LMPT PC=802DH PC=802DH PC=802DH PC=802DH PC=802DH PC=802DH
C=1 C=1 C=1 C=1 C=1 C=1
802BH 91 SUB C Acc=08 Acc=06 ACC= 03 Acc= 05 Acc=00 Acc=01
802CH 1C INR E E=01H E=03H E=07H E=10H E=3BH E=01H
802DH 05 LMPT: DCR B B=0FH B=0EH B=0DH B=0CH B=0BH B=00H

802EH C2-22-80 JNZ ULANG1PC=8022 PC=8022 PC=8022 PC=8022


Z=0 Z=0 Z=0 Z=0
8031H C1 POP BC BC=8200 BC= 8201 BC=8202 BC=8203

8032H C9 RET SP=8210H SP=8210H SP=8210H SP=8210H


PC=800C PC=800C PC=800C PC=800C

• Terjadi 3 kali loop (pengulangan)


• Program berhentipadasaatbilanganHexahabisatausamadengan 0000H
KESIMPULAN

Anda mungkin juga menyukai