cara menjalankan MIKROPROSESOR KOVERSI BILANGAN
cara menjalankan MIKROPROSESOR KOVERSI BILANGAN
8.1
Tujuan Instruksional Khusus
1.
Praktikan membuat
program untuk mengubah data decimal menjadi data hexadecimal.
2.
Praktikan membuat
program untuk mengubah data hexadecimal menjadi data decimal.
8.2
Dasar Teori
Konversi bilangan merupakan topik
yang cukup penting dalam pemograman mikroprosesor. Dalam bab ini kan dibahas
metode konversi antara bilangan hexadecimal dan bilangan decimal. Topik ini
dipilih mengingat hampir seluruh data yang kita miliki dinyatakan dalam sistem
decimal, sedangkan mikroprosesor bekerja dengan sistem bilangan biner
berkomplemen dua. Dengan banyaknya jumlah digit yang dipergunakan pada sistem
bilangan bilangan biner komplemen dua, maka dalam pemograman dengan bahasa
rakitan (assembly) umumnya dipergunakan sistem bilangan hexadecimal komplemen
enam belas.
Masalahnya, mikroprosesor INTEl
8085 tidak bekerja dalam sistem bilangan decimal tetapi dalam bilangan biner
komplemen dua. Dengan demikian operasi-operasi aritmatika yang dilakukan dalam
mikroprosesor 8085 harus menggunakan sistem bilangan biner komplemen dua.
Sayangnya, sistem bilangan biner tidak praktis untuk dipergunakan dalam
penulisan kode operasi, karena melibatkan jumlah digit yang panjang. Hal ini
membuat penulisan program menjadi suatu pekerjaan yang membosankan dan
memerlukan waktu yang relative lama. Untuk menghindari hal tersebut maka dalam
penulisan kode operasi maupun data input dipergunakan sistem bilangan
hexadecimal. Dalam hal ini tentunta dipilih sistem komplemen 16.
Konversi bilangan daro bilangan
sistem decimal ke hexadecimal diperlukan mengingat semua data yang kita milikii
tersedia dalam sistem bilangan decimal, sedangkan mesin ganya mengenal sistem
bilangan komplemen dua ( sistem bilangan hexadecimal komplemen enam belas). Sebaiknya
konversi bilangan dari sistem bilangan hexadecimal ke decimal juga sangat
penting mengingat data output yang dihasilkan oleh mikroprosesor masih dalam
sistem bilangan decimal.
Konversi
data hexadecimal ke decimal.
Untuk mengubah suatu bilangan
decimal, salah satu cara yang dapat dipergunakan adalah dengan memperhitungkan
bobot angka dari masing-masing digit pada bilangan hexadecimal tersebut.
Untuk mengubah bilangan
heksadesimal 5A, dapat dilakukan dengan mengalikan bobot angka dari masing-masing
digit heksadesimal tersebut hingga diperoleh:
5 x 16 + 10 X 16 atau (15 x 16) +
(10 x 1) yang nilainya sama dengan 90 dalam system bilangan decimal.
Metode konversi yang dipergunakan
pada contoh 8.1 diatas dapat juga dipergunakan untuk membuat program konversi
yang dapat mengubah data-data dari bentuk hexadecimal menjadin decimal. Jika
metode tersebut yang akan dipergunakan, maka pertama-tama digit satuan (A atau
10) dan digit enam belas (5 atau 05) harus dipisahkan.
Kemudian digit enam belas harus
dikalikan dengan factor pengali 16 dan hasil perkaliannya harus ditambahkan
pada digit satuan yang telah diubah ke dalam decimal. Dalam program konversi
tersebut yang perlu diperhatikan adalah proses mengalikan digit enam belasan
dengan factor pengali enam belas tadi mengingatnhasil perkalian yang diinginkan
adalah dalam system bilanagn decimal.
Konversi
data decimal dan hexadecimal
Untuk
mengubah bilangan decimal ke bilangan hexadecimal dapat dilakukan dengan membagi
bilangan tersebut dengan factor pembagi 16. Masalahnya adalah dalam
mikroprosesor 8085 tidak ada instruksi pembagian. Oleh karena itu proses
pembagian harus di lakukan dengan metode pengurangan berantai yang caranya
cukup rumit.
Jadi untuk membuat program
konversi bilangan dari decimal ke hexadecimal yang pertama tama perlu dilakukan
adalah memisahkan antara digit satuan dan digit puluhan. Kemudian mengalihkan
digit puluhan dengan factor pengali 10 dan menambahkan digit satuan pada hasil
perkalian tersebut.
Jika suatu bilangan dikalikan dengan factor
pengali 10 sama saja pengaruhnya dengan menjumlahkan hasil kali bilangan
tersebut dengan fktor pengali 2 dan factor pengali 8. Dalam matematika T x 10 =
(T x 2) + (T x 8).
8.3
Daftar Alat dan Bahan
·
Computer / PC
·
8085 Simulator IDE
·
Windiws 7 / XP
8.4
Keselamatan Kerja
1.
Mahasiswa sudah
menggunakan jas LAB saat memasuki ruang LAB.
2. Pastikan
bahwa computer dalam kondisi off serta kabel power sudah terhubung.
3. Ikuti
langkah sesuai aturan dalam menjalankan 8085 Simulator
4.
Setelah selesai
praktikum , matikan computer.
8.5
Langkah Kerja
1.
Buatlah bagan alir dan
program untuk mengubah data decimal yang berada dalam blok memeori alamat F000h
sampai alamat F100h sampai F10Fh.
A.Flowchart Mengubah data desimal menjadi heksadesimal
\
2.
Program untuk langkah 1
adalah sebagi berikut.
Alamat
|
Op-code
|
Label
|
Mnemonic
|
0000
|
ORG
7000H
|
||
7000
|
21 00
F0
|
LXI
H,0F000H
|
|
7003
|
11 00
F1
|
LXI
D,0F100H
|
|
7006
|
0E 10
|
MVI
C,10H
|
|
7008
|
7E
|
LOOP
|
MOV
A,M
|
7009
|
E6 F0
|
ANI
0F0H
|
|
700B
|
C6
00
|
ADI
00H
|
|
700D
|
27
|
DAA
|
|
700E
|
7E
|
MOV
A,M
|
|
700F
|
C6 00
|
ADI
OOH
|
|
7011
|
1F
|
RAR
|
|
7012
|
1F
|
RAR
|
|
7013
|
1F
|
RAR
|
|
7014
|
1F
|
RAR
|
|
7015
|
87
|
ADD
A
|
|
7016
|
27
|
DAA
|
|
7017
|
87
|
ADD
A
|
|
7018
|
27
|
DAA
|
|
7019
|
87
|
ADD
A
|
|
701A
|
27
|
DAA
|
|
701B
|
87
|
ADD
A
|
|
701C
|
27
|
DAA
|
|
701D
|
80
|
ADD
B
|
|
701E
|
27
|
DAA
|
|
701F
|
12
|
STAX
D
|
|
7020
|
23
|
INX
H
|
|
7021
|
13
|
INX
D
|
|
7022
|
0D
|
DCR
C
|
|
7023
|
C2 08
70
|
JNZ
LOOP
|
|
7026
|
76
|
HLT
|
|
7027
|
END
|
||
ORG
0F000H
|
|||
DB
00H,03H,14H,17H
|
|||
DB
22H 29H,30H,33H
|
|||
DB
38H 45H,48H,52H
|
|||
DB
57H,82H,90H,99H
|
3.
Ketika program di atas
pada 8085 simulator ide dan simpan dengan nama praktikum8.asm
4. Kemudian
cek kesalahannya
5. Ganti
alamat program sesuai dengan alamat program anda.
6. Uji
program diatas mengunakan data pada tabel 8.1
7. Tabel
8.1 mengubah data desimal menjadi heksadesimal
Input
|
Output
|
||
Alamat
|
Data
|
Alamat
|
Data
|
F000
|
00
|
F100
|
00
|
F001
|
03
|
F101
|
60
|
F002
|
14
|
F102
|
96
|
F003
|
17
|
F103
|
76
|
F004
|
22
|
F104
|
72
|
F005
|
29
|
F105
|
52
|
F006
|
30
|
F106
|
48
|
F007
|
33
|
F107
|
08
|
F008
|
38
|
F108
|
48
|
F009
|
45
|
F109
|
04
|
F00A
|
48
|
F10A
|
64
|
F00B
|
52
|
F10B
|
20
|
F00C
|
57
|
F10C
|
40
|
F00D
|
82
|
F10D
|
68
|
F00E
|
90
|
F10E
|
44
|
F00F
|
99
|
F10F
|
64
|
B. mengubah data heksadesimal menjadi decimal.
1. Buatlah bagan alir dan program untuk mengubah data heksadesimal yang berada dalam blok memori pada alamat F200h sampai F20Fh.
B. Flowchart mengubah data heksadesimal menjadi desimal
Alamat
|
Op-code
|
Label
|
Mnemonic
|
0000
|
ORG
7000H
|
||
7000
|
21 00
F0
|
LXI
H,0F200H
|
|
7003
|
11 00
F1
|
LXI
D,0F300H
|
|
7006
|
0E 10
|
MVI
C,10H
|
|
7008
|
7E
|
LOOP
|
MOV
A,M
|
7009
|
E6 F0
|
ANI
0F0H
|
|
700B
|
C6 00
|
ADI
00H
|
|
700D
|
27
|
DAA
|
|
700E
|
7E
|
MOV
A,M
|
|
700F
|
C6 00
|
ADI
OOH
|
|
7011
|
1F
|
RAR
|
|
7012
|
1F
|
RAR
|
|
7013
|
1F
|
RAR
|
|
7014
|
1F
|
RAR
|
|
7015
|
87
|
ADD
A
|
|
7016
|
27
|
DAA
|
|
7017
|
87
|
ADD
A
|
|
7018
|
27
|
DAA
|
|
7019
|
87
|
ADD
A
|
|
701A
|
27
|
DAA
|
|
701B
|
87
|
ADD
A
|
|
701C
|
27
|
DAA
|
|
701D
|
80
|
ADD
B
|
|
701E
|
27
|
DAA
|
|
701F
|
12
|
STAX
D
|
|
7020
|
23
|
INX
H
|
|
7021
|
13
|
INX
D
|
|
7022
|
0D
|
DCR
C
|
|
7023
|
C2 08
70
|
JNZ
LOOP
|
|
7026
|
76
|
HLT
|
|
7027
|
END
|
||
ORG
0F000H
|
|||
DB
00H,03H,14H,1CH
|
|||
DB
2BH 29H,30H,3FH
|
|||
DB
38H 45H,4DH,52H
|
|||
DB
5AH,8FH,60H,63H
|
3.
Kemudian cek
kesalahannya
4. Ganti
alamat program sesai alamat program anda
5.
Uji programnya
menggunakan data pada tabel 8.2
Input
|
Output
|
||
Alamat
|
Data
|
Alamat
|
Data
|
F200
|
00
|
F300
|
00
|
F201
|
03
|
F301
|
60
|
F202
|
14
|
F302
|
96
|
F203
|
1C
|
F303
|
96
|
F204
|
28
|
F304
|
92
|
F205
|
29
|
F305
|
52
|
F206
|
30
|
F306
|
48
|
F207
|
3F
|
F307
|
08
|
F208
|
38
|
F308
|
48
|
F209
|
45
|
F309
|
04
|
F20A
|
4D
|
F30A
|
04
|
F20B
|
52
|
F30B
|
20
|
F20C
|
5A
|
F30C
|
20
|
F20D
|
8F
|
F30D
|
88
|
F20E
|
60
|
F30E
|
96
|
F20F
|
63
|
F30F
|
56
|
8.6. Analisa
Setelah kita melakukan
praktikum pada konversi bilangan kita dapat menganalisa bahwa konversi bilangan
ini kita gunakan untuk nengkonvesikan dalam bentuk desimal ke bentuk
heksadesimal atau pun dalm bentuk heksadesimal ke bentuk desimal.
Seperti rogram yang telah kita
jalankan
Untuk mengubah
bilangan heksadesimal 5A, dapat dilakukan dengan mengalikan bobot angka dari
masing-masing digit heksadesimal tersebut hingga diperoleh:
5 x 16 + 10 X 16
atau (15 x 16) + (10 x 1) yang nilainya sama dengan 90 dalam system bilangan
decimal. dipergunakan untuk membuat program konversi yang dapat mengubah
data-data dari bentuk hexadecimal menjadin decimal. Jika metode tersebut yang
akan dipergunakan, maka pertama-tama digit satuan (A atau 10) dan digit enam
belas (5 atau 05) harus dipisahkan.
Dan kita juga
mengunakan instruksi DAA àdigunakan sebagai instruksi desimal.
RAR à diputar untuk melibatkan cary
ADD A à ( A ) ß ( A ) + ( B )
ADI 0f0H à ( A ) ß ( A )
AND 0F0H
Perintah ADI ini digunakan untuk mengisi data dengan F0H
Penggunan data yamg
dijumlahkan dan dikurangkan.pada setiap praktikumyang telah kita jalankan .
Pada program ini data desimal yang kita masukan akan
menjadi heksadesimal.
Begitu juga untuk perpindahan dari heksadesimal ke desimal.
Untuk
mengubah bilangan decimal ke bilangan hexadecimal dapat dilakukan dengan
membagi bilangan tersebut dengan factor pembagi 16. Masalahnya adalah dalam
mikroprosesor 8085 tidak ada instruksi pembagian. Oleh karena itu proses pembagian
harus di lakukan dengan metode pengurangan berantai yang caranya cukup rumit.
Jadi untuk membuat program
konversi bilangan dari decimal ke hexadecimal yang pertama tama perlu dilakukan
adalah memisahkan antara digit satuan dan digit puluhan. Kemudian mengalihkan
digit puluhan dengan factor pengali 10 dan menambahkan digit satuan pada hasil
perkalian tersebut.
Jika suatu bilangan dikalikan
dengan factor pengali 10 sama saja pengaruhnya dengan menjumlahkan hasil kali
bilangan tersebut dengan fktor pengali 2 dan factor pengali 8. Dalam matematika
T x 10 = (T x 2) + (T x 8).
8.6. Kesimpulan
Setelah kita menganalisa
praktikum pengkonversi bilangan kita dapat menyimpulkan bahwa konversi bilangan
ini kita lakukan dengan mengubah bentuk data dari heksadesimal dalam bentuk
desimal, dan begitu juga dalam bentuk desimal ke bentuk heksadesimal.
Konversi bilangan ini langsung Konversi
bilangan daro bilangan sistem decimal ke hexadecimal diperlukan mengingat semua
data yang kita milikii tersedia dalam sistem bilangan decimal, sedangkan mesin
ganya mengenal sistem bilangan komplemen dua ( sistem bilangan hexadecimal
komplemen enam belas). Sebaiknya konversi bilangan dari sistem bilangan
hexadecimal ke decimal juga sangat penting mengingat data output yang
dihasilkan oleh mikroprosesor masih dalam sistem bilangan decimal.
Post a Comment for "cara menjalankan MIKROPROSESOR KOVERSI BILANGAN"
Post a Comment