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 |
+—————-+
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.
Mungkin sampai disini dulu postingan kali ini semoga bermanfaat bagi sahabat blogger..
Artikel keren lainnya:
Belum ada tanggapan untuk "PROGRAM PROCEDURE PADA ASSEMBLY"
Post a Comment