Pembuatan Prosedur Dalam Bahasa Assembly


Dalam rangka tugas Pak-WW saya ingin membantu kalian semua, tapi maaf agag telat….
Mari kita mulai,
Menurut Buku yang saia temukan, 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

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; Program : contohProc.asm ;
; Fungsi : Mencetak kar dgn ;
; Procedure ;
;=================================Tenno===;

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

Sekian dan Terimakasih, semoga dapat membantu