Anda di halaman 1dari 13

PRAKTIKUM SISTEM MIKROPROSESSOR

BCD NUMBER

Disusun oleh :

Nama : Muhammad Bayu Savii


Nim : 20507334069
Kelas : GK1

D4 TEKNIK ELEKTRONIKA
JURUSAN PENDIDIKAN TEKNIK ELEKTRONIKA DAN INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
I. Tujuan
Tujuan dari percobaan ini adalah mahasiswa diharapkan mampu memahami
pack & unpack bilangan BCD serta penerapan program instruksinya pada
mikroprosesor 8085.

II. Dasar Teori


Format data komputer yang digunakan pada mikroprosesor umumnya berformat
ASCII (American Standard Code for Information Interchange), BCD (Binary Coded
Decimal), signed & unsigned integer, dan bilangan floating point (bilangan real).
Format data ASCII yang digunakan adalah 7 bit dengan bit ke-8 sebagai MSB (Most
Significant Bit) yang digunakan untuk memuat paritas dalam beberapa sistem.
Dalam komputasi dan sistem elektronik, desimal berkode biner (BCD) adalah
sebuah kelas pengkodean biner dari bilangan desimal yang masing-masing digit
dalam desimalnya diwakili oleh jumlah bit tetap, biasanya empat atau delapan. Pola-
pola bit khusus ini kadang-kadang digunakan sebagai penanda atau untuk indikasi
lain (misalnya kesalahan atau overflow).

Selain data ASCII, ada pula format data BCD (Binary Coded Decimal) yang
disimpan dalam bentuk packed atau unpacked. Data packed disimpan dalam bentuk
2 digit per byte, sedangkan data unpacked disimpan 1 digit per byte. Mengapa
diciptakan dua jenis ini? Tentu saja memiliki fungsi khsusus, yakni unpacked BCD
digunakan untuk keypad atau keyboard dimana memerlukan satu byte tiap
karakternya. Sedangkan packed BCD untuk beberapa instruksi penjumlahan dan
pengurangan BCD dalam kumpulan instruksi mikroprosesor.
Contoh. Representasi data BCD dari bilangan 20 desimal.

Packed 0010 0000 Dua angka dikodekan menjadi sebuah byte


BCD tunggal.
Unpacked 00000010 Setiap angka dikodekan ke dalam satu byte.
BCD 00000000

III. Tugas Pendahuluan


Sebelum melaksanakan praktikum ini mahasiswa harus memiliki pemahaman
mengenai konsep dasar bilangan desimal, biner dan BCD. Oleh karena itu untuk
mengawali pertemuan pada praktikum ini silahkan kerjakan tugas pendahuluan
berikut:

1. Konversikan bilangan desimal berikut ke bilangan BCD


a. 9(10) = ... (BCD)
Jawab : 1001
b. 5(10) = ... (BCD)
Jawab : 0101
c. 137(10) = ... (BCD)
Jawab : 1 = 0001
3 = 0011
7 = 0111
Sehingga = 0001 0011 0111
2. Konversikan bilangan BCD berikut ke dalam bilangan desimal
a. 0010 1001(BCD) = ... (10)
Jawab : 0010 = 2
1001 = 9
Sehingga 0010 1001 = 29
b. 1001 1001(BCD) = ... (10)
Jawab : 1001 = 9
1001 = 9
Sehingga 0010 1001 = 99
c. 1000 0010(BCD) = ... (10)
Jawab : 1000 = 8
0010 = 2
Sehingga 0010 1001 = 82

d. 0001 0110(BCD) = ... (10)


Jawab : 0001 = 1
0110 = 6
Sehingga 0010 1001 = 26

e. 0010 0011(BCD) = ... (10)


Jawab : 0010 = 2
0011 = 3
Sehingga 0010 1001 = 23

IV. Alat dan Bahan

Alat dan bahan yang diperlukan pada praktikum kali ini adalah:

1. Komputer dengan Sistem Operasi Windows / Linux / Mac OS


2. 8085 simulator

V. Keselamatan Kerja

Setiap pelaksanaan praktikum harus memperhatikan hal-hal berikut terkait dengan


keselamatan dan kesehatan kerja:

1. Menjaga jarak pandang mata dengan layar monitor agar mata tidak cepat lelah
2. Membatasi waktu penggunaan layar dan mengistirahatkan mata setelah melihat layar
komputer
3. Memposisikan kursi dan meja kerja senyaman mungkin
4. Memastikan seluruh sistem kelistrikan pada komputer aman
5. Melepas seluruh sistem kelistrikan setelah praktikum selesai dan komputer tidak
digunakan

VI. Langkah Praktikum


A. Packed BCD
1. Siapkan alat dan bahan berupa laptop dan jalankan program 8085 simulator

2. Pahami konsep program Pack bilangan BCD dengan melihat flowchat berikut
ini
3. Tulis kode program dibawah ini pada bagian Editor-Assembler

