.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"