Я получаю ошибки при запуске моей программы.Вот ошибки, которые я получаю.
Я получаю сообщение об ошибке исключения.Ошибка «Неверный адрес в считывании данных / стека»
Ошибка: «Инструкция ссылается на неопределенный символ»
В консоли указано «Строка, подлежащая обращению:
COSC 300 Exception 7 [неверный адрес данных] произошел и игнорируется
Программа
.data
str: .asciiz "String to be reversed : \n"
msg: .asciiz "COSC 300"
ans: .asciiz "The string reversed is : "
.text
.globl main
main:
la $a0, str #print string
li $v0, 4
syscall
la $a0, msg #print string
li $v0, 4
syscall
la $t0, msg #load a string to be reversed
loop:
lb $t0, 0 ($t0) #load char from msg
beqz $t0, stringEnd # if null end loop
addi $sp, $sp -1 # reduce stack pointer
sb $t0, 0 ($sp) # store t0 into stack
addi $t1, $t1, 1 # gets next char
j loop
stringEnd:
la $t1, msg1
storeLoop:
lb $t0, 0($t0)
beqz $t0, end
lb $t4, 0($sp)
sb $t4, 0 ($t0)
addi $t1, $t1, 1
addi $sp, $sp, 1
j storeLoop
end:
la $a0, ans
li $v0, 4
syscall
move $a0, $t4
li $v0, 4
syscall
li $v0, 10
syscall