.label-size{ margin:0 2px 6px 0; padding: 3px; text-transform: uppercase; border: solid 1px #ADFF2F; border-radius: 3px; float:left; text-decoration:none; font-size:10px; color:#666; } .label-size:hover { border:1px solid #6BB5FF; text-decoration: none; -moz-transition: all 0.5s ease-out; -o-transition: all 0.5s ease-out; -webkit-transition: all 0.5s ease-out; -ms-transition: all 0.5s ease-out; transition: all 0.5s ease-out; -moz-transform: rotate(7deg); -o-transform: rotate(7deg); -webkit-transform: rotate(7deg); -ms-transform: rotate(7deg); transform: rotate(7deg); filter: progid:DXImageTransform.Microsoft.Matrix( M11=0.9961946980917455, M12=-0.08715574274765817, M21=0.08715574274765817, M22=0.9961946980917455, sizingMethod='auto expand'); zoom: 1; } .label-size a { text-transform: uppercase; float:left; text-decoration: none; } .label-size a:hover { text-decoration: none;
RSS

Penggunaan Macro Dalam Assembly


Penggunaan Macro Dalam Assembly

Posted by : Deva Dwi Ayu Ningsih

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

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

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 .


begitu cara penggunaan assembly pada macro.
Semoga Bermanfaat.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar

Terima Kasih telah berkunjung :)

Daftar

Deva Dwi Ayu Ningsih. Diberdayakan oleh Blogger.