Tugas Lek Par( Macro dan Pustaka Macro)

Tugas Lek Par( Macro dan Pustaka Macro)



Setelah beberapa kali kocar kacir belum-belum bisa dan error terus, tapi  saya terus  mencoba untuk mengerjakan tugas yang kadang dikatakan sulit yang sering diberikan oleh seorang dosen yang sering disebut-sebut dosen agak mengerikan karena sedikit-sediki tugas tapi itu ternyata ada manfaatnya bagi saya karena saya jadi bisa.Ok kita lansung saja
Gini caranya mas bro buat code makronya yang untuk .asm seperti contoh dibawah ini :
Makro.asm
INCLUDE  makro.MCR ; code untuk memanggil Pustaka macro
.MODEL SMALL
.CODE
ORG 100h
Mulai :  JMP  Proses
         Kal0 DB 13,10,'CONTOH CETAK KALIMAT DENGAN MACRO $'
         Kal1 DB 13,10,'A = $'
         Kal2 DB 13,10,'B = $'
         Kal3 DB 13,10,'A*B = $'
         Kal4 DB 13,10,'A+B = $'
         Kal5 DB 13,10,'A-B = $'
         Kal6 DB 13,10,'A/B = $'
         a Dw 8
         b Dw 2
  Proses:
         Cetak_Kar  'A'      
         Cetak_Klm  Kal0      
         MOV AH,09
         MOV DX,OFFSET Kal1
         int 21h
            Cetak_Angka a
         MOV AH,09
         MOV DX,OFFSET Kal2
         int 21h
            Cetak_Angka b
         MOV AH,09
         MOV DX,OFFSET Kal3
         int 21h
            Perkalian a,b
         MOV AH,09
         MOV DX,OFFSET Kal4
         int 21h
            Penjumlahan a,b
         MOV AH,09
         MOV DX,OFFSET Kal5
         int 21h
            Pengurangan a,b
         MOV AH,09
         MOV DX,OFFSET Kal6
         int 21h      
            Pembagian a,b
         INT   20h
END      Mulai

 Setelah Macronya jadi selanjutnya bikin untuk Pustakanya yang nanti setelah jadi disimpan namamacro.mcr seperti contoh dibawah ini:

 makro.mcr
Cetak_Kar    Macro Kar
            MOV AH,02
            MOV DL,Kar
            INT 21H
            EndM
        
Cetak_Klm  MACRO  Klm      
           LEA    DX,Klm  
           MOV    AH,09
           INT    21h
           ENDM       
Cetak_Angka MACRO Angka
            mov ax,angka
            Tampil
            endm
Perkalian MACRO a,b
            MOV AX,a
            Mul b
            Tampil
            endm       
Penjumlahan MACRO a,b
            MOV AX,a
            ADD AX,b
            Tampil
            endm      
Pengurangan MACRO a,b
            MOV AX,a
            SUB AX,b
            Tampil
            endm
          
Pembagian MACRO a,b
            SUB  DX,DX
            MOV AX,a
            DIV b
            Tampil
            endm         
Tampil Macro
            local looping, cetak
            mov bx,10
            xor cx,cx
            looping:
            xor dx,dx
            div bx ;
            push dx
            inc cx
            cmp ax,0
            jne looping
            cetak:
           pop dx
            add dl,'0'
            mov ah,02h
            int 21h
            loop cetak
            endM
     Setelah selesai membuatnya coba dijalankan maka nanti akan hasinya kira-kira seperti ini kalo yang kamu ketik gak salah: