Title | MAKALAH BAHASA ASSEMBLY LANJUTAN PROGRAM BAHASA ASSEMBLY LANJUTAN MENCETAK KALIMAT MENGGUNAKAN EMULATOR 8086 |
---|---|
Author | Noreza Setiawan |
Pages | 17 |
File Size | 1 MB |
File Type | |
Total Downloads | 531 |
Total Views | 944 |
MAKALAH BAHASA ASSEMBLY LANJUTAN PROGRAM BAHASA ASSEMBLY LANJUTAN MENCETAK KALIMAT MENGGUNAKAN EMULATOR 8086 Makalah Ini Di Ajukan Untuk Syarat Kelulusan Semester Pendek Mata Kuliah Bahasa Assembly Lanjutan DISUSUN OLEH: MUHAMMAD NOREZA SETIAWAN 1610128262188 PROGRAM STUDI TEKNIK INFORMATIKA ...
MAKALAH BAHASA ASSEMBLY LANJUTAN
PROGRAM BAHASA ASSEMBLY LANJUTAN MENCETAK KALIMAT MENGGUNAKAN EMULATOR 8086
Makalah Ini Di Ajukan Untuk Syarat Kelulusan Semester Pendek Mata Kuliah Bahasa Assembly Lanjutan
DISUSUN OLEH: MUHAMMAD NOREZA SETIAWAN 1610128262188
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNIK IBNU SINA BATAM 2019
BAB I PENDAHULUAN 1.1 Latar Belakang Sejak dulu hingga sekarang, tentu kita mengetahui bahwa di dunia komputer terdapat beraneka ragam bahasa pemrograman. Karena begitu banyaknya jenis-jenis bahasa pemrograman, bahasa-bahasa program tersebut juga dikelompokan berdasarkan kriteria tertentu. Ada yang mengelompokanya menjadi 3 level bahasa program yaitu: high level
seperti pascal dan basic, middle level seperti bahasa C, dan low level seperti bahasa assembly.
Ada juga yang mengelompokanya menjadi bahasa procedural atau functional programming, object oriented programming, dan sebagainya, (Mustawa, 2013). Tahun
1940-an komputer bertenaga listrik dibuat, dengan kecepatan yang sangat terbatas
dan kapasitas memori yang mencukupi untuk programmer memprogram, kemudian
terciptalah bahasa assembly. Bahasa assembly adalah bahasa simbol dari bahasa mesin.
Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya move
untuk memindahkan isi data, add untuk penjumlahan, mul untuk perkalian, sub untuk pengurangan, dan lain-lain. Penggunaan bahasa assembly dirasa belum sempurna karena
selain sulit untuk diimplementasikan, ternyata bahasa ini juga sulit jika sang programer ingin mengembangkan program buatannya.
Untuk melaksanakan tugasnya maka komputer akan diperintah oleh sebuah sistem, perintah dasar komputer ini disimpan ke dalam sebuah sistem yang disebut sebagai sistem operasi seperti DOS, Unix, Windows, Linux, Solaris dan lainnya.
Berdasarkan latar belakang diatas maka penulis menuangkan dalam bentuk makalah yang
berjudul “Program Bahasa Assembly Lanjutan Mencetak kalimat Menggunakan
Emulator 8086”.
1.2 Tujuan Tujuan pembuatan program bahasa assembly ini adalah sebagai berikut:
1. Untuk mengetahui cara menggunakan emu 8086 untuk mencetak karakter menggunakan bahasa assembly.
2. Untuk
mengetahui
cara
menggunakan
emu
8086
untuk
mengimplementasikan karakter dengan huruf berwarna menggunakan bahasa assembly.
1.3 Manfaat
Dari rumusan masalah yang telah dipaparkan di atas maka manfaat praktikum yang dilakukan adalah sebagai berikut : 1. Untuk membantu mahasiswa dalam merancang dan membuat sebuah aplikasi menggunakan bahasa pemrograman assembly.
2. Untuk sebagai bahan referensi mahasiswa dalam merancang dan membuat aplikasi berbasiskan bahasa pemrograman assembly.
BAB II HASIL DAN PEMBAHASAN 2.1 Penjelasan dan Screenshot Program
2.1.1 Menginstal emu 8086
1. Pastikan Anda telah memiliki file setup emu 8086 .
Gambar 2.1 Folder Install DosBox
2. Selanjutnya klik “Setup.exe” sebagai setup untuk menginstal emulator
8086, ikut langkah - langkah penginstalan dan pastikan tidak ada yang dirubah sama sekali.
3. Setelah selesai menginstal, maka Emu 8086 sudah tersimpan di drive C:.
Gambar 2.2 Folder 8086
4. Klik icon emu 8086 pada desktop jika penginstallan sudah berhasil.
Gambar 2.3 Emulator 8086
5. Setelah itu buka aplikasi emu 8086, dan tampilannya akan seperti di bawah ini.
Gambar 2.4 Tampilan Emu 8086. 2.2 Pembahasan Program 2.2.1 Program Mencetak Huruf Pada saat terjadi interupsi 21h maka pertama-tama yang dilakukan komputer adalah melihat isi atau nilai apa yang terdapat pada register AH. Misalkan bila nilai AH adalah 2 maka komputer akan mencetak sebuah karakter, berdasarkan
kode ASCII yang terdapat pada register DL. Bila nilai pada register AH bukanlah
2, pada saat dilakukan interupsi 21h maka yang dikerjakan oleh komputer akan berbeda. Dengan demikian kita bisa mencetak sebuah karakter yang diinginkan dengan meletakkan angka 2 pada register AH dan meletakkan kode ASCII dari karakter yang ingin dicetak pada register DL sebelum menghasilkan interupsi 21h.
Gambar 2.5 Coding Mencetak Huruf Setelah itu silahkan coba menjalankan coding tersebut dengan mengklik icon
emulate (panah berwarna hijau).
Gambar 2.6 Hasil Dari Mencetak Huruf 2.2.2 Program Mencetak Kalimat Untuk mencetak kalimat, bisa digunakan interupsi 21 fungsi 9 dengan aturan: INPUT
AH = 9 DX = Alamat String tersebut CATATAN = Karakter '$' dijadikan tanda akhir tulisan
Pada saat pendefinisian untuk variabel "KAL0" akan menambahkan tanda 13 dan 10. Kedua tanda ini merupakan karakter kontrol untuk pindah baris (tanda 10) dan menuju kolom 0 (tanda 13). Pada akhir dari setiap kalimat yang ingin dicetak harus ditambahkan dengan karakter "$". Karakter ini akan dipakai sebagai tanda akhir dari kalimat.
Gambar 2.7 Coding Program Mencetak Kalimat
Setelah itu silahkan coba menjalankan coding tersebut dengan mengklik icon emulate dan pilih run, maka program akan di proses.
Gambar 2.8 Hasil Dari Program Mencetak Kalimat
2.2.3 Program Operasi Aritmatika Dalam konsep perancangan ini akan membahas tentang aritmatika yaitu penambahan dan pengurangan serta penjumlahan dan debug:
Gambar 2.9 Coding Program Perkalian dan Debug
Setelah itu silahkan coba menjalankan coding tersebut dengan mengklik icon emulate dan pilih debug di bagian bawah , lalu jalankan dengan single step.
Gambar 2.10 Tampilan Debug Dari Program Aritmatika 2.2.4 Program Operasi Logika (Logika or) Logika Or adalah sebuah logika yang menghasilkan nilai satu (benar) jika salah satu operand nya adalah satu (benar). Dan akan bernilai nol (salah) jika
kedua operandnya nol (salah) .Register-register yang bisa digunakan pada addressing ini adalah BX, dan AX.
Gambar 2.11 Coding Program Operasi Logika Or Setelah itu silahkan coba menjalankan coding tersebut dengan mengklik icon emulate dan pilih debug di bagian bawah , lalu jalankan dengan single step.
Gambar 2.12 Hasil Dari Program Program Operasi Logika Or 2.2.5 Program Looping Perintah
LOOP
digunakan
untuk
melakukan
berulang-ulang. Adapun syntax dari perintah ini adalah : LOOP Tujuan
suatu proses
yang
Tujuan dapat berupa suatu label yang telah didefinisikan, contoh: Ulang :
MOV CX,3
; Banyaknya pengulangan yang dilakukan
INT 10h
; Tempat terjadinya pengulangan
Loop Ulang
; Lompat ke label 'Ulang'
Gambar 2.13 Coding Program Looping Setelah itu silahkan coba menjalankan coding tersebut dengan mengklik icon emulate dan pilih run, maka program akan di proses.
Gambar 2.14 Hasil Dari Program Looping
2.2.6 Program Mencetak Kalimat Dengan Warna Pada bagian sebelumnya kita mencetak kalimat tanpa atribut. Untuk mencetak kalimat dengan atributnya bisa melalui interupsi 20h. Adapun yang harus anda persiapkan adalah: register AX diisi dengan 1300h, BL diisi dengan
atribut yang ingin ditampilkan, BH diisi dengan halaman tampilan, DL diisi dengan posisi X tempat kalimat tersebut akan tercetak sedangkan DH diisi dengan posisi Y-nya. Karena fungsi ini tidak mengenal batas tulisan "$" seperti interupsi 21h servis 9, maka kita harus mengisikan CX dengan banyaknya karakter dalam kalimat. Register LEA BP digunakan untuk mencatat alamat dari kalimat yang ingin dicetak.
Gambar 2.15 Coding Program Mencetak Kalimat Dengan Warna Setelah itu silahkan coba menjalankan coding tersebut dengan mengklik icon emulate dan pilih run, maka program akan di proses.
Gambar 2.16 Hasil Mencetak Kalimat Dengan Warna
2.2.7 Program Dengan Penggunaan Stack Stack adalah bagian memory yang digunakan untuk menyimpan nilai dari suatu Register untuk sementara. Operasi- operasi pada assembler yang langsung menggunakan stack misalnya pada perintah PUSH, POP, PUSF dan POPF. Dengan perintah "PUSH", kita menyimpan nilai register AX pada stack, kemudian pada perintah "POP" kita mengambil keluar nilai yang disimpan tersebut dari stack. Dari program ini dapat dilihat bagaimana stack menggantikan variabel pada program yang digunakan untuk menyimpan nilai pada register DX.
Gambar 2.17 Coding Program penggunaan Stack Setelah itu silahkan coba menjalankan coding tersebut dengan mengklik icon emulate dan pilih debug di bagian bawah , lalu jalankan dengan single step.
Gambar 2.18 Hasil Dari Program Penggunaan Stack 2.2.8 Program Operasi Jump
Perintah jump digunakan untuk melompati daerah kata program. Perintah
JMP digunakan dengan syntax:
JMP Tujuan
Perintah JMP ini dikategorikan sebagai Unconditional Jump, karena
perintah ini tidak menyeleksi keadaan apapun untuk melakukan suatu lompatan. Setiap ditemui perintah ini maka lompatan pasti dilakukan.
Gambar 2.19 Coding Penggunaan Perintah JMP
Setelah itu silahkan coba menjalankan coding tersebut dengan mengklik icon emulate dan pilih run, maka program akan di proses.
Gambar 2.20 Hasil Dari Penggunaan Perintah JMP 2.2.9 Program Menampilkan Tipe Data pada DosBox Di dalam assembler kita bisa menyimpan data dengan berbagai tipe data yang berbeda-beda. Kita dapat memberikan nama pada data tersebut, untuk memudahkan dalam pengaksesan data tersebut. Adapun tipe data yang terdapat pada assembler dapat anda lihat pada gambar di bawah ini.
Gambar 2.21 Coding Program
Sebelum menjalankan program di dosbox terlebih dahulu kita membuat folder bernama 8086 di local disk C, kemudian kita simpan file diatas di dalam folder tersebut dengan nama mycode.asm .Setelah itu silahkan coba menjalankan coding tersebut dengan kode mount C C:\8086 (enter) C: tlink mycode.obj (enter) Debug mycode.exe (enter) –t dan –d (enter).
Gambar 2.22 Hasil Program
BAB III PENUTUP 3.1 Kesimpulan Dari berbagai penjelasan yang telah diuraikan dalam laporan ini, maka dapat disimpulkan beberapa hal sebagai berikut : 1.
Untuk Menginstal emulator 8086, a.
Pertama kita harus memiliki file setup emulator 8086.
b.
Kemudian lakukan penginstalan dan pastikan tidak ada yang dirubah sama sekali.
c.
Setelah selesai menginstal, aplikasi emulator 8086 otomatis tersimpan di local disk C.
d.
Dan menentukan program yang akan di kita buat.
2. Untuk mencetak karakter di emu 8086 kita menggunakan interrupt 21h service 09 , service number ini berfungsi untuk mencetak kalimat (string), dengan catatan karakter “ $ ” di tambahkan di akhir kalimat atau karakter sebagai batas akhir kalimat yang akan di cetak. 3. Untuk dapat mencetak karakter berwarna dengan posisi yang diinginkan kita menggunakan service number 13h dan sub fungsi 00, kemudian
tentukan karakter yang akan kita cetak, dan menentukan posisi sumbu X dan Y sesuai yang kita inginkan. 3.2 Saran
Adapun saran yang dapat berikan untuk pengembangan program bahasa Assembly yang telah dibuat ini antara lain : 1.
Dalam pembuatan program bahasa Assembly ini harus mengacu pada
referensi dan modul yang sudah ada.
2.
Perlu dikembangkan lagi pengetahuan dan keahlian dalam pembuatan program berbasis bahasa Assembly....