То, что я пытаюсь сделать, это распечатать строку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