Laman

Kamis, 11 April 2013

Instruksi jump tidak berguna untuk Pemanggilan Subroutine

Masalah diilustrasikan di bawah. Main routine ditulis untuk memanggil subroutine sub di beberapa lokasi kode. Tapi karena sub selalu mengembalikan kontrol ke lokasi yang sama, sehingga pengaturan seperti ini tidak berhasil.

Di halaman sebelumnya, sebelum konsepnya benar-benar dipahami. Dukungan hardware untuk subroutine telah hilang. Berbagai trik jelek telah digunakan untuk mengimplementasikan konsep.

Yang diperlukan adalah mengirim return address ke subroutine saat subroutine tersebut dipanggil. Jadi saat subroutine dipanggil maka dia akan mengembalikan kontrol ke return address.

Tentu saja mengembalikan kontrol ke return address artinya subroutine akan meload PC dengan return address.

Quest 3: (Pertanyaan hardware disain) Bagaimana seharusnya return address dimasukkan ke dalam subroutine? dengan cara meletakkannya di memory di suatu tempat? atau Diletakkan ke dalam register yang berfungsi untuk tujuan ini?
Jawab: diletakkan ke dalam register

Tidak ada komentar:

Posting Komentar