Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar bisa diselesaikan dengan lebih mudah. Proses pencarian kesalahanpun akan lebih mudah bila digunakan procedure.

MEMBUAT PROCEDURE
Untuk membuat procedure bisa anda gunakan bentuk seperti gambar dibawah ini:
-------------------------------------------------------------
NamaP PROC NEAR/FAR
+---------+
| Program |
+---------+
RET
NamaP ENDP
-------------------------------------------------------------

"NamaP" adalah nama dari procedure yang kita definisikan sendiri. Untuk memudahkan nama untuk procedure bisa anda definisikan sesuai dengan fungsi dari procedure tersebut, seperti CLS untuk procedure yang tugasnya menghapus layar.
Dibelakang kata "PROC" anda harus memilih bentuk dari procedure tersebut, yaitu "NEAR" atau "FAR". Bentuk "NEAR" digunakan jika procedure tersebut nantinya dipanggil oleh program yang letaknya masih satu segment dari procedure tersebut. Pada program COM yang terdiri atas satu segment, kita akan selalu menggunakan bentuk "NEAR". 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 sipemanggil procedure. Pada bentuk NEAR perintah RET ini akan memPOP atau mengambil register IP dari stack sebagai alamat loncatan menuju program pemanggil procedure. Sedangkan pada bentuk "FAR" perintah RET 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 syntax:
CALL NamaP
Perintah Call ini akan menyimpan register IP saja bila procedure yang dipanggil berbentuk "NEAR". Bila procedure yang dipanggil berbentuk "FAR", maka perintah "CALL" akan menyimpan register CS dan IP.

MENGGUNAKAN PROCEDURE
Sebagai contoh dari pemakaian procedure akan kita lihat pada program dibawah ini yang mencetak karakter dengan procedure.
Siapkan terlebih dahulu command prompt, kemudian ketikkan program dibawah ini di layar edit.
.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 program dengan ekstension .asm. kemudian cek kesalahan menggunakan TASM dan cetak program menggunakan TLINK.

Bila program dijalankan, maka pada layar akan ditampilkan huruf "A". Untuk membuat sebuah procedure ingatlah untuk menyimpan semua register yang digunakan oleh procedure tersebut dan mengembalikan semua isi register pada akhir procedure. Hal ini dilakukan untuk menjaga supaya program utama yang menggunakan procedure tersebut tidak menjadi kacau nantinya.

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

Simpanlah program kemudian jalankan program dengan TASM terlebih dahulu lalu kemudian TLINK.

Maka program yang sudah dijalankan akan tercetak huruf A-Z satu warna.
Apabila ingin 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, maka akan tercetak karakter A-Z warna-warni.

Leave a Reply