Instruksi BINARY-TO-BCD – BCD(24)


Instruksi BCD(24) berfungsi untuk mengkonversi bilangan binary (hexadecimal) menjadi BCD ekuivalennya. Nilai bilangan yang dikonversi tidak boleh melebihi 270F hexa karena hasil konversinya akan melebihi angka 9999. Jika hal ini terjadi maka instruksi BCD(24) tersebut tidak akan dieksekusi.

Instruksi ini membutuhkan dua operand yakni Source dan Destination. Source adalah alamat memori bilangan binary yang akan dikonversi dan Destination adalah alamat memori bilangan BCD hasil konversi. Source dan Destination bisa saja salah satu dari IR, SR, AR, DM, HR, atau LR. Source dan Destination tidak dapat diisi konstanta.


Bilangan BCD – Binary-Coded-Decimal

BCD adalah teknik pengkodean bilangan desimal, dimana masing-masing digit bilangan desimal tersebut direpresentasikan dengan bilangan biner. Dalam dunia elektronik dan komputer, pengkodean ini bertujuan untuk memudahkan pengkonversian data bilangan desimal ketika akan ditampilkan pada suatu display (seven-segment misalnya). Selain itu, BCD juga digunakan untuk mempercepat suatu proses kalkulasi. Dengan teknik pengkodean BCD ini, maka akan dapat dihindari kerumitan baik dari sisi hardware maupun software.

Dalam sistem bilangan BCD, sebuah digit bilangan desimal diwakili oleh 4 bit bilangan binernya. Dasar pengkodean bilangan desimal menjadi bilangan BCD adalah dengan mengganti setiap digit bilangan desimal dengan bilangan biner 4 bit sebagai berikut:


Desimal:    0    1    2    3    4    5    6    7    8    9
Biner  : 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Jadi bilangan 236 desimal akan dikodekan menjadi 0010 0011 0110 = BCD 236.

Agar lebih mudah memahami, mari kita simak hasil simulasi pada program SYSWIN 3.4 dan PLC CPM2A berikut ini:

bcd1

Pada baris pertama, instruksi MOV(21) mengisi memori DM0100 dengan angka 00EC hex atau 0236 desimal. Pada baris berikutnya, instruksi BCD mengkonversi bilangan 00EC hex menjadi 0236 bcd. Sekarang mari kita lihat tampilan data memorinya.

bcd2

Tampilan di atas menunjukkan isi memori DM0100 dan DM0101 dalam bilangan hexa. Nilai dalam DM0100 adalah 0236 desimal yang ditampilkan sebagai 00EC hexa. Hasil konversi bilangan 0236 desimal menjadi BCD adalah 0236 bcd, yang tersimpan dalam bentuk hexa sebagai 0236 hexa.

bcd31

Jika ditampilkan dalam bentuk bilangan desimal, maka DM0100 = 00236, dan hasil konversi BCD DM0101 = 00566.

Jadi dapat dikatakan bahwa 0236 hexa adalah versi BCD dari bilangan 0236 desimal. Pengertian ini untuk memudahkan kita dalam proses pembuatan program yang melibatkan bilangan BCD.

Selamat belajar!

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s