Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- dir: .asciiz "Introducir cadena: "
- si: .asciiz "Es palindromo
- "
- no: .asciiz "No es palindromo
- "
- string: .space 100
- .text
- main: li $v0, 4 # código de imprimir cadena
- la $a0, dir # dirección de la cadena
- syscall # Llamada al sistema
- li $v0, 8 # código de leer str
- la $a0, string($0)
- li $a1, 100
- syscall # Llamada al sistema
- and $t0, $t0, $0 #t0=0
- while: lb $t1, string($t0) #carga en t1 el caracter
- beq $t1, $0, end #busca el \0
- addi $t0, $t0, 1 #t0++
- j while
- end: addi $t0, $t0, -1
- or $s0, $t0, $0 #guardamos strlen en s0
- add $t6, $0, $0 #inicializar contador
- add $t7, $0, $s0
- addi $t7, $t7, -1 #nos paramos en el ultimo caracter
- palin: ble $t7, $t6, true #el primer indice alcanzo al segundo? true
- lb $t0, string($t6) #cargar los char
- lb $t1, string($t7)
- bne $t0, $t1, false #son distintos? falso
- addi $t7, $t7, -1 #mover contadores
- addi $t6, $t6, 1
- j palin
- false: la $a0, no
- j fin
- true: la $a0, si
- fin: li $v0, 4 #printstring
- syscall
- j main
- li $v0, 10
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement