JWASM Macro.

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Program Bahasa Rakitan Tanpa DEBUG.COM
Pemograman DEBUG.
OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD
ASSEMBLER PERTEMUAN KE-1
Turbo Assembly Operasi Aritmatika.
Pengulangan & include
Teknik Pemrograman Mikrokontroller (Simbol Bhs Asembler) 1.Label Label menunjukkan alamat lokasi memori fisik yg berkaitan dg pernyataan yg diberi label.
Bahasa Assembley & Program COM
POINTER A. PENDAHULUAN Tanpa pointer untuk memindahkan data dari suatu variabel ke register 8 bit, maka variabel tersebut haruslah 8 bit juga yang dapat.
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure, suatu program yang besar dapat disusun secara terstruktur.
Macro. Macro ???? Macro hampir sama dengan procedure, yang dapat membantu anda dalam membuat program yang besar. Dengan Macro anda tidak perlu menggunakan.
Turbo Assembly Stack.
Modular Programming Slamet Kurniawan, S.Kom.
Turbo Assembly Membuat Program .EXE.
Turbo Assembly Mencetak Kalimat.
Turbo Assembly Compare and Jump.
Turbo Assembly Masukan dari Keyboard.
DEBUG.
Teknik Pemrograman Terstruktur 2
Pemrograman Mikroprosesor
Turbo Assembler TASM.
Program Bahasa Rakitan Tanpa DEBUG.COM
Stored Procedure Basis Data Terapan.
Perkembangan Bahasa.
BAB IV Teknik Pemrograman
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar bisa diselesaikan dengan.
Johannes Simatupang, MKom, Cobit5-F NIDN :
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
Operasi Layar.
Pertemuan 1 Dasar Pemrograman Triana Elizabeth S. Kom Dibuat o/ : Renni Angreni, S.Kom.
Pertemuan 1 Mengapa Belajar Bahasa Rakitan ??
Procedure dan Macro.
Program Bahasa Rakitan dengan DEBUG.COM
Pertemuan 5 Struktur program bahasa rakitan
Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar dapat diselesaikan dengan lebih mudah. Proses pencarian.
BAHASA RAKITAN BAGIAN 1.
BAHASA RAKITAN BAGIAN 2.
PRAKTIKUM BAHASA RAKITAN 05
Prosedur dan Makro.
Praktikum 6.
Fungsi dan Prosedur.
Mengaktifkan Microsoft Visual C++ : Klik Start Klik All Program, Microsoft Visual Studio 2008 Klik File, New, Project Klik Visual C++, Win32 Console Application.
MEMBUAT PROGRAM COM.
Pengenalan Assembler.
Konsep Dasar & Filosofi Mikroprosesor (μp) / Mikrokontroler (μk)
Program Bahasa Rakitan dengan DEBUG.COM
BAB IV Teknik Pemrograman
SISTEM PENGOLAHAN DATA KOMPUTER
Pengantar Bahasa Rakitan
Stack dan Procedure.
MODULAR (FUNGSI)
PROCEDURE DAN MACRO Procedure
Mata Kuliah : Bahasa Rakitan
Pengantar Bahasa Rakitan
Pengenalan Assembler.
Instruksi-instruksi pada 8086
OPERASI PADA LAYAR.
MEMBUAT PROGRAM COM.
OPERASI PADA STRING.
SISTEM PENGOLAHAN DATA KOMPUTER
MODULAR (FUNGSI)
BAHASA RAKITAN BAGIAN 1.
Prosedur dan Makro.
Percabangan dalam VB6: GoTo, GoSub, Sub, Function
Pemrograman, Bahasa C dan Jenis Data Utama
PROCEDURE DAN FUNGSI.
Program Bahasa Rakitan Tanpa DEBUG.COM
CHAP 6 SET INSTRUKSI MEMORI
Transcript presentasi:

JWASM 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!

Penulisan Macro

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

Lihat file COM yang dihasilkan dengan DEBUG Cetak_Kar MACRO Kar MOV CX,3 MOV AH,02 MOV DL,Kar Ulang : INT 21h ; Cetak Karakter LOOP Ulang ENDM ; End Macro .MODEL SMALL .CODE ORG 100h Proses: Cetak_Kar 'S' ; Cetak Huruf S INT 20h END Proses Lihat file COM yang dihasilkan dengan DEBUG

MACRO vs PROC 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 dan pencatatan alamat pemanggil pada stack.

Penggunaan Label Pada macro Anda bisa menggunakan label seperti biasa, tetapi perlu diingat, 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” karena dianggap kita menggunakan label yang sama.

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

Cetak_Kar MACRO Kar LOCAL Proses ; Label 'Ulang' jadikan Local MOV CX,3 MOV AH,02 MOV DL,Kar Proses: INT 21h ; Cetak Karakter LOOP Proses ENDM ; End Macro .MODEL SMALL .CODE ORG 100h Cetak_Kar 'P' ; Cetak Huruf P Cetak_Kar 'C' ; Cetak Huruf C INT 20h END Proses Coba non-aktifkan baris LOCAL

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

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

INCLUDE Setelah program diatas anda ketikkan, simpanlah dengan nama 'PUSTAKA.MCR'. Anda bisa menggunakan kumpulan macro pada file pustaka.mcr dengan menambahkan baris: INCLUDE PUSTAKA.MCR

INCLUDE PUSTAKA. MCR ; Gunakan file PUSTAKA. MCR. MODEL SMALL 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