Add character if same after same MIPS

1

I want to make a program in MIPS where after finding a vowel, add the following consonant in it.

For example, after a, add b, after and add f.

In the end it looks like this:

  

Keyword: Olae

     

Final Word: Olabef

This is what I have, but it only replaces a letter and not 2 ...

.data
string: .asciiz "ola"

a: .ascii "a"
a1: .ascii "ab"

e: .ascii "e"
e1: .ascii "ef"

i: .ascii "i"
i1: .ascii "ij"

o: .ascii "o"
o1: .ascii "op"

u: .ascii "u"
u1: .ascii "uv"

tam: .word 3

.text 

main:
lw $t6, tam #string length
lb $t1, string($t0) #read bit by bit

lh $s0, a #save in register the char that we want to search
lh $s1, a1 #save in register the char that we want to replace


beq $t0, $t6, done

beq $t1, $s0, continua #if the char of (bit by bit) its like the char of         chars, swap it
bne $t1, $s0, else #if not, saves
else:
lb $s0, e
lhu $s1, e1

beq $t1, $s0, continua
bne $t1, $s0, else2

else2:  
lb $s0, i
lh $s1, i1

beq $t1, $s0, continua
bne $t1, $s0, else3

else3:  
lb $s0, o
lh $s1, o1

beq $t1, $s0, continua
bne $t1, $s0, else4                         

else4: 
lb $s0, u
lh $s1, u1

beq $t1, $s0, continua
bne $t1, $s0, store

continua:
la $a0, a
li $v0, 4
syscall
sb $s1, string($t0) #do the swap 
addi $t0, $t0, 1 #+1 in the index
j main 

store:
la $a0, a
li $v0, 4
syscall
sh $t1, string($t0) #saves
addi $t0, $t0, 1 #+1 in the index
j main
done:
li $v0, 10
syscall

Any tips?

    
asked by anonymous 15.06.2017 / 18:32

0 answers