Я только начинаю изучать mips, поэтому я не знаю много об этом, но мы делаем проект в классе, где я должен попросить консоль ввести 2 целых числа в качестве входных данных, а затем добавить их и распечатать результат.Я чувствую, что мой код должен работать, но по какой-то причине, когда я ввожу 2 маленьких числа, это дает мне огромное количество, которое не имеет никакого смысла.Например, я ввожу 1 и 1 как 2 целых числа и получаю 537002100 в качестве ответа.Не уверен почему.Я уверен, что только что сделал какую-то глупую легкую ошибку, но я не могу понять, что это такое.
.data
str: .asciiz "What is the first value?\n"
str2: .asciiz "What is the second value?\n"
#first word
a: .word 0
#second word
b: .word 0
#result
c: .word 0
.text
.globl main
main:
la a0, str # printrString(str)
li v0, 4
syscall
li v0, 5 # a = getInteger()
syscall
sw v0, a
li v0, 11 # ptintChar('\n')
li a0, '\n'
syscall
la a0, str2 # printString(str2)
li v0, 4
syscall
li v0, 5 # b = getInteger()
syscall
sw v0, b
la t0, a
la t1, b
la t2, c
add t2, t0, t1
sw t2, c
lw a0, c
li v0, 1 # c = printInteger(c)
syscall
li v0, 10 # exit() - stops the program
syscall
Когда я ввожу 1 и 1, я должен получить 2, но я получаю 537002100