2012-10-24 59 views
5

我在裝配文件中遇到了一個奇怪的問題。每次我把這個文件加載到PCSpim中時,它會在第23行給我一個語法錯誤。我查看了幾個參考文獻,並要求幾個同學幫忙,沒有人似乎明白了什麼是錯誤的。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

什麼是語法錯誤,哪一行是第23行? – Musa

+0

第23行是文本部分(li $ t4,3)的開頭部分,它沒有指定語法錯誤,這是我最大的困惑。 –

+0

只是爲了澄清,僞操作,裸機啓用和映射I/O被禁用。 –

回答

1

好的,算出來了,在這種情況下有兩個問題。首先,裸機應該已被禁用,並且當我使用「b」作爲標籤時出現另一個問題,因爲b也用作操作碼。

感謝您檢查了這一點!