2012-10-24 47 views
5

Tôi gặp sự cố lạ với tệp lắp ráp. Mỗi khi tôi tải tập tin này vào PCSpim, nó cho tôi một lỗi cú pháp trên dòng 23. Tôi đã xem xét một số tài liệu tham khảo và yêu cầu một số bạn cùng lớp giúp đỡ, và dường như không ai hiểu điều gì sai.Lỗi cú pháp trong hội đồng 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

Lỗi cú pháp và dòng nào là dòng 23? – Musa

+0

Dòng 23 là phần đầu của phần văn bản (li $ t4, 3), và nó không chỉ rõ lỗi cú pháp là gì, đó là nguồn gây nhầm lẫn lớn nhất của tôi. –

+0

Chỉ cần làm rõ, Pseudo-ops, Máy trần được bật và I/O được ánh xạ bị tắt. –

Trả lời

1

OK, đã tìm ra, có hai vấn đề trong tình huống này. Đầu tiên, máy Bare nên đã bị vô hiệu hóa, và một vấn đề khác xuất hiện khi tôi sử dụng "b" như một nhãn, bởi vì b cũng được sử dụng như một opcode.

Cảm ơn bạn đã kiểm tra điều này!