You are on page 1of 3

.

data
input_str: .space 22
output_str: .space 22

.text
main:
li $v0, 8
la $a0, input_str
li $a1, 22
syscall

li $t0, 0
li $t2, 0
loop1:
add $t2, $a0, $t0
lb $t1, 0($t2)
beqz $t1, endloop1
addiu $t0, $t0, 1
j loop1

endloop1:
subi $t0, $t0,
add $v0, $zero, $t0
add $t0, $zero, $zero
add $t1, $zero, $v0
add $t2, $zero, $a0
li $t0, 0
li $t3, 0
loop2:
add $t3, $t2, $t0
lb $t4, 0($t3)
beqz $t4, endloop2
sb $t4, output_str($t1)
subi $t1, $t1, 1
addi $t0, $t0, 1
j loop2
endloop2:

li $s0, 0
li $s1, 2

li $t0, 1
loop3:
lb $t5, output_str($t0)
beqz $t5, endloop3
div $s0, $s1
mfhi $t1

beqz $t1, to_upcase


j continue
to_upcase:
blt $t5, 'a', continue
bgt $t5, 'z', continue
sub $t5, $t5, 32
sb $t5, output_str($t0)
continue:
addi $t0, $t0, 1
addi $s0, $s0, 1
j loop3
endloop3:

li $v0, 4
la $a0, output_str
syscall
li $v0, 10
syscall

You might also like