Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update converter.asm #1

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions src/converter.asm
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ numero: .asciiz "00000000000000000000000000000000"
.text
.globl imprimir_inteiro_na_base

#$a0 deve conter o n�mero a ser convertido, em decimal, e $a1 a base para a qual ele deve ser convertido,
#quando a fun��o for chamada.
#$a0 deve conter o número a ser convertido, em decimal, e $a1 é a base para a qual ele deve ser convertido,
#quando a função for chamada.
imprimir_inteiro_na_base:

addi $sp, $sp, -8
sw $a0, 0 ($sp)
sw $a1, 4 ($sp)

add $t0, $a0, $0#t0 o n�mero a ser convertido
add $t1, $a1, $0#t1 a base qual esse valor deve ser convertido
li $t2, 10#t2 10, pra ser usado num if mais pra frente
la $t3, numero#t3 o endere�o da string na qual o novo n�mero vai ser impresso
addi $t3, $t3, 31#e ela contada a partir do seu �ltimo caractere
addu $t0, $a0, $0#t0 é o número a ser convertido
add $t1, $a1, $0#t1 é a base à qual esse valor deve ser convertido
li $t2, 10#t2 é 10, pra ser usado num if mais pra frente
la $t3, numero#t3 é o endereço da string na qual o novo número vai ser impresso
addi $t3, $t3, 31#e ela é contada a partir do seu último caractere

loopResto:
div $t0, $t1
Expand All @@ -31,15 +31,15 @@ imprimir_inteiro_na_base:
addi $t4, $t4, 48
fimMaior10:

sb $t4, 0($t3)#salva t4 no �ltimo byte da string
addi $t3, $t3, -1#decrementa o endere�o da string
sb $t4, 0($t3)#salva t4 no último byte da string
addi $t3, $t3, -1#decrementa o endereço da string

bgtz $t0, loopResto
fimLoop:

addi $t3, $t3, 1#n loop de saida, e decrementado 1 de t3, o que faz com que o endere�o armazenado seja uma unidade anterior a desejada
addi $t3, $t3, 1#n loop de saida, e decrementado 1 de t3, o que faz com que o endereço armazenado seja uma unidade anterior a desejada

add $s0, $t3, $0#armazena o endereco da string em s0
addu $s0, $t3, $0#armazena o endereco da string em s0
#parte de impressao de teste
add $a0, $0, $t3
li $v0, 4
Expand All @@ -49,4 +49,4 @@ imprimir_inteiro_na_base:
lw $a0, 0 ($sp)
addi $sp, $sp, 8

jr $ra
jr $ra