【发布时间】:2019-06-13 16:31:42
【问题描述】:
我正在 MIPS 中完成一项任务。我想打印不带小数点的存储字符串,即 11011 的输出应该是 110.11 。
我认为我的代码正在做它应该做的事情,但它没有显示任何输出。我调试了它,结果发现 addi 语句只是不断删除字符串的第一个元素,所以最后什么都没有了。
.data
string: .asciiz "110.11"
.text
.globl main
.ent main
main:
la $t1,string
li $t5,46 #ascii code of .=46
LOOP:
lb $t0,($t1)
beq $t0,$t5,SKIP #skip point if found
beq $t0, $zero, exit
sb $t0,($t1)
addi $t1, $t1, 1 #i++
j LOOP
SKIP:
addi $t1, $t1, 1
j LOOP
exit:
li $v0,4
move $a0,$t1
syscall
li $v0,10
syscall
jr $ra
.end main
有没有办法在不删除其元素并将修改后的字符串作为输出的情况下在字符串中前进?任何帮助将不胜感激谢谢!
【问题讨论】: