Files
AssemblyHomework/1/homework/exp1/exp1_2.asm
2024-05-03 23:57:11 +08:00

29 lines
997 B
NASM

.data
.text
li $v0, 5 # read in i
syscall
move $s1, $v0 # use s1 to store i
li $v0, 5 # read in j
syscall
move $s2, $v0 # use s2 to store j
sub $s1, $zero, $s1 # i = -i
bgez $s2, no_neg_j # if >= 0, then no neg
sub $s2, $zero, $s2 # j = -j
no_neg_j:
move $s0, $zero # use s0 as temp, temp = 0
count_up_j:
bge $s0, $s2, done_count_up # if temp >= j, stop iteration
addi $s1, $s1, 1 # i = i + 1
addi $s0, $s0, 1 # ++temp
j count_up_j
done_count_up:
move $a0, $s1
li $v0, 1
syscall
move $v0, $s1 # set return value