Kelas : 1 CB
NIM : 061430700546
Mata Kuliah : Bahasa Rakitan
Pada kesempatan kali ini kita akan membahas mengenai penggunaan macro pada Assembly.
Seperti halnya pada procedure, macro juga digunakan untuk mempermudah kita membuat program di Assembly.
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
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
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 ganteng,kece
mov ah, 02h
mov dl, ganteng
mov cx, kece
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 ganteng dan kece. 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 .
download
Tidak ada komentar:
Posting Komentar