.globl __start
__start:
        la $t0, str
LOOP:
        lbu $t1, 0($t0)
        addi $t0, $t0, 0x1
        beq $t1, $0, DONE
        slti $t2, $t1, 97 # < 'a'
        bne $t2, $0 LOOP
        slti $t2, $t1, 123 # 'z' + 1
        beq $t2, $0, LOOP
        addi $t1, $t1, -32
        j LOOP
        sb $t1,-1($t0)

DONE:
        la $t0, str
        addi $t1, $0, 0
L2:
        lbu $t2, 0($t0)
        addi $t0, $t0, 1
        bne $t2, $0, L2
        add $t1, $t1, $t2
        la $a0, s2
        la $a1, str
        li $v0, 11
        syscall
        nop
        li $v0, 10
        syscall

        .data
str:
#        .asciiz "ab"
        .asciiz "Hello, world!"
s2:
        .asciiz "Str: %/a1/s  Sum: %/t1/d\n"