Menulis Karakter dan Kata Dalam Bahasa Assembly
I.
TUJUAN
Untuk mengetahui, memahami, dan memraktikkan bahasa
assembly agar menghasilkan tulisan satu karakter maupun rangkaian kata. Selain
itu dapat mencetak huruf ”A”, huruf ”P”, dan rangkaian kata nama diri sendiri
”SEKAR RINIA”.
II.
DASAR TEORI
Bahasa assembly dikategorikan sebagai bahasa
tingkat rendah (low level languange). Ini untuk menggambarkan kekhususannya
sebagai bahasa yang berorientasi pada machine dependent. Bahasa assembly
berbeda dengan bahasa mesin. Dia memiliki karakteristik yang membedakannya
dengan bahasa mesin, 1) Dalam penggunaan
numeric operation code (opcodes) bahasa assembly menggantinya dengan mnemonic
code, 2) Memberikan kemudahan penulisannya dibandingkan dengan bahasa mesin, 3)
Mendukung pelacakkan kesalahan penulisan operation code, 4) Bahasa assembly
memberikan kemudahan dalam memodifikasi program karena menggunakan opperand
sebagai penamaan simbol yang biasa diasosiasikan sebagai data atau instruksi,
5) Data yang dinyatakan bahasa assembly adalah dalam notasi desimal. Hal ini
dilakukan untuk mencegah konversi secara manual dari konstanta ke dalam
representasi internal mesin.
Bahasa assembly mempunyai perintah dasar, salah
satunya MOV. MOV adalah perintah untuk mengisi, memindahkan, memperbaharui isi
suatu register, variabel ataupun suatu lokasi memori. Penulisan perintah:
MOV [operand A],[operand B]
Dengan ketentuan operand A merupakan
register, variabel, lokasi memori dan ketentuan isi operand B berupa register,
variabel, lokasi memori ataupun bilangan. Operand B merupakan bilangan asal
yang akan diisikan ke operand A, dengan kata lain operand A merupakan tujuan
pengisian atau penduplikatan dari operand B.
Bahasa
assembly juga mempunyai suatu layanan
interrupt. Interupt merupakan sebuah prosedur terprogram mesin yang siap
dipanggil
untuk dieksekusi. Interupt ini berkaitan dengan fungsi dasar operasi
komputer, misalnya
menulis karakter, menset kursor, mambaca karakter dan lain-lain.
Interupt dipanggil dengan menuliskan nomor interuptnya, dan penulisan
dalam bahasa ini tidak case sensitive, sehingga penulisan huruf balok
atau kecil sama saja.
Pencetakan sebuah karakter pada bahasa
assembly dilakukan berdasarkan kode ASCII. Artinya, jika ingin mencetak sebuah
huruf, maka pengkodean yang ditulis pada MOV DL adalah kode huruf tersebut
dalam kode ASCII.
III.
ANALISA
1. Menampilkan huruf
”A”
Untuk
menampilkan huruf ”A”,dapat mengetikkan script berikut.
MOV AH,02H
MOV DL,41H
INT 21H
INT 20H
Ø MOV AH,02 merupakan nilai servis untuk mencetak karakter,
atau dengan kata lain mengisi register AH dengan data 02.
Ø MOV DL,41H merupakan
register DL yang diisi kode ASCII karakter yang akan dicetak, yaitu
mencetak huruf "A". Sehingga kode ASCIInya bernilai 41. Huruf H disini
menandakan heksa.
Ø INT 21H merupakan perintah untuk mencetak karakter pada
register DL, yaitu huruf ”A”.
Ø INT 20H merupakan perintah untuk mengakhiri program.
2. Menampilkan huruf
”P”
MOV AH,02H
MOV DL,50H
INT 21H
INT 20H
Ø MOV AH,02 merupakan nilai servis untuk mencetak karakter,
atau dengan kata lain mengisi register AH dengan data 02.
Ø MOV DL,50H merupakan register
DL yang diisi kode ASCII karakter yang akan dicetak, yaitu mencetak
huruf "P". Sehingga kode ASCIInya bernilai 50. Huruf H disini menandakan
heksa.
Ø INT 21H merupakan perintah untuk mencetak karakter pada
register DL, yaitu huruf ”P”.
Ø INT 20H merupakan perintah untuk mengakhiri program.
3. Menampilkan nama ”SEKAR RINIA”
MOV AH,02H
MOV DL,53H
INT 21H
MOV DL,45H
INT 21H
MOV DL,4BH
INT 21H
MOV DL,41H
INT 21H
MOV DL,52H
INT 21H
MOV DL,20H
INT 21H
MOV DL,52H
INT 21H
MOV DL,49H
INT 21H
MOV DL,4EH
INT 21H
MOV DL,49H
INT 21H
MOV DL,41H
INT 21H
INT 20H
Ø MOV AH,02
merupakan nilai servis untuk mencetak karakter, atau dengan kata lain mengisi register
AH dengan data 02.
Ø MOV DL,53H merupakan register
DL yang diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf
”S”. Sehingga kode ASCIInya bernilai 53. Huruf H disini menandakan heksa.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL, yaitu
huruf ”S”.
Ø MOV DL,45H
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”E”.
Sehingga kode ASCIInya bernilai 45.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”E”.
Ø MOV DL,4BH
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”K”.
Sehingga kode ASCIInya bernilai 4B.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”K”.
Ø MOV DL,41H
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”A”.
Sehingga kode ASCIInya bernilai 41.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”A”.
Ø MOV DL,52H
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”R”.
Sehingga kode ASCIInya bernilai 52.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”R”.
Ø MOV DL,20H
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak karakter spasi.
Sehingga kode ASCIInya bernilai 20.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu karakter spasi.
Ø MOV DL,52H
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”R”.
Sehingga kode ASCIInya bernilai 52.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”R”.
Ø MOV DL,49H
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”I”.
Sehingga kode ASCIInya bernilai 49.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”I”.
Ø MOV DL,4EH
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”N”.
Sehingga kode ASCIInya bernilai 4E.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”N”.
Ø MOV DL,49H
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”I”. Sehingga
kode ASCIInya bernilai 49.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”I”.
Ø MOV DL,41H
merupakan register DL yang
diisi kode ASCII karakter yang akan dicetak, yaitu akan mencetak huruf ”A”.
Sehingga kode ASCIInya bernilai 41.
Lalu
diikuti INT 21H merupakan perintah untuk mencetak karakter pada register DL,
yaitu huruf ”A”.
Ø INT 20H merupakan perintah untuk mengakhiri program.
Ø Penulisan MOV AH,02H hanya ditulis sekali diawal program
karena ini diibaratkan mengambil spidol/alat tulis. Sehingga untuk menuliskan
program yang dieksekusi hanya akan mengambil alat tersebut sekali di awal.
IV.
KESIMPULAN
Dalam bahasa assembly ada beberapa jenis instruksi, seperti MOV yang
digunakan sebagai instruksi pemindahan data, INT 21 untuk mencetak karakter
pada register DL, dan INT 20H digunakan untuk mengakhiri program.
V. LAMPIRAN
1. Huruf A
2. Huruf P
3. Tulisan SEKAR RINIA
3 December 2014 at 09:21
ka itu run programnya dimana ya ?