Warum ist QtSPIM sagen mir, "Label definiert ist, zum zweiten mal"?

Ich bin die neue zu lernen MIPS-Assembler-code, und wir bekamen unsere erste Codierung Zuordnung. Ich erhalte eine Fehlermeldung, wenn ich aus meinem Programm (was ist eigentlich ein tester für eine andere Funktion, die wir schreiben müssen) sagen,

"spim: (parser) Label definiert ist, zum zweiten mal in Zeile 13 der Datei /home/jlr247/215_A2_work/jlr247-a2-A. s
main:
^"

Den code, den ich habe ist:

.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:

Irgendwelche Ideen? Ich bin sicher, es ist etwas grundlegendes und offensichtlich, dass ich nur noch nicht geschafft zu lernen, noch nicht. Danke!

  • Meine spim hat kein problem mit ihm. Ich kann nur vermuten, dass Sie nicht mit diesem code selbst, und egal welches system Sie verwenden, um so zu tun, hat bereits das entsprechende label (FILL_LOOP ?) definiert. Versuchen Sie, benennen Sie Ihr label.
  • Danke, ich werde versuchen, dass! Bei mir läuft es auf meinem eigenen Computer, aber wie ich schon sagte, ich bin wirklich ein greenhorn hier.
  • Wenn Sie diese selbst, und das ist dein code, dann sollte es funktionieren (außer der Tatsache, dass es hat keine Endung). Auch die Linie 13? Nach meiner Zählung, das ist eine leere Zeile.
  • Zeile 13 ist die Zeile, die sagt "main" (ich Schnitt mit meinem Namen und Klasse info oben).
  • Bis ich dies sah, dachte ich, ich hatte in einer kafkaesken Welt.
InformationsquelleAutor MathFlakes | 2015-07-13
Schreibe einen Kommentar