2

文字列の最初の文字を「#」文字と比較したい。これらが等しい場合、「それらは等しい」をミップスで出力したいと思います。これを行うために、私は以下のようなコードを書きました.ただし、それらが等しい場合でも出力は得られません. 私を助けてくれる人はいますか?前もって感謝します。

.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
4

1 に答える 1

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
于 2013-11-03T19:48:37.653 に答える