以mips打印字符串的最后一个字符

时间:2016-05-22 14:02:29

标签: assembly mips

我有这个代码应该打印字符串的最后一个字符

.data 

prompt:             .asciiz "Please enter a string :\n"
buffer:         .space 1024


.text
.globl main

main:

print_prompt:   li $v0, 4
                la $a0, prompt
                syscall
                li $v0, 8           #read text from user as text            
                la $a0, buffer
                li $a1, 255
                syscall



 la $t1,buffer 


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

loop1:
sub $t1,$t1,1
lb $a0,($t1)
li $v0,11
syscall 

li $v0,10 
syscall

我正在做beq $ t2,$ 0,loop1检查字符串是否已经结束它应该等于零,还是错了?我尝试将此更改为beq $ t2,'?',例如loop1并输入字符'?'在输入中,它工作正常,它打印在'?'

之前的最后一个字符

0 个答案:

没有答案