Program Bagian Sub Routine Proses Pemanggilan Sebuah Program Bagian

160

8. OPERASI SUB ROUTINE

Sub routin atau sering disebut sebagai program bagian merupakan program kecil yang dibuat untuk pemakaian yang berulang-ulang, artinya setiap kali ada proses yang sama selalu memanggil program ini. Fungsi sub routine dalam suatu program memiliki arti yang sangat penting untuk mengurangi sejumlah pemakaian memori, sedangkan perilaku yang harus diberikan untuk memanfaatkan program bagian meliputi:  Proses pemanggilan sebuah program bagian  Penyimpan alamat loncat balik pada stack pointer  Perintah pemanggilan program bagian  Perintah loncat balik dari program bagian  Pemberian parameter pada program bagian

a. Program Bagian Sub Routine

Dalam program yang mempergunakan sebuah kelompok program yang sering dipakai, maka kelompok program ini dapat ditulis sekali saja, dan dapat dipanggil dimana saja dalam program utama bila kelompok program ini diinginkan. Kelompok program ini disebut Program Bagian atau Sub Routine Pemanggilan program bagian dengan mempergunakan perintah CALL . . . . atau RST Restart , selalu menyimpan alamat perintah berikutnya pada Stack, alamat yang disimpan ini menjadi tujuan saat kembali setelah pelaksanaan program bagian. Perintah terakhir sebuah program bagian adalah selalu sebuah perintah returnkembali RET , yang fungsinya mengisi penghitung program program counter PC , dengan alamat tujuan kembali yang disimpan di stack. Sehingga pelaksanaan perintah berikutnya pada program utama setelah kembali dari program bagian adalah perintah yang alamatnya tersimpan pada .Stack 161

b. Proses Pemanggilan Sebuah Program Bagian

Pada setiap pemanggilan program bagian dengan CALL, pertama-tama. menyimpan alamat tujuan lompat pada Stack. Kemudian terjadi sebuah lompatan untuk menjalankan perintah pada alamat pertama dari program bagian PC = Alamat awal program bagian . Masing - masing perintah pada program bagian dijalankan secara berurutan. Perintah RET menggunakan alamat loncat balik dalam Stack, sebagai alamat tujuan loncat balik ke program utama. PC = alamat loncat balik . CPU akan melanjutkan pelaksanaan perintah berikutnya pada program utama mulai dari alamat loncat balik ini. Urutan program bagian adalah bebas dan juga harus tidak saling mengikat dengan program bagian yang lain. Perintah awal dari program bagian tidak ditentukan secara khusus, hanya perintah akhir dari program bagian harus selalu perintah RETURN RET . 162 Peletakan program didalam penyimpan program dan data memori lebih banyak seperti pada gambar berikut ini : Program Utama HALT Program Bagian 1 RET Program Bagian RET Data yang tidak berubah Konstanta Data yang dapat berubah Variabel Daerah Stack

c. Penyimpan Alamat Loncat Balik pada STACK