Anda di halaman 1dari 13

Pemrograman Bahasa Assembly (Assembler):

Menulis Nama dan Kata Dalam Bahasa Assembly


Pada artikel sebelumnya, telah diberitahukan tutorial cara mencetak karakter menggunakan Bahasa
Assembly, tapi hanya satu karakter saja yang bisa dicetak dan tidak bisa lebih. Pada artikel kali ini,
saya akan memberitahu cara menulis dan mencetak satu kata atau lebih menggunakan Bahasa
Assembly.

Aplikasi yang diperlukan masih sama, yaitu TASM, TLINK, dan RTM. bagi yang belum
memilikinya, dapat mendownload dari link yang telah diberikan pada artikel sebelumnya. Kita juga
masih akan menggunakan fungsi dari command prompt untuk menulis perintah assembly.

Pertama bukalah DOS text editor menggunakan command prompt, cara membukanya bisa dilihat pada
artikel sebelumnya.

Untuk menulis kata kita akan menggunakan beberapa perintah, diantaranya:


-mov ah,02h merupakan nilai servis untuk mencetak karakter.

-mov dl,xxh merupakan register DL yang akan diisi kode ASCII karakter yang akan dicetak, huruf h
disini menandakan heksa. Perhatikan tabel dibawah ini!
Untuk mencetak karakter yang diinginkan, carilah karakter ingin dicetak di tabel "Glyph", kemudian
ubahlah "xx" di perintah diatas menjadi karakter yang ada didalam tabel "Hex" disampingnya.
Misalnya kita ingin mencetak karakter "R", maka perintahnya adalah "mov dl,52h"

-int 21h merupakan perintah untuk mencetak karakter pada register dl diatasnya, perintah int 21h
harus diulang untuk setiap karakter yang akan dicetak.

-int 20h merupakan perintah untuk mengakhiri program.

Sebagai contoh, jika kita ingin menulis kalimat "NAMA SAYA", maka perintah yang harus
dimasukan adalah:

.model small
.code
org 100h
proses:
mov ah,02h
mov dl,4Eh
int 21h
mov dl,41h
int 21h
mov dl,4Dh
int 21h
mov dl, 41h
int 21h
mov dl, 20h
int 21h
mov dl, 53h
int 21h
mov dl,41h
int 21h
mov dl,59h
int 21h
mov dl,41h
int 21h

int 20h
END proses

Save sebagai asm file kemudian compile-lah menggunakan TASM.exe, jika anda telah melakukan
perintah dan langkah dengan benar, maka anda akan mendapatkan pesan seperti ini:

Turbo Assembler Version 4.1 Copyright (c) 1988, 1996


Borland International
Assembling file: namasaya.ASM
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 418k
ubahlah file obj yang sudah dibuat menjadi file exe menggunakan TLINK.EXE. setelah selesai,
cetaklah karakter anda di command prompt dan tekan enter.

Selamat! Anda telah berhasil menulis kata menggunakan program assembly! Sekarang cobalah untuk
menulis nama anda sendiri dengan mengikuti langkah-langkah seperti diatas!

Untuk melihat contoh yang sudah jadi, bisa di-download di link dibawah ini, jalankan
program menggunakan command pompt.

Penggunaan Procedure Pada Assembly

Assalamualaykum

Pada kesempatan kali ini, kita akan membahas mengenai penggunaan procedure dalam


bahasa pemrograman Assembly.
Procedure sendiri digunakan untuk memudahkan kita dalam membuat program di
Assembly. Kita tinggal memanggil procedure yang telah dibuat.

Untuk membuat procedure bisa diilustrasikan  seperti berikut :

NamaP Proc NEAR/FAR

+ -------------- +
|  Program  |
+----------------+
 Ret
                                         
 NamaP ENDP

"NamaP" adalah nama dari procedure yang kita definisikan sendiri. NEAR/FAR merupakan
bentuk dari procedure tersebut. Bentuk NEAR digunakan jika procedure tersebut nantinya
dipanggil oleh program yang letaknya masih satu segment dari procedure
tersebut.Sebaliknya bentuk FAR ini digunakan bila procedure dapat dipanggil dari segment
lain. Bentuk ini akan kita gunakan pada program EXE.

Perintah RET(Return) digunakan untuk mengembalikan kontrol program pada simpemanggil


procedure. Pada bentuk NEAR perintah RET ini akan memPOP atau mengambil register IP
dari stack sebagai alamat loncatan menuju program pemangil procedure. Sedangkan pada
bentuk FAR perintah RET ini akan mengambil register IP dan CS dari stack sebagai alamat
loncatan menuju program pemanggil procedure. Alamat kembali  untuk procedure
disimpan pada stack pada saat procedure tersebut dipanggil dengan perintah CALL. Dengan
syntak :

CALL NamaP

Berikut kita akan membuat program dengan procedure.

Pertama kita siapkan  tersebih dahulu kompiler Assembly nya, jika Anda belum punya
silahkan download di sini.

Setelah itu buka command prompt atau bisa digantikan dengan DOSBox yang digunakan
untuk mengkompile dan linking program.

Kemudian siapkan text editor untuk mengetikkan kode program, ada banyak text edtior,
Anda bisa menggunakan notepad, notepad++, sublime text,edit,dll.

Kita akan membuat program mencetak karakter dengan procedure,berikut kode


programnya.

.model small
.code
org 100h

proses     : call cetak_kar


         int 20h

cetak_kar     proc near


            mov ah,2h
            mov dl,'A'
            int 21h
            
            ret
cetak_kar    endp

end     proses

Simpan dengan ekstensi *.ASM. Setelah itu kita kompile program tersebut di dengan
perintah tasm  namaprogram , selanjutnya kita linking program dengan perintah
tlink/t namaprogram.

Ketika program tersebut dijalankan maka akan menghasilkan karakter 'A'.

Selanjutnya kita coba membuat program untuk mencetak karakter A - Z satu warna, masih
menggunakan procedure.

.model small
.code
org 100h
proses     : call cetak_kar
         int 20h

cetak_kar     proc near


            mov ah,2h
            mov dl,'A'
            mov cx,26

ulang        :
            int 21h
            inc dl
            loop ulang
            
            ret
cetak_kar    endp

end     proses

Jalankan program diatas, maka akan menghasilkan karakter A-Z.

Kita juga bisa mencetak karakter A - Z warna - warni, berikut kode programnya

.model small
.code
org 100h

proses     : call cetak_kar


         int 20h
cetak_kar     proc near
            mov ah,9h            
            mov bl,99h
            mov cx,26
ulang        :
            int 10h
            inc bl
            loop ulang

            mov ah,2h


            mov dl,'A'
            mov cx,26

lagi        :
            int 21h
            inc dl
            loop lagi
            
            ret
cetak_kar    endp

end     proses

Jalankan program tersebut, maka akan menghasilkan karakter A - Z warna-warni.


Makro dalam Bahasa Assembly

Pada pemrograman modular, sebuah program yang besar dibagi dalam modul-modul yang
lebih kecil. Pembagian program ke dalam modul-modul membuat program lebih mudah
untuk dianalisis, kesalahan lebih mudah diketahui dan pengembangan program lebih
terorganisasi. Pada pemrograman assembly, program juga dapat dibuat dalam bentuk
modular dengan membuat subrutin-subrutin di dalam program utama. Subrutin-subrutin
tersebut berupa prosedur dan makro yang dapat dipanggil dari program utama jika
diperlukan.

Makro (Macro)

Makro hampir sama dengan prosedur, untuk membuat program yang besar dalam bentuk
modular. Dengan makro tidak perlu digunakan instruksi “Call” dan makro juga mengijinkan
penggunaan parameter. Makro ditulis dalam program sekali tapi disimpan dalam memori
sebanyak pemanggilan makro tersebut. Penggunaan makro tidak memperlambat program
seperti prosedur tetapi makro lebih banyak menghabiskan penggunaan ruang memori.

Pada pemanggilan sebuah makro berarti instruksi-instruksi makro tersebut akan dibuat di
memori. Jika pemanggilan lebih dari sekali, instruksi-instruksi makro akan dibuat di
memori lebih dari sekali, sebanyak pemanggilan yang dilakukan. Hal ini menyebabkan
penggunaan label pada makro akan menyebabkan “Error” karena adanya duplikasi
label. Untuk menghindarinya digunakan direktif local pada label di dalam makro.

