2012-10-24 24 views
5

Mam dziwny problem z plikiem zespołu. Za każdym razem, gdy ładuję ten plik do PCSpim, daje mi to błąd składniowy na linii 23. Przejrzałem kilka odniesień i poprosiłem kilku kolegów z klasy o pomoc i nikt nie wydaje się rozumieć, co jest nie tak.Błąd składni w zespole MIPS

.globl main 

.data 
test1:  .word 92 
test2:  .word 81 
finalExam: .word 90 
a:   .ascii "Enter value A:\n" 
b:   .ascii "Enter value B:\n" 
grade:  .word 0 
result: .word 0 
#More data... 

.text 
#Program calculates a final grade based off of two midterms and a final. Midterms are 
#weighted 30% and the final is weighted 40%. Grade is out of 1000. 
final: 
li $t4, 3 #PCSpim complains here. 
li $t5, 4 
la $t0, test1 
lw $t1, ($t0) 
mult $t1, $t4 
mflo $t1 
la $t0, test2 
lw $t2, ($t0) 
mult $t2, $t4 
mflo $t2 
la $t0, finalExam 
lw $t3, ($t0) 
mult $t3, $t5 
mflo $t3 
add $t4, $t1, $t2 
add $t4, $t4, $t3 
la $t0, grade 
sw $t4, ($t0) 
#Print result to console 
li $v0, 1 
move $a0, $t4 
syscall 
jr $ra 

#Program continues... 
+0

Jaki jest błąd składni i która linia to linia 23? – Musa

+0

Linia 23 jest początkiem sekcji tekstowej (li $ t4, 3) i nie określa błędu składni, co jest największym źródłem mojego zamieszania. –

+0

Aby wyjaśnić, Pseudo-ops, Bare Machine są włączone, a mapowane I/O jest wyłączone. –

Odpowiedz

1

Dobra, wymyśliłem, w tej sytuacji wystąpiły dwa problemy. Po pierwsze, Bare Machine powinien był zostać wyłączony i pojawił się inny problem, gdy użyłem "b" jako etykiety, ponieważ b jest również używany jako kod operacyjny.

Dzięki za sprawdzenie tego!