Enviado em 29/08/2017 - 23:51h
Boa noite, galera
Estou pegando uma matéria de Arquitetura de Computadores na faculdade e estou iniciando meus estudos em Assembly a partir dela. O professor pediu um programa que organizasse um nome pela ordem alfabética das letras (exemplo: "rafael" > "aaeflr"). Fiz o seguinte programa, tentando seguir uma lógica de bubble sort, mas está dando um erro de "Arithmetic Overflor", segundo o título do post.
Teria como uma alma caridosa me dar um help?
Estou pegando uma matéria de Arquitetura de Computadores na faculdade e estou iniciando meus estudos em Assembly a partir dela. O professor pediu um programa que organizasse um nome pela ordem alfabética das letras (exemplo: "rafael" > "aaeflr"). Fiz o seguinte programa, tentando seguir uma lógica de bubble sort, mas está dando um erro de "Arithmetic Overflor", segundo o título do post.
.data
nome: .ascii "rafael"
zero: .byte 0
.text
main: lb $t0, nome($s0)
bgtz $t0, qtdlet
blez $t0, loop1
qtdlet: add $s0, $s0, 1
j main
loop1: move $t2, $s0
add $s0, $s0, $t2
lb $t0, nome($s1)
add $s2, $s2, 1
lb $t1, nome($s2)
blez $t1, reset
bge $t0, $t1, troca
blt $t0, $t1, nada
reset: lb $s1, zero($0)
lb $s2, zero($0)
add $s3, $s3, 1
blt $s3, $s0, loop1
bge $s3, $s0, fim
troca: sb $t0, nome($s2)
sb $t1, nome($s1)
add $s2, $s2, 1
add $s1, $s1, 1
j loop1
nada: add $s2, $s2, 1
add $s1, $s1, 1
j loop1
fim: li $v0, 10
syscall
Teria como uma alma caridosa me dar um help?