Почему QtSPIM говорит мне: "Метка определена во второй раз"?
Я новичок в изучении кода сборки MIPS, и мы получили наше первое задание по программированию. Я получаю сообщение об ошибке при запуске моей программы (которая должна быть тестером для другой функции, которую мы должны написать), говоря:
msgstr "spim: (синтаксический анализатор) метка определяется во второй раз в строке 13 файла /home/jlr247/215_A2_work/jlr247-a2-As main: ^"
Код у меня есть:
.data
.align 4
_arrA: .space 400
_arrB: .space 400
.text
main:
la $t0, _arrA #load base address of array A
la $t1, _arrB #load base address of array B
addi $t2, $zero, 0 #$t2 = i = 0
FILL_LOOP: #initializes all A[] values to 5, all B[] values to 10
slti $t3, $t2, 100 #check i<100
beq $t3, $zero, LOOP_DONE #end loop when i=100
sll $t3, $t3, 2 #multiply shift by 4
add $t4, $t3, $t0 #$t4 = address of A[i]
add $t5, $t3, $t1 #$t5 = address of B[i]
addi $t6, $zero, 5
sw $t6, 0($t4) #A[i] = 5
addi $t6, $zero, 10
sw $t6, 0($t5) #B[i] = 10
j FILL_LOOP
LOOP_DONE:
li $v0, 1 #get ready to print test values for A[0], A[396]
lw $a1, 0($t1)
lw $a2, 396($t1)
syscall #should print 55
li $v0, 1 #get ready to print test values for B[0], B[396]
lw $a1, 0($t2)
lw $a2, 396($t2)
syscall #should print 1010
EXIT:
Есть идеи? Я уверен, что это что-то простое и очевидное, чему я еще не научился. Спасибо!
1 ответ
msgstr "spim: (синтаксический анализатор) метка определяется во второй раз в строке 13 файла /home/jlr247/215_A2_work/jlr247-a2-As main: ^"
Это может произойти, если вы дважды используете команду "Загрузить файл" без повторной инициализации симулятора.
Чтобы избежать этого, используйте "Simulator" -> "Reinitialize Simulator", затем "File" -> "Load File" или "File" -> "Reinitialize and Load File".