所以问题是,我有一条消息,我从输入中得到,然后我希望它搜索元音,当它找到它时,它应该添加下一个辅音。例如:Bruno - Bruvnop;香蕉 - Babnabnab; a - ab; e - ef;我 - ij; o - op;你 - v。 但是当我这样做的时候,之后删除了char,因为我用辅音保存它,所以我尝试保存char,然后写入它之后打印但是它不起作用。你能帮帮我吗?
.text
.globl main
main:
# display prompt
li $v0, 4
la $a0, prompt
syscall
# accept input string
li $v0, 8
la $a0, str
li $a1, 82
syscall
li $t1, 0 # initiate index
li $t3, 0 # vowel count
poploop:
lb $t0 str($t1)
# check if vowel
li $t2, 'a' # a
beq $t0, $t2, TESTEa
JA:
li $t2, 'e' # e
beq $t0, $t2, TESTEe
JE:
li $t2, 'i' # i
beq $t0, $t2, TESTEi
JI:
li $t2, 'o' # o
beq $t0, $t2, TESTEo
JO:
li $t2, 'u' # u
beq $t0, $t2, TESTEu
JU:
# if not a vowel, store it at current index in string less vowel count
sb $t0, str($t1)
j next
nop
TESTEa: # if vowel, inc count
(...)
TESTEe:
(...)
TESTEi:
(...)
TESTEo:
(...)
TESTEu: #They do all the same basically
sb $t2, str($t1)
addi $t1, $t1, 1
lb $t2 str($t1)
move $t2, $a1
li $t0, 'v'
sb $t0, str($t1)
addi $t1, $t1, 1
sb $t2, str($t1)
j JU
next:
addi $t1, $t1, 1
beqz $t0, done # once we reach null char, finish
nop
j poploop
nop
done:
li $v0, 4
la $a0, str
syscall
li $v0, 10 # exit program
syscall
nop
.data
str: .space 82
prompt: .asciiz "Input a string:\n"