2013-11-02 79 views
1

我是新來的MIPS彙編查找字符字符串,我試圖做一個程序,發現剛剛"?"如何在MIPS彙編

之前的字符然而,例如當我輸入的輸入像" abc?",輸出是"c?"。我找不到我的錯誤。

代碼是在這裏:

.data 

buffer: .space 1024 
.text 
.globl main 

main: 

la $a0,buffer 
li $v0,8 
syscall 


la $t1,buffer 


loop: 
lb $t2,($t1) 
beq $t2,'?',loop1 
add $t1,$t1,1 
j loop 

loop1: 
sub $t1,$t1,1 
move $a0,$t1 
li $v0,4 
syscall 

li $v0,10 
syscall 
+0

這就是你除了「C」輸出問號的問題? –

回答

2

您正在使用的系統調用print_string,這不會停止,直到它找到一個NUL終止。

如果您只想打印單個字符,則最好使用print_character系統調用(11);即更換

move $a0,$t1 
li $v0,4 

lb $a0,($t1) 
li $v0,11