You are on page 1of 5

PROCEDURE DAN MACRO

PROCEDURE Definisi Procedure Procedure adalah kumpulan instruksi yang mana kita dapat mengarahkan aliran program kita, dan ketika eksekusi instruksi selesai maka diberikan kembali ke baris berikutnya untuk memproses dari kode yang meminta procedure. Procedure membantu kita untuk menciptakan program yang mudah dibaca dan untuk dimodifikasi. Pada saat menerapkan suatu procedure alamat dari instruksi berikutnya dari program ini disimpan pada stack sehingga setelah aliran program yang dikirim dan procedure ini selesai, seseorang dapat kembali ke baris berikutnya dari program asli. Syntax Procedure Ada dua jenis procedure yaitu, intrasegments yang ditemukan pada segmen yang instruksinya sama dan antar-segmen yang dapat disimpan pada segmen memori yang berbeda. Ketika procedure antar segmen yang digunakan, nilai IP disimpan pada stack dan ketika segmen antar digunakan nilai CS: IP disimpan. Bagian yang membuat procedure adalah: Deklarasi procedure Kode dari procedure Kembali direktif Terminasi procedure untuk membuat prosedur bisa digunakan bentuk seperti : NamaP PROC NEAR/FAR ++ | Program | ++ RET NamaP ENDP NamaP merupakan nama dari prosedur yang kita definisikan sendiri.

Dibelakang PROC anda harus memilih bentuk dari prosedur tersebut yaitu NEAR atau FAR. Bentuk NEAR digunakan jika procedure tersebut nantinya dipanggil oleh program yang letaknya masih satu segmen dari prosedure tersebut. pada program COM hanya terdiri dari satu segmen, sehingga dipakai bentuk NEAR. Sedangkan bentuk FAR bila procedure dapat dipanggil dari segmen lain. bentuk ini biasanya digunakan dalam program EXE. Perintah RET (return) digunakan untuk mengembalikan kontrol program pada si pemanggil procedure. Pada bentuk NEAR perintah RET ini akan memPOP atau mengambil register IP dari stack sebagai alamat loncatan menuju program pemanggil procedure. Alamat kembali untuk procedure disimpan pada stack pada saat procedure tersebut dipanggil dengan perintah CALL, dengan syntax : CALL NamaP Perintah CALL ini akan menyimpan register IP saja bila procedure yang dipanggil berbentuk NEAR. Contoh Program yang menggunakan Procedure Sebagai contoh dari pemakaian procedure, berikut ini program yang mencetak karakter dengan procedure ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ; Mencetak kar dgn Procedure; ;========================================; .MODEL SMALL .CODE ORG 100h Proses : CALL Cetak ;panggil Cetak INT 20h Cetak PROC NEAR MOV AH,02h MOV DL,S INT 21h ;Cetak karakter RET Cetak ENDP END Proses Bila program dijalankan, maka pada layar akan ditampilkan huruf S.

Pada procedure tidak diperkenankan untuk menggunakan paramenter lain seperti di bahasa pemograman lainnya, dalam bahasa assembly untuk menggunakan paramenter tambahan biasanya digunakan MACRO, prinsipnya sama seperti prosedur hanya dapat ditambahkan prameter2 lain.

MACRO
Definisi Macro Macro adalah instruksi berulang dalam program yang dikodifikasi hanya sekali dan dapat digunakan sebanyak yang diperlukan. Perbedaan utama antara macro dan procedure adalah bahwa dalam macro berlalunya parameter adalah mungkin dan dalam procedure tidak, ini ini hanya berlaku untuk TASM (ada bahasa pemrograman lain yang mengizinkannya). Pada saat macro dijalankan setiap parameter diganti dengan nama atau nilai yang ditentukan pada saat panggilan. Kita bisa katakan bahwa procedure merupakan perpanjangan dari program yang ditentukan, sedangkan macro adalah modul dengan fungsi tertentu yang dapat digunakan oleh berbeda program. Perbedaan lain antara macro dan procedure adalah cara untuk memanggil masingmasing, untuk memanggil procedure penggunaan direktif diperlukan, di sisi lain panggilan macro dilakukan seolah-olah itu instruksi assembler. Syntax Macro Bagian-bagian yang membuat Macro adalah: Deklarasi macro Kode macro Terminasi direktif macro Deklarasi Macro dilakukan dengan cara berikut: NameMacro MACRO [paramater1, parameter2 ...] Meskipun kita memiliki fungsi parameter tetapi tetap memungkinkan untuk membuat macro yang tidak membutuhkannya. Direktif atas terminasi macro adalah: ENDM untuk membuat prosedur bisa digunakan bentuk seperti :

--------------------------------------------------------------NamaM MACRO [P1,P2,,] +------------+ | Program | +------------+ ENDM ---------------------------------------------------------------

Contoh macro, untuk menempatkan kursor pada posisi yang ditentukan di layar adalah: Posisi MACRO Row, Column PUSH AX PUSH BX PUSH DX MOV AH, 02H MOV DH, Row MOV DL, Column MOV BH, 0 INT 10H POP DX POP BX POP AX ENDM Untuk menggunakan macro hanya perlu menyebutnya dengan namanya, seolah-olah itu instruksi assembler lainnya, karena arahan tidak lagi diperlukan seperti dalam hal procedure. Contoh: Posisi 8, 6

Macro Libraries

Salah satu fasilitas bahwa penggunaan macro menawarkan adalah penciptaan libraries, yang merupakan grup dari macro yang dapat dimasukkan dalam program dari file yang berbeda. Penciptaan Untuk libraries ini macro sangat ini sederhana, kita hanya harus instruksi menulis Include file dengan semua macro yang akan diperlukan dan simpan sebagai file teks. memanggil hanya perlu menggunakan NameOfTheFile, pada bagian dari program di mana biasanya menulis macro, ini adalah, pada awal program sebelum deklarasi dari model memori. File macro disimpan dengan nama MACROS.TXT, yang disertakan instruksi untuk digunakan dengan cara berikut: ; Awal program Include MACROS.TXT . MODEL SMALL . DATA ; Data disini . KODE Awal: ; Kode program tersebut dimasukkan di sini . STACK ; Tumpukan didefinisikan Akhir awal ; Program berakhir

You might also like