10. Регистер дэх түр зуурын утга
ori $t0,$0,32 # load 32 into a temp register
ori $s0,$0,13 # load 13 into a saved
register
jal subrout # subroutine call (don't worry
about # the details of this, now).
sll $0,$0,0 # delay slot
back: addu $s0,$s0,$t0 # return from
subroutine;
# temp register
$t0 may have changed.
# saved
register $s0 has not changed.
[www.cdeq.mn/hw200]
11. Регистер дэх түр зуурын утга
back дээрх илэрхийлэл нь алдаатай
илэрхийлэл юм. Энэ тохиолдолд түр
зуурын регистр $t0 нь subrout нэртэй
subroutine дуудалтаар өөрчлөгдөж
болзошгүй юм.
[www.cdeq.mn/hw200]
23. Жишээ програм
## liEg.asm
##
.text
.globl main
main: li $t0,43 # first value
li $t1,-96 # second value
li $t7,-16772555 # third value
addu $t0,$t0,$t1 # add the values
addu $t0,$t0,$t7 # leave result in $t0
## end of liEg.asm
[www.cdeq.mn/hw200]