我想将字符串的第一个字符与'#'char进行比较。如果它们相等,我想用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
答案 0 :(得分: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