Kelas : 1 CB
nim : 061430700546
Mata Kuliah : Bahasa rakitan
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,
Setelah itu buka command prompt atau bisa digantikan dengan DOSBox yang digunakan untuk mengkompile dan linking program.
Pertama kita siapkan tersebih dahulu kompiler Assembly nya,
Setelah itu buka command prompt atau bisa digantikan dengan DOSBox yang digunakan untuk mengkompile dan linking program.
Seperti berikut
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 programnyaKita 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.
.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.\
sekian postingan saya kali ini semoga bermanfaat
download
Tidak ada komentar:
Posting Komentar