1 / 13

Prosedur dan Makro

Prosedur dan Makro. Prosedur. Bentuk pemrograman terstruktur Ada dalam berbagai bahasa pemrograman Keyword : PROC, NEAR, FAR, RET, ENDP Fungsi : menyederhanakan pelaksanaan proses yang berulang-ulang sehingga mengefisienkan space program yang tersedia, dan memudahkan pelacakan kesalahan.

anise
Download Presentation

Prosedur dan Makro

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. Prosedur dan Makro

  2. Prosedur • Bentuk pemrograman terstruktur • Ada dalam berbagai bahasa pemrograman • Keyword : PROC, NEAR, FAR, RET, ENDP • Fungsi : menyederhanakan pelaksanaan proses yang berulang-ulang sehingga mengefisienkan space program yang tersedia, dan memudahkan pelacakan kesalahan

  3. Prosedur • Bentuk : NamaP PROC NEAR/FAR isi prosedur RET NamaP ENDP • NamaP : nama prosedur, sebaiknya mencerminkan apa yang dilakukan oleh prosedur tersebut • PROC : keyword yang menyatakan sebuah prosedur • NEAR / FAR : scope pemanggilan prosedur • RET : prosedur harus kembali ke program utama • ENDP : akhir deklarasi pembuatan prosedur • Prosedur dalam bahasa mesin tidak dapat memakai paramater secara langsung, harus menggunakan register ataupun stack

  4. NEAR / FAR ? • NEAR : • Prosedur hanya dapat dipanggil dalam satu segmen saja • Pada saat RET, register IP akan di-POP sebagai alamat loncatan kembali ke program pemanggil • Untuk program COM maupun EXE • FEAR : • Prosedur dapat dipanggil dalam satu segmen maupun dalam segmen yang berbeda • Pada saat RET, register IP+CS akan di-POP sebagai alamat loncatan kembali ke program pemanggil • Untuk program EXE

  5. Pemanggilan Prosedur • Menggunakan CALL • Sintak : • CALL NamaP • Mengambil IP jika NEAR atau IP+CS jika FAR

  6. Prosedur dan Stack • Prosedur mengubah isi register • Isi register harus diamankan sebelum dan sesudah pemanggilan prosedur • Menjaga konsistensi status terakhir register pada program pemanggil • Menggunakan PUSH dan POP

  7. Macro • Bentuk lain pemrograman terstrukstur untuk bahasa mesin • Dapat memakai parameter • Pemanggilan tidak memerlukan CALL • Template program • Lebih mudah dibuat daripada prosedur • Keyword : MACRO, ENDM

  8. Macro • Bentuk : NamaM MACRO P1, P2, P3, … isi macro ENDM • NamaM : Nama macro • MACRO : penanda awal macro • P1, P2, P3 : parameter macro (opsional) • ENDM : penanda akhir macro

  9. Proses Eksekusi Macro • Macro dipanggil dengan menuliskan nama macro dan parameter yang diperlukan • Program mengkopi isi macro ke baris program utama, dan mengkompile-nya • Pemanggilan macro banyak => space program terpakai semakin besar • Macro tidak melakukan lompatan => lebih cepat daripada prosedur

  10. Label pada Macro • Label menunjukkan tempat loncatan • Label dalam program mesin tidak boleh sama(dalam satu program hanya boleh ada 1 label) => Error : symbol already used elsewhere • LOCAL : • Membuat sebuah label akan dibedakan jika terjadi pelabelan yang sama • Sintak : LOCAL NamaLabel

  11. Pustaka Macro • Menyederhanakan penulisan macro agar tidak berulang-ulang • Bentuk berupa file ASCII(editable) • Penyertaan ke program utama menggunakan sintak : • INCLUDE NamaFilePustakaMacro • Contoh : • INCLUDE macku.mcr • File pustaka macro harus satu folder dengan program utama

  12. Prosedur atau Macro

  13. Prosedur atau Macro • Macro : • Fungsi jarang dipergunakan dalam program • Fungsi kecil/tidak terlalu kompleks • Prosedur : • Fungsi sering dipergunakan dalam program • Fungsi besar/kompleks

More Related