Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- Frase: .asciiz "HELLO UNIVERSE, hello universo, Hello Universe"
- .globl main
- .text
- main: li $t0, 0 # i
- la $t9, Frase # $t9=@Frase
- li $t3, 46 # Número de carácteres que tiene 'Frase'.
- li $s4,'A'
- li $s5,'Z'
- li $s6,'a'
- li $s7,'z'
- bucle: bge $t0, $t3, fibucle # i<46?
- addu $s0, $t9, $t0 #$ s0 = @Frase+1
- lb $t2, 0($s0) # $t2=Frase[i]
- bge $t2, $s4, confirmUpper #El carácter es mayor o igual que A, no es un espacio en blanco ni una coma.
- li $v0,11 #Impresión de un espacio o una coma.
- addu $a0, $zero, $t2
- syscall
- #Volvemos al inicio del bucle
- addiu $t0, $t0, 1 # i++
- b bucle
- confirmUpper: ble $t2, $s5, isUpper #Si es mayor o igual que la 'A' y meno o igual a la 'Z', será mayúscula.
- #Si no va a isUpper, entonces es minúscula.
- isLower: subiu $t2, $t2, 32 #Añadimos 32 a la letra, para que sea mayúscula.
- li $v0, 11 #Impresión de la letra cambiada.
- addu $a0, $zero, $t2
- syscall
- #Volvemos al inicio del bucle
- addiu $t0, $t0, 1 # i++
- b bucle
- isUpper: addiu $t2, $t2, 32 #Restamos 32 a la letra, para que sea minúscula.
- li $v0, 11 #Impresión de la letra cambiada.
- addu $a0, $zero, $t2
- syscall
- #Volvemos al inicio del bucle
- addiu $t0, $t0, 1 # i++
- b bucle
- fibucle:jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement