2013-11-02 30 views
2

我想比较字符串的第一个字符与'#'字符。如果这些都是平等的,我想用mips打印“他们是平等的”。要做到这一点,我写了一段代码如下。然而,即使它们是平等的,它也不会给我一个输出。有人帮我吗? 在此先感谢。访问字符串的第一个字符并将其与字符进行比较MIPS

.data 
input:   .space 201 
string2: .asciiz "they're equal.\n" 
finish:   .byte '#' 
.text 
main: 
     la $a0,input 
     li $a1,201   #read 200 char 
     li $v0,8   #read string 
     syscall 

     jal evaluate 

evaluate: 
     lw $t1, 0($a0) 
     lw $t2,finish 
     beq $t1,$t2,testi 

testi: 
     la $a0,string2 
     li $v0,4 
     syscall 

     li $v0, 10 
     syscall 

回答

1

是的,你已经放置了分支,使得下一条指令是相同的,无论分支是否被采用。

考虑更改为这样的事情:

evaluate: 

     lw $t1, 0($a0) 
     lw $t2,finish 
     bne $t1,$t2,testi 

     la $a0,string2 
     li $v0,4 
     syscall 

test1: 
     li $v0, 10 
     syscall 
相关问题