1 / 15

Turbo Assembly

Turbo Assembly. Macro. Macro ????. Macro hampir sama dengan procedure, yang dapat membantu anda dalam membuat program yang besar. Dengan Macro anda tidak perlu menggunakan perintah "CALL" dan anda juga bisa menggunakan parameter dengan mudah. Suatu ciri dari pemrograman bahasa tingkat tinggi!.

tilden
Download Presentation

Turbo Assembly

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Turbo Assembly Macro

  2. Macro ???? • Macro hampir sama dengan procedure, yang dapat membantu anda dalam membuat program yang besar. Dengan Macro anda tidak perlu menggunakan perintah "CALL" dan anda juga bisa menggunakan parameter dengan mudah. Suatu ciri dari pemrograman bahasa tingkat tinggi!

  3. Penulisan Macro

  4. "P1" dan "P2" adalah parameter yang bisa anda gunakan pada macro. Parameter ini berbentuk optional, artinya bisa digunakan ataupun tidak.

  5. Cetak_Kar MACRO Kar • MOV CX,3 • MOV AH,02 • MOV DL,Kar • Ulang : • INT 21h ; Cetak Karakter • LOOP Ulang • ENDM ; End Macro

  6. .MODEL SMALL • .CODE • ORG 100h • Proses: • Cetak_Kar 'S' ; Cetak Huruf S • INT 20h • END Proses

  7. Dari program diatas bisa anda lihat betapa mudahnya untuk menggunakan macro. Pada procedure, setiap kali kita memanggilnya dengan perintah CALL maka program akan melompat pada procedure tersebut, sehingga setiap procedure hanya terdapat satu kali saja pada program. Lain halnya dengan Macro, setiap terjadi pemanggilan terhadap macro atau dapat dikatakan secara kasar, setiap kita memanggil macro dengan menuliskan nama macronya dalam program, maka seluruh isi macro akan dipindahkan pada program yang memanggilnya. Dengan demikian bila pada program anda memanggil suatu macro sebanyak 10 kali maka macro tersebut akan disisipkan 10 kali pada program. Hal inilah yang menyebabkan program yang menggunakan macro ukuran programnya menjadi lebih besar. Tetapi hal ini juga yang menyebabkan program yang menggunakan macro lebih cepat daripada procedure, karena pada procedure komputer harus melakukan lompatan tetapi pada macro tidak perlu.

  8. Pada macro anda bisa menggunakan label seperti biasa. Tetapi anda harus ingat, karena setiap pemanggilan Macro akan menyebabkan seluruh isi macro tersebut disisipkan pada program, maka pada macro yang didalamnya menggunakan label hanya dapat dipanggil sebanyak satu kali. Bila anda menggunakanya lebih dari satu kali maka akan terjadi "**Error** Symbol already defined elsewhere: ULANG" karena dianggap kita menggunakan label yang sama.

  9. Untuk menghindari hal itu, gunakanlah directif LOCAL. Dengan directif LOCAL assembler akan membedakan label tersebut setiap kali terjadi pemanggilan terhadapnya.

  10. Cetak_Kar MACRO Kar • LOCAL Ulang ; Label 'Ulang' jadikan Local • MOV CX,3 • MOV AH,02 • MOV DL,Kar • Ulang: • INT 21h ; Cetak Karakter • LOOP Ulang • ENDM ; End Macro

  11. .MODEL SMALL • .CODE • ORG 100h • Proses: • Cetak_Kar 'P' ; Cetak Huruf P • Cetak_Kar 'C' ; Cetak Huruf C • INT 20h • END Proses

  12. Bila kita sering menggunakan suatu fungsi seperti mencetak kalimat pada setiap program yang kita buat, tentu saja akan sangat membosankan karena setiap kali kita harus membuat fungsi yang sama. Dengan macro anda bisa menghindari hal tersebut dengan membuat suatu pustaka macro. Pustaka tersebut bisa anda simpan dengan suatu nama, misalnya 'pustaka.mcr'. File yang tersimpan adalah dalam bentuk ASCII, tanpa perlu di compile.

  13. Pustaka Macro • ;/========================\; • ; Program : PUSTAKA.MCR ; • ;\========================/; • Cetak_Kar MACRO Kar ; Macro untuk mencetak • MOV AH,02 ; Karakter • MOV DL,Kar • INT 21h • ENDM • Cetak_Klm MACRO Klm ; Macro untuk mencetak • LEA DX,Klm ; kalimat • MOV AH,09 • INT 21h • ENDM

  14. Setelah program diatas anda ketikkan, simpanlah dengan nama 'PUSTAKA.MCR'. Anda bisa menggunakan macro pada file pustaka.mcr dengan hanya manambahkan kata: • INCLUDE PUSTAKA.MCR

  15. INCLUDE PUSTAKA.MCR ; Gunakan file ; PUSTAKA.MCR • .MODEL SMALL • .CODE • ORG 100h • TData : JMP Proses • Kal0 DB 'PENGGUNAAN PUSTAKA MACRO $' • Proses: • Cetak_Klm Kal0 ; Cetak Kalimat Kal0 • Cetak_Kar 'Y' ; Cetak Huruf 'Y‘ • INT 20h • END TData

More Related