Есть ли другой способ печати массива строк на языке ассемблера MIPS? - PullRequest
0 голосов
/ 14 апреля 2019

Я использую тег #la для печати массива строк, но я получаю это как вывод

Введите имя: Файзи

Введите адрес: Пакистан

Имя: ô Адрес:

Когда я использую тег #lb & #lw для массива строк печати, но я получаю эту ошибку с #lw Исключительная ситуация при 0x00400090: адрес вне диапазона 0x000000f4

с #lb Исключительная ситуация при 0x004000b8: адрес вне диапазона 0x00000012

Мой код указан

.data

.data
array:.space 500
namespace:.space 30
addressspace:.space 50
ename:.asciiz "\nEnter name : "
eadress:.asciiz "\nEnter Adress : "
name:.asciiz "\nName is : "
address:.asciiz "\nAddress is : "

.text

.text
la $t0,0 #index array
li $v0,4
la $a0,ename
syscall
# get name from user & store in array
la $a0,namespace
li $a1,30
li $v0,8
syscall 
sb $a0,array($t0)
addi $t0,$t0,30

li $v0,4
la $a0,eadress
syscall

# get adress from user & store in array
la $a0,addressspace
li $a1,50
li $v0,8
syscall
sb $a0,array($t0)
addi $t0,$t0,50

li $t1,0
#print name
li $v0,4
la $a0,name
syscall

li $v0,4
lb $a0,array($t1)
syscall

addi $t1,$t1,30
#print address
li $v0,4
la $a0,address
syscall

li $v0,4
lb $a0,array($t1)
syscall
addi $t1,$t1,50

li $v0,10
syscall

Я ожидаю, что результат будет

Name is : Faizi
Address : Pakistan
...