Files
AssemblyHomework/1/example/example_3.asm
2024-05-02 21:49:44 +08:00

36 lines
1.3 KiB
NASM

.text
main:
li $v0 5 #5
syscall #ִ
move $a0 $v0 #
li $v0 5 #5
syscall #ִ
move $a1 $v0 #
jal product #product
move $a0 $v0 #$a0
li $v0 1 #1
syscall #ִ
li $v0 17 #17exit
syscall #ִ
product:
move $t0 $a0 #t0作为累加值
move $t1 $a1 #t1作为计数器
move $t2 $zero#结果清零
addi $sp $sp -16 #
sw $t0 12($sp) #t0
sw $t1 8($sp) #t1
sw $t2 4($sp) #t2
sw $ra 0($sp) #
loop: add $t2 $t2 $t0 #t0
sw $t2 4($sp) #t2
addi $t1 $t1 -1 #
sw $t1 8($sp) #t2
bnez $t1 loop #0
move $v0 $t2 #
lw $ra 0($sp) #
jr $ra #