MIPS不识别ascii符号。

时间:2016-11-16 11:26:34

标签: ascii mips

我试图从用户那里得到一个输入并将其与(+, - ,*,/,=)进行比较,然后进行相应的算术运算。但是Mips无法弄清楚每个符号。它永远继续循环。我给出了一部分代码......任何想法有什么问题? (寄存器都是正确的)

.data
op1: .asciiz "+" 
op2: .asciiz "-"
op3: .asciiz "*"
op4: .asciiz "/"
op5: .asciiz "%"
op6: .asciiz "="

.text

loop2 :

li $v0, 4          
la $a0, operator              #Εμφάνισε μήνυμα "Τελεστής:"
syscall 


addi $v0, $zero, 5            #Διάβασε τον τελεστή
syscall


move $s2 , $v0                #Βάλε τον τελεστή στον καταχωρητή $s2


#---------------------------------


sw $t1 ,op1                   #Αν ο τελεστής είναι '+'
beq  $s2, $t1, ADDITION


ADDITION:

li $v0, 4                     #Εμφάνισε μήνυμα "Αριθμός:"
la $a0, number               
syscall            


addi $v0, $zero, 5            #Διάβασε τον αριθμό
syscall

move $s3 , $v0                #βάλε τον αριθμό στον καταχωρητή $s3 

add $s4 , $s1 , $s3           # Πράξη πρόσθεσης των αριθμών.Το αποτέλεσμα αποθηκεύεται στον $s4

j loop2                       #Εφόσον δεν ήταν "=" ο τελεστής, ζήτα τον επόμενο τελεστή

0 个答案:

没有答案