Untitled
unknown
plain_text
10 months ago
1.1 kB
3
Indexable
.text
jal zero main
multiply:
lw t0 4 sp # load first parameter (a)
lw t1 0 sp # load second parameter (b)
addi t2 zero 0 # reset result register (result)
schleife:
beq t1 zero return # (if b == 0) goto return;
add t2 t2 t0 # result = result + a;
addi t1 t1 -1 # b--;
jal zero schleife # goto schleife;
return:
addi sp sp -4 #
sw t2 0 sp # Push result to stack
jalr zero ra 0 # Return to caller
factorial:
lw t0 0 sp
bne t0 x0 fall2
fall1:
addi sp sp -4
addi t1 x0 1
sw t1 0 sp
jalr zero ra 0
fall2:
addi sp sp -8
sw ra 4 sp
addi t1 t0 -1
sw t1 0 sp
jal ra factorial
lw t1 0 sp
addi sp sp 8
lw t0 4 sp
addi sp sp -8
sw t0 4 sp
sw t1 0 sp
jal ra multiply
lw t0 0 sp
addi sp sp 12
lw ra 0 sp
sw t0 0 sp
jalr zero ra 0
main:
addi t0 zero 6
addi sp sp -4
sw t0 0 sp
jal ra factorial
lw t0 0 sp
addi sp sp 4Editor is loading...
Leave a Comment