PENJELASAN
Bentuk macro
NamaM MACRO [P1,P2,,]
+-----------------+
| Program |
+-----------------+
ENDM
P1 dan P2 adalah parameter yang bisa kita gunakan pada macro. Parameter ini hanya optional, bisa kita gunakan ataupun tidak.
Mencetak karakter dengan macro :
Kemudian buka command prompt atau bisa juga digantikan dengan DOSBox.Selanjutnya siapkan text editor untuk mengetikkan kode program.
Berikut adalah contoh programnya :
cetak_kar macro kar
mov ah,2h
mov dl,kar
int 21h
endm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Program untuk mencetak karakter ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.model small
.code
org 100h
proses :
cetak_kar 'S'
int 20h
end proses
mov ah,2h
mov dl,kar
int 21h
endm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Program untuk mencetak karakter ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.model small
.code
org 100h
proses :
cetak_kar 'S'
int 20h
end proses
Ketikkan kode diatas di keadalam text editor, selanjutnya simpan dengan ekstensi *.ASM. Setelah itu compile program dengan perintah tasm namaprogram di DOSBox, Kemudian ketikkan perintah tlink/t namaprogram. Jalankan program, maka akan menghasilkan karakter S.
Penggunaan Label Pada Macro
Pada macro Anda bisa menggunakan label seperti biasa, tapi kita hanya bis a memanggil satu kali label tersebut. Bila kita menggunakan lebih dari satu kali maka akan terjadi error. Untuk menghindari hal tersebut digunakan directif LOCAL. Dengan directif LOCAL Assembler akan membedakan label tersebut pada saat dipanggil.
contoh program :
cetak_kar macro kar
local ulang
mov cx,3
mov ah,02
mov dl,kar
ulang :
int 21h
loop ulang
endm
;;;;;;;;;;;;;;;;;;;
.model small
.code
org 100h
Proses :
cetak_kar 'P'
cetak_kar 'C'
int 20h
end Proses
mov cx,3
mov ah,02
mov dl,kar
ulang :
int 21h
loop ulang
endm
;;;;;;;;;;;;;;;;;;;
.model small
.code
org 100h
Proses :
cetak_kar 'P'
cetak_kar 'C'
int 20h
end Proses
Lakukan proses compile dan linking seperti diatas. Ketika dijalankan, maka akan menghasilkan karakter PPPCCC.
Pada contoh diatas kita hanya menggunakan macro dengan satu parameter, selanjutnya kita akan menggunakan lebih dari satu parameter.
contoh program :
cetak_kar macro lab,lib
mov ah, 02h
mov dl, lab
mov cx, lib
ulang :
int 21h
inc dl
loop ulang
endm
.model small
.code
org 100h
proses :
cetak_kar 'A' 26
int 20h
end proses
ulang :
int 21h
inc dl
loop ulang
endm
.model small
.code
org 100h
proses :
cetak_kar 'A' 26
int 20h
end proses
Kita lihat pada bagian parameter, terdapat dua parameter yaitu lab dan lib. Ketika kita memanggil didalam program kita beri satu spasi pada parameter yang lain , contoh : cetak 'A' 26. Nah 'A' merupakan parameter 1 dan 26 merupakan parameter 2.
ketika program tersebut dijalankan, maka akan menghasilkan karakter A-Z .
Kalau mau DOWNLOAD DISINI :)
Tidak ada komentar:
Posting Komentar