Contoh bentuk makro

            NamaM Macro [P1,P2..]

      Local Ulang

      ;

Ulang:

      ;

      ;

      EndM

Pemanggilan makro di dalam program menggunakan nama makro tanpa instruksi tambahan.
Setelah sebelumnya saya sudah memperkenalkan Software Simulator Assembler, jadi pada kali ini
saya akan membagikan sedikit tips atau tutorial menggunakan Simulator Assembler tersebut.
Sebelumnya sudah saya berikan situs tempat anda harus mendownload Software ini dan sekarang
kita masuk ke prosedur awal.
1. Prosedur awal
    Untuk memulai anda bisa memlih dari windows menu, pilih Start>MIDE-51 package>MIDE-
51, sehinnga menunjukkan tampilan awal seperti dibawah ini :

Tampilan awal MIDE-51

Setelah itu click Preference untuk mengatur asssembler compiler, c-compiler, Configuration (setting
jenis font serta size yang akan digunakan),serta simulator yang akan digunakan.

klik pada preference

Pada pengaturan preference ini hanya pengaturan pada tab Programmer saja yang perlu diatur
karena untuk yang lain dengan mode default sudah dapat digunakan untuk bekerja. Jadi,  pengeturan
Programmer ini di atur untuk menentukan jenis program yang akan digunakan, misalnya dengan
menggunakan lsppgm yang umum digunakan. Caranya adalah dengan mengarahkan Execute file
(Full Path and filename) pada lsppgm.exe yang tersimpan di folder lain. Jika tidak ada Isppsm bisa
anda download disini.  Setelah itu anda masukkan di file preference.

memilih downloader Isppsm.exe di setting programmer

                            

2. Langkah berikutnya adalah menasukkan kode program.

    Bila anda perhatikan pada gambar tampilan awal MIDE-51 pada menu toolbar dan menu pilihan,
tampak terlihat disable. Hal ini karena file belum dibuat. Untuk membuah sebuah file, lakuukan
langkah-langkah berikut:

        1. Untuk membuat file baru, klik pada menu filedan pilih new, sehingga akan tampak halaman
kosong seperti pada gambar di bawah:

        
File Baru dengan halaman kosong

   2. Setelah itu mulailah menulis program assembly pada halaman kosong dan save file. Bila telah
tersimpan maka akan tampak tesk dengan instruksi yang berwarna-warni seperti pada gambar
dibawah ini :
                       

3. Setelah itu kita melakukan kompilasi pada file yang telah kita buat dan yang telah kita save
tersebut. INGAT file save harus ekstensi .asm untuk program assembly.
Agar file dengan ekstensi .ASM tersebut dapat di loadkan ke mikrokontroler, maka perlu di lakukan
kompilasi dari ASM ke HEX. 
           

Compile File

 4. Setelah itu hasil compile dinamakan debug. Pada debug saat program di compile, kesalahan sytax
pada pemrograman di perlihat di bagian ini. Bila tidak ada kesalahan maka akan tampil komentar no
errors seperti pada gambar di bawah ini :
           
Hasil Debug

5. Setelah proses memasukkan kode program selesai, kita bisa melihat hasilnya dengan
menggunakan simulator. Untuk melihat hasilnyya pilih simulator dengan cara memilih
menu built&sim :
           

Setelah dipilh built&slim, seperti pada gambar di atas. Maka simulator akan menampilkan beberapa
windows simulator antaranya ialah Diassembly Code, SF Register, Register dan Internal memory
seperti pada gambar di bawah: 

Gambar simulator pada Emulator

Setelah itu Jalankan simulator step by step atau pada dosbox debug dinamakan trace :

       

Setelah itu periksa  hasilnya dari perintah yang di eksekusi :


Jika sudah begitu anda berhasil  sudah membuat program, mencompile dan mendebugnya serta
melihat step by step perubahan register dan internal memory pada program anda.

Anda mungkin juga menyukai