bilangan berbasis dua atau yang sering disebut dengan bilangan biner
(binary), digit yang digunakan adalah 0 dan 1
bilangan berbasis delapan atau sering juga disebut oktal (octal), digit yang
digunakan adalah 0, 1, 2, …, 7
bilangan berbasis sepuluh atau desimal yang sering kita digunakan dalam
kehidupan sehari-hari, digit yang digunakan adalah 0, 1, 2, …, 8, 9; serta
1
DAFTAR ISI
ABSTRAK .................................................................................................................... 0
DAFTAR ISI ................................................................................................................. 0
DAFTAR GAMBAR .................................................................................................... 0
BAB I PENDAHULUAN ............................................................................................. 5
I.1 Latar belakang ...................................................................................................... 5
I.2 Rumusan masalah ................................................................................................ 5
I.3 Tujuan .................................................................................................................. 5
BAB II DASAR TEORI ............................................................................................... 6
II.1. Pengenalan 8086 ............................................................................................. 6
II.2 . Arsitektur 8086 ............................................................................................... 6
II.3. Register ........................................................................................................... 8
II.4. Instruksi ........................................................................................................ 11
II.5. Interupsi ........................................................................................................ 13
II.6. Pengalamatan / Adressing........... ................................................................. 13
BAB III Rancangan Proyek ....................................................................................... 14
III.1. Algoritma...................................................................................................... 14
III.2. Flowchart ...................................................................................................... 15
BAB IV Analisa Proyek .............................................................................................. 16
IV.1 Pengujian Sistem ............................................................................................. 16
IV.2 Analisa Sistem ................................................................................................ 24
BAB V PENUTUP ...................................................................................................... 27
V.1 Kesimpulan ....................................................................................................... 27
V.2 Saran ................................................................................................................. 27
DAFTAR PUSTAKA ................................................................................................. 28
LAMPIRAN ................................................................................................................ 29
2
DAFTAR GAMBAR
3
BAB I
PENDAHULUAN
1. Bilangan Biner
1 1 0 1 Desimal
23 x 1 22 x 1 21 x 0 20 x 1 = (8+4+0+1) = 13(10)
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 0101 5
4
5
2. Bilangan Oktal
83 82 81 80
512 64 8 1
1 3 2 1 Desimal
83 x 1 82 x 3 81 x 2 80 x 1 = (512+192+16+1)
= 721(10)
3. Bilangan Hexadesimal
Desimal
162 x 1
161 x 9
160 x 15
= (256+144+15)
= 415(10)
4. Bilangan Desimal
Sama dengan cara konversi bilanga octal ke biner, bedanya kalau bilangan
octal binernya harus 3 buah, bilangan desimal binernya 4 buah. Misal kita
konversi 2 hexa menjadi biner hasilnya bukan 10 melainkan 0010. Contoh lihat
gambar:
9 = 1001
A/10 = 1010
= (7x161) + (A/10x162)
= 112 + 2560
= 2672
Diubah ke Biner
A/10 = 1010
F/15 = 1111
Diubah ke Oktal
010 = 2
101 = 5
111 = 7
I.3 Tujuan
1. Kita dapat lebih mudah dan tepat mencari nilai dari operasi penjumlahan,
pengurangan, pembagian,perkalian, perpangkatan, pengakaran, nilai
cosinus sudut, nilai sinus sudut, nilai tangent dari suatu sudut.
desain oleh Intel antara tahun 1976 dan pertengahan 1978, pada saat dikeluarkan.
Dari segi arsitektur secara umum setiap mikroprosesor dapat dipandang oleh
• ALU (Arithmetic Logic Unit) merupakan unit yang melakukan semua operasi
gambar 2.2.
10
11
1=register utama
3=penambah alamat
5=antrian instruksi
6=unit kontrol
7=bus antarmuka
8=databus internal
II.3 REGISTER
• Parity
Flag Parity digunakan unutk mengecek kesalahan bilangan. Logika memiliki
logika 0 untuk parity ganjil dan logika 1 untuk parity genap.
• Auxiliary Carry
Auxiliary Carry juaga digunakan untuk mengecek carry (half carry)
• Zero
Flag Zero digunakan untuk menandakan bahwa hasil dari operasi aritmatika
bernilai nol.
• Sign
Flag sign digunakan untuk menandai tanda aritmatika dari hasil operasi
penjumlahan ataupun hasil logika.
• Interupt
Interupt digunakan untik mengontrol operasi INTR (permintaan interupt).
• Trap
Trap digunakan untuk mengenablekan fitur debugging on-chip.
15
• Overflow
Overflow terjadi ketika bilangan bertanda dijumlahkan ataupun dikurangkan.
• Direction
Direction digunakan untuk penanda pada register DI atau SI arah
penambahannya bersifat maju atau mundur.
II.4 INSTRUKSI
Instruksi yang akan dibahas pada modul ini adalah instruksi perpindahan
data.
• MOV
MOV merupakan instruksi paling umum dalam pemrograman
mikroprosesor. Instruksi MOV melaksanakan operasi perpindahan data . Contoh :
MOV AX,BX. MOV BX,678h
• PUSH / POP
PUSH dan POP adalah instruksi perpindahan data yang spesifik pada
segmen stack. Instruksi PUSH berfungsi untuk mengamankan nilai suatu register
kedalam memori stack sebelum mikroprosesor memasuki suatu rutin ataupun
prosedur, sedangkan Instruksi POP digunakan untuk mengembalikan nilai register
dari memori stack setelah rutin selesai dijalankan.
• ADDITION,SUBTACTION, COMPARISON
Beberapa instruksi yang digunakan adalah ADD, SUB dan CMP.
• MULTIPLICATION, DIVISION
Instruksi yang digunakan untuk operasi perkailain dan pembagian adalah
MUL dan DIV.
• BASIC LOGIC
Beberapa instruksi logika pada mikroprosesor adalah AND, OR, XOR,
NOT dan TEST.
• SHIFT , ROTATE
Instruksi SHIFT dan ROTATE digunakan untuk memanipulasi bilangan
pada level bit binernya , sama dengan instruksi logika dasar.
• JUMP
Instruksi kontrol program utama adalah JUMP , instruksi ini
memungkinkan mikroprosesor “melompati” bagian program menuju bagian lain
dari memori untuk instruksi berikutnya.
Instruksi JUMP sendiri terbagi 2 yaitu CONDITIONAL JUMP dan
UNCONDITIONAL JUMP.
17
II.5 INSTERUPSI
Pengalamtan register mentransfer salinan byte atau word data dari register
sumber atau isi dari lokasi suatu memori ke register tujuan ataupun lokasi memori
III.1 Algoritma
1. Start.
4. Pilih operasi yang anda gunakan, yaitu konversi hexa ke biner ,Hexa ke
5. Jika anda memilih batal maka operasi nya akan dikeluarkan secara
10. Tampilkan
18
19
II.2 Flowchart
4. Jika pilihan yang diinput adalah 1 maka lanjut ke langkah 5 jika tidak lanjut ke
langkah 11
8. Input Cx=1
9. Input Cx=0
10.Tampilkan hasil
11.Jika pilihan yang diinput adalah 2 maka lanjut ke langkah 12 jika tidak lanjut
ke langkah 17
15. Simpan AL ke DL
17. Jika pilihan yang diinput adalah 3 maka lanjut ke langkah 18 jika tidak ke
langkah
23
24
SELESAI
Gambar 5.1 Merupakan hasil output dari program konversi hexadesimal ke biner
seperti yang terlihat pada gambar diatas.
Gambar 5.3 Merupakan hasil input dari program konversi hexadesimal ke oktal,
seperti yang terlihat pada gambar diatas
Gambar 5.4 Merupakan hasil input dari program saat di ahiri, seperti yang terlihat
pada gambar diatas.
BAB V
PENUTUP
V.1 Kesimpulan
Dengan menggunakan bahasa pemrograman assemby dan compiler
emulator 8086 kita dapat merancang aplikasi program konversi bilangan
Hexa ke biner,desimal dan oktal.
Uji coba program konversi bilangan hexadesimal dengan menggunakan
bahasa assembly ini berlangsung lancar dengan berhasilnya aplikasi ini
mengonversi bilangan Hexa ke biner,desimal dan oktal dengan tepat.
V.2 Saran
Aplikasi ini dapat dikembangkan lebih lanjut dengan tampilan yang lebih
menarik.
Aplikasi ini dapat diterapkan pada alat komunikasi sehingga membantu
kita untuk melakukan perhitungan dengan cepat dan tepat terkhusus untuk
para mahasiswa dalam mengerjakan tugasnya.
Apliksai ini dapat dikembangkan programnya untuk perhitungan yang
lebih rumit.
26
DAFTAR PUSTAKA
www.cplusplus.com
27
LAMPIRAN
jmp judul
msgjudul db "PROGRAM KONVERSI BILANGAN HEXA KE
BINER & DESIMAL & OKTAL $"
msg1 db "Nilai Hexa : $"
msg2 db "Menu :",0ah,0dh,"1.Konversi ke
biner",0ah,0dh,"2.Konversi ke desimal",0ah,0dh,"3.Konversi ke Octa
$"
msg3 db "Masukkan pilihan : $"
msg4 db "Nilai Biner : $"
msg5 db "Nilai Decimal : $"
msg6 db "Nilai Octadecimal : $"
msg7 db "Apakah ingin melakukan pengulangan? (y/n):$"
msg8 db " $"
Judul:
mov dh,0h ;atur kursor pada baris 0
mov dl,0bh ;atur kursor pada kolom 0
mov ah,2
int 10h
lea dx,msgjudul
mov ah,9
int 21h
28