Gambar di bawah ini menunjukkan main memanggil mysub. Dua argumen yang dilewatkan ke subroutine berada di dalam register $a0 dan $a1.
Di dalam gambar, argumen tersebut diload menggunakan intruksi move dan li, instruksi yang lain juga boleh digunakan.
Konvensi linkage sederhana sangat terbatas untuk beberapa permasalahan. Konvensi linkage yang lebih maju akan di bahas di bab berikutnya.
CALLER melewatkan argumen-argumen ke sebuah subroutine dengan cara menyimpannya ke dalam register. Ini adalah satu-satunya cara bagaimana sebuah data bisa dilewatkan ke dalam subroutine. Subroutine juga mengembalikan nilai dari hasil pekerjaannya dia dalam bentuk register. Ini adalah satu-satunya cara bagaimana sebuah subroutine menimbalbalikkan nilai kepada CALLER. Subroutine tidak boleh menggunakan memory yang dipakai oleh CALLER. dan CALLER juga tidak boleh menggunakan memory yang digunaka oleh subroutine.

Tidak ada komentar:
Posting Komentar