Длина строки печати с использованием сборки mips - PullRequest
0 голосов
/ 13 апреля 2019

То, что я пытаюсь сделать, это распечатать строку1, получить ввод от пользователя, а затем распечатать строку2 с длиной строки.Однако после ввода строки программа завершается.Я уверен, что это очевидная ошибка, но я не могу понять, как напечатать string2 с длиной.

.data
string1:    .asciiz "Please input a string:"
string2:    .asciiz "The length of the string is:"
buffer:     .space 400  # reserve 50 bytes (max 50 characters in the string)

.text
.globl main

main:
li  $v0,4   # print string
la  $a0,string1
syscall

li  $v0,8   # read string
la  $a0,buffer
li  $a1,400
syscall

li  $t0,0   # count is 0
j   loop

print:  
li  $v0,4   # print string
la  $a0,string2
syscall

li  $v0,1   # print integer
move    $a0,$t0
syscall

loop:
lb  $t1,0($a0)
beqz    $t1,exit
addi    $a0,$a0,1   
addi    $t0,$t0,1   # +1 to count
j loop

exit:
li  $v0,10
syscall
...