# write("enter an int:")
li $v0,4 # print string service
la $a0,prompt1 # address of prompt
syscall
# read( a )
li $v0,5 # read integer service
syscall # $v0 gets the integer
sw $v0,0($fp) # save in variable a
Kode selanjutnya mengerjakan b = fact(a). Hal ini dikerjakan dengan cara mengikuti protokol pemanggilan subroutine, dan menyimpan nilai hasil ke dalam b.
# subroutine call: b = fact( a )
# 1. No T registers to push
lw $a0,0($fp) # 2. Put argument into $a0
jal fact # 3. Jump and link to subroutine
# return from subroutine
# 1. No T registers to restore
sw $v0,4($fp) # b = fact( a )
Tidak ada komentar:
Posting Komentar