此MIPS循环和分支语句是否存在问题?

时间:2019-02-24 20:12:42

标签: assembly mips

试图在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

0 个答案:

没有答案