Laporan 2
Praktikum Mikroprosesor
Anggota Kelompok: 1. Rahmayezi Edwar
2.
Rani Novesari
Pemrograman
Assembler 8086 dengan Turbo Assembler
1.
Tujuan
Setelah melakukan praktikum ini
diharapkan mahasiswa mampu:
1. Membuat
program assambler sederhana menggunakan text editor dengan compiler tasm
sebagai compiler assambler (Turbo Assambler)
2. Menjelaskan
perbedaan pembuatan program berekstensi COM dan EXE
3. Menjelaskan
program percabangan, perbandingan dan pencetakan pada layar
2.
Dasar Teori
Secara umum struktur penulisan suatu
segment dapat dilukiskan sebagai berikut:
[Nama
Segment] segment
ASSUME
CS:[Segment] DS:[Segment] SS:[Segment] ES:[Segment]
Org
100h
[label]:
[Program ASM]
-
-
[nama
segment] ends
End [label]
Penulisan awal program
juga ditentukan oleh ekstensi program COM atau EXE
Pada Penulisan program
.COM pemberian Org 100h, merupakan awal
mulai menulis program pada alamat 100h. Hal ini hanya berlaku untuk program
yang berektensikan com, karena 100h alamat sebelum digunakan untuk PSP (program
segment prefiks). Disamping itu juga Org menujuk lokasi memori tertentu dari
suatu segment.
Penulisan Assume cukup
dituliskan 1 segmen saja, yaitu:
Assume
CS:Code_Seg
Tetapi bila menuliskan
program .EXE, penulisan segmen harus benar-benar menunjukkan arah yang benar,
contoh:
Assume CS:Code_Seg DS:Data_Seg
SS:Stack_Seg ES:0b800h
Org 0h
Syarat Label:
-
Harus unik
-
Maksimal 31
karakter
-
Karakter yang
boleh digunakan:
·
Alphabet
·
Angka
·
Tanda Dollar ($)
·
Tanda Tanya (?)
·
Titik (.)
·
Tanda satuan (@)
-
Bukan merupakan
suatu perintah assambler
-
Label hanya
dapat didefinisikan satu kali dalam program
Mendefinisikan variabel
Pada bahasa assambler,
variabel dibagi menjadi 2 jenis:
1.
variabel yang
dapat dimodifikasi isinya
2.
variabel yang
tidak dapat dimodifikasi isinya
Variabel yang dapat
dimodifikasi isinya
Variabel ini adalah
variabel yang memakan tempat pada memori.
Adapun besaran-besaran
variabel tersebut adalah
-
DB (Define
Byte), mendefinisikan variabel per Byte
-
DW (Define
Word), mendefinisikan variabel per Word (2 Byte)
-
DD (Define
Double Word) mendefinisikan variabel per 2 Word (4 Byte)
Tata penulisan variabel
jenis ini adalah
Label (DB/DW/DD) [Isi
Variabel]
Contoh
Satu db ‘Aku adalah
anak gembala $’
Dua db 1234h
Tiga db 12h
Variabel yang tidak
dapat dimodifikasi isinya
Variabel ini digunakan
untuk menggantikan besaran tertentu dengan menggunakan kata equ dan variabel
ini tidak menggunakan memori.
Contoh penggunaan
variabel ini adalah
Satu equ 2190h
Dua equ 2323h
Int 21h service number
09h
Interupt ini digunakan
untuk mencetak suatu kalimat, dengan syarat-syarat sebagai berikut
-
Masukkan service
number interupt pada register AH
-
Masukkan segment
dari variabel tempat menampung kalimat yang akan dicetak ke register DS dan
offsetnya ke register DX.
-
Kalimat yang
akan dicetak harus diakhiri dengan tanda $ (dollar)
3.
Alat dan Bahan
a. PC
b. Utility
Debug
4.
Pengujian
a. Mencetak
sebuah kalimat
Langkah Kerja:
1.
Membuka text editor
notepad atau masuk ke command prompt dan mengetik edit lalu
enter
2.
Mengetik program
berikut:
3.
Menyimpan
program ini di D:\cd TI (folder TI di directory D) dengan
ekstensi .asm, jika dalam notepad pada type file diubah ke allfile.
4.
Cara compile program
Mengetik
D:\TI>tasm nama program.asm
Gambar 2.1
Jika
sudah tertampil seperti gambar 2.1 maka tidak terjadi kesalahan dalam penulisan
program, kemudian melanjutkan mengetik D:\TI>tlink /t nama program
Gambarb 2.2
Jika
sudah tertampil seperti gambar 2.2 maka proses compiling sudah selesai,
cetak1.com siap dipanggil.
b. Input per Huruf
1.
Mengetik program
berikut:
2.
Compile dan
menyimpannya
3.
Mengetik program
berikut:
4.
Menyimpan
program dan compile
c. Membandingkan output program 1 dan output program 2
1.
Mengetik program
berikut
2.
Menyimpan dan
compile
d. Menghapus layar
1.
Mengetik program
berikut
2.
Menyimpan dan
compile
3.
Mengetik program
berikut
4.
Menyimpan dan
compile
e. Membuat aplikasi password
1.
Mengetik program
berikut
2.
Menyimpan dan
compile
3.
Mengetik program
berikut
4.
Menyimpan dan
compile
f.
Mencetak
karekter pada posisi yang diinginkan
1.
Mengetik program
berikut
2.
Menyimpan dan
compile
5.
Kesimpulan
a.
Dengan bahasa
assembler kita dapat membuat berbagai aplikasi.
b.
Untuk membuat
program kita dapat menggunakan notepad atau text editor
c.
Untuk lebih
memahami program kita harus tahu fungsi dari program tersebut baris per baris.
d.
Pemrograman
dengan bahasa assembler dengan menggunakan notepad atau text editor pada
command prompt disebut juga turbo assembler