Functions are normally called using JAL instructions. Input registers typically are $a0, $a1, $a2, and $a3 and then the stack. Output registers are typically $v0 and $v1.