WELCOME TO MY BLOG

Minggu, 03 Desember 2017

Macro pada assembly

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 :

Siapkan aplikasi Assembler nya terlebih dahulu.

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


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 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 .


sumber : http://webriky.blogspot.co.id/2014/11/penggunaan-macro-dalam-assembly.html