Есть ли проблема с этим циклом MIPS и оператором ветвления? - PullRequest
0 голосов
/ 24 февраля 2019

Попытка написать цикл в MIPS, который содержит оператор ветвления.Однако я никогда не делал этого вместе, и мне трудно отлаживать это.Я знаю, что ветвление правильное, но что-то не так с циклом?

changeCase:
    loop:
        #counter
        beq $t7, 10, endloop #if $t7 = 10 then end
        lbu $t1, 0($a0)
        #beqz $t1, exit
        #if less than 91, add 32
        #if greater than 97, sub 32
        slti $t0, $t1, 91
        beq $t0, 0, else
        addi $a1, $t1, 32
        add $t6, $t7, 1 #add 1 to counter t7
        move $t6, $t7
        j endif
    else:
        subi  $a1, $t1, 32
        add $t6, $t7, 1 #add 1 to counter t7
        move $t6, $t7
        j loop
    endif:
        j loop
    #exit:
        #jr $ra
    endloop:
        jr $ra
...