2013-11-02 2 views
1

내가 MIPS 어셈블리에 새로 온 사람에 문자열에서 문자를 찾는 방법, 내가 " abc?"처럼 입력을 입력 예를 들어, 그러나 단지 "?"MIPS 어셈블리

전에 문자를 발견하는 프로그램을 만들려고 해요, 출력은 "c?"입니다. 나는 내 실수를 못 찾는다.

코드는 여기에 있습니다 : 당신은 그것이 NUL 종료를 찾을 때까지 멈추지 않을 것이다는 print_string 콜을 사용하고

.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

move $a0,$t1 li $v0,4 

를 대체 할 수 있습니까? –

답변

2

.

한 문자 만 인쇄하려면 print_character syscall (11)을 사용하는 것이 좋습니다. 당신이 'C'에 추가하여 물음표를 출력하고있는 문제 즉

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