No. Sometimes a global symbol is used to label data that several modules may refer to.
fact()
The argument in
$a0
is saved in register
$s1
because later on
$a0
may be altered.
(Since this subroutine uses
$s1
the contents of
$s1
is saved on the stack in the prolog).
The if
statement checks if the argument
(in $a0
) is 1 or less.
If so, it loads register
$v0
with the value to return to the caller, one.
Otherwise, the other branch is taken
and the recursive call is performed.
Fill in the blank.