Я новичок в MIPS и все еще скребу некоторые основные команды, в настоящее время я столкнулся с очень странной ситуацией, когда у меня есть 2 идентичных кода, но один выполняется, а другой нет.
Это код, которыйвыдает исключение при работе в строке sw $v0, input
:
.data
Text_output1: .asciiz "Input number 1: "
input: .word
.text
main:
li $v0, 4
la $a0, Text_output1
syscall
li $v0, 5
syscall
sw $v0, input
li $v0, 1
lw $a0, input
add $a0, $a0, 1
syscall
Это нормальное функционирование:
# Program: Hello, World!
.data
# data declaration section; specifies values to be stored
# in memory and labels whereby the values are accessed
Greeting: .asciiz "\nghfhgfhgf\n"
Text_output1: .asciiz "Number 1 : "
input: .word
.text # Start of code section
main: # Execution begins at label "main"
li $v0, 4 #in ra number 1 :
la $a0, Text_output1
syscall
li $v0, 5
syscall
sw $v0, input
li $v0, 1
lw $a0, input
add $a0, $a0, 1
syscall
Я не вижу никакой разницы между двумя или есть что-то, что яНе знаете об этом языке?
Кстати, я использую MARS 4.5 с JDK 13. Большое спасибо.