4. Klik autocorrect untuk memperbaiki format kode secara otomatis kemudian klik
Assemble.
5. Ada 2 pilihan yaitu Run all At a Time untuk menjalankan seluruh program dalam
satu waktu atau Step By Step untuk menjalankan program berurutan dari atas ke
bawah satu persatu (pilih salah satu).
TUGAS:
 Setelah kode program diatas dijalankan, amati dan cermati isi dari register dan
memori yang mengalami perubahan sebelum kode dan setelah kode dijalankan
 Ambil screenshot pada masing-masing kondisi untuk mempermudah
pengamatan
 Jelaskan maksud/tujuan dari setiap kode yang ditulis
 Berikan kesimpulan dari program yang dibuat

B. Unpacked BCD
1. Siapkan alat dan bahan berupa laptop dan jalankan program 8085 simulator

2. Pahami konsep program unpack bilangan BCD dengan melihat flowchat


berikut ini
3. Tulis kode program dibawah ini pada bagian Editor-Assembler

4. Klik autocorrect untuk memperbaiki format kode secara otomatis kemudian klik
Assemble.
5. Ada 2 pilihan yaitu Run all At a Time untuk menjalankan seluruh program dalam
satu waktu atau Step By Step untuk menjalankan program berurutan dari atas ke
bawah satu persatu (pilih salah satu).
TUGAS:
 Setelah kode program komplemen 2 di atas dijalankan, amati dan cermati isi dari
register dan memori yang mengalami perubahan sebelum kode dan setelah kode
dijalankan.
 Ambil screenshot pada masing-masing kondisi untuk mempermudah
pengamatan
 Jelaskan maksud/tujuan dari setiap kode yang ditulis
 Berikan kesimpulan dari program yang dibuat

VII. Hasil Praktikum


A. Packed BCD
Kode program setelah autocorrect
Register dan memory sebelum dijalankan

Register dan memory setelah program dijalankan

TUGAS:
1. Setelah kode program komplemen 1 di atas dijalankan, amati dan cermati
isi dari register dan memori yang mengalami perubahan sebelum kode dan
setelah kode dijalankan.
2. Ambil screenshot pada masing-masing kondisi untuk mempermudah
pengamatan
3. Jelaskan maksud/tujuan dari setiap kode yang ditulis
4. Berikan kesimpulan dari program yang dibuat
1. Jelaskan maksud/tujuan dari setiap kode yang ditulis

- LDA 4201H : Buat LSB nol


- RLC :
- RLC :
- RLC :
- RLC : Sesuaikan posisi digit kedua (09 diubah menjadi 90)
- ANI F0H : Buat least significant BCD digit nol
- MOV C, A : Simpan hasil sebagian
- LDA 4200H : Dapatkan angka BCD yang lebih rendah
- ADD C : Tambahkan angka BCD yang lebih rendah
- STA 4300H : Simpan hasilnya
- HLT : Berhenti

KESIMPULAN
1. Pada bagian register terdapat perubahan setelah program di-run al at a time
yaitu program counter semula bernilai 0000 menjadi 0012, clock cycle
counter semula bernilai 0 menjadi 79.

B. Unpacked BCD
Kode program setelah autocorrect
Register dan memory sebelum dijalankan

Register dan memory setelah program dijalankan

1. Setelah kode program komplemen 2 di atas dijalankan, amati dan cermati


isi dari register dan memori yang mengalami perubahan sebelum kode dan
setelah kode dijalankan.
2. Ambil screenshot pada masing-masing kondisi untuk mempermudah
pengamatan
3. Jelaskan maksud/tujuan dari setiap kode yang ditulis
4. Berikan kesimpulan dari program yang dibuat
KESIMPULAN
Pada bagian register terdapat perubahan program di-run al at a time yaitu program
countersemula bernilai 0000 akan menjadi 0014, clock cycle counter semula
bernilai 0 menjadi 87 .

1. Jelaskan maksud/tujuan dari setiap kode yang ditulis

LDA 4200 : Dapatkan nomor BCD packed


ANI F0 : perkalian segera
RRC
RRC
RRC
RRC : Sesuaikan digit BCD yang lebih tinggi sebagai digit yang lebih
rendah
STA 4301 : Simpan hasil sebagian
LDA 4200 : Dapatkan nomor BCD asli
ANI 0F : perkalian segera
STA 4201 : Simpan hasilnya
HLT : berhenti

Latihan
1. Ubah bilang Packed BCD dibawah ini menjadi Unpacked BCD
a. 0010 1101
Jawab = 00000010 00001101
b. 1001 1001
Jawab = 00001001 00001001
c. 1010 1100
Jawab = 00001010 00001100
d. 0001 1110
Jawab = 00000001 00001110
e. 0010 1111
Jawab = 00000010 00001111
2. Ubah bilang Unpacked BCD dibawah ini menjadi packed BCD
a. 00000010 00001101
Jawab = 0010 01101
b. 00001001 00001001
Jawab = 1001 1001
c. 00001010 00001100
Jawab = 1010 1100
d. 00000001 00001110
Jawab = 0001 1110
e. 00000010 00001111
Jawab = 0010 1111

Anda mungkin juga menyukai