Нахождение длины строки в MIPS - PullRequest
0 голосов
/ 24 марта 2019
.data
    message: .asciiz "Hello World"

.text
    main:
        li $t0, 0 # initialize loop-counter
        la $a0, message #load the address of the 1st byte

    loop:
        lb $t1, ($a0) # load the content of the address stored in $a0
        beq $t1, $zero, exit    # branch if equal
                    # exit the program if $t0 == null 

        addi $t0, $t0, 1 # increment the loop counter
        addi $a0, $a0, 1 # go to next byte      

        j loop 

    exit:
        move $a0, $t0 # prepare to print the integer
        li $v0, 1 # integer syscall
        syscall

        li $v0, 10
        syscall 

Видимо, эта программа работает хорошо.

У меня есть два вопроса на этот счет:

  1. Есть ли в этой программе что-то, что я пропускаю или на что мне следует обратить особое внимание?
  2. Что если я использую $v0 вместо $t1? Какая разница?
...