Programação Assembly, converter hexa para binario

942 palavras 4 páginas
Relatório Do Mini -Projecto de Elementos De Arquitectura De Computadores

Conversão De Inteiro Para String Hexadecimal
Por Divisões Sucessivas

Grupo 1
Tiago Marçalo nº60172
Salvador Machado nº 65816
Ano Lectivo: 2011/2012

Índice
Índice 2
Resolução do problema 4
Descrição da solução 5
Código Fonte: 5

Problema
A chamada ao sistema que permite imprimir um número inteiro no ecrã sofre de algumas limitações. Por exemplo, só permite escrever em formato decimal (base 10). E se quisermos escrever em formato hexadecimal (base 16)?
O programa deverá pedir um número inteiro ao utilizador e deverá escrevê-lo no ecrã em base 16.
…exibir mais conteúdo…

o numero" syscall

confirmacao: # ciclo que vai pedir sempre numeros se forem negativos

li $v0, 5 # Le o numero syscall move $t1, $v0 # guarda o numero em $t1 blt $t1, 0, confirmacao #controlo de valor do numero introdizido. repete se numero menor que 0

li $t9, 0 # $t9 vai servir de contador ciclo: rem $t2, $t1, 16 # calcula o resto da divisao e guardao em $t2 div $t1, $t1, 16 # divide o numero por 16 e guarda o resultado da primeira divisao em $t1

bne $t2, 10, letra_a #salta se diferente de 10

li $t0, 'A' # guarda a letra 'A' (resto da div) para $t0 sb $t0, contr($t9) # escreve no array contr o valor A add $t9, $t9, 1 # Soma 1 ao contador ($t9)

blt $t1, 1, escreve # Se $t1 menor que 1 salta para escrever b ciclo # Se $t1 nao for menor que 1 salta para ciclo

letra_a: bne $t2, 11, letra_b #salta se diferente de 11

li $t0, 'B' # guarda a letra 'B' (resto da div) para $t0 sb $t0, contr($t9) # escreve no array contr o valor B add $t9, $t9, 1 # Soma 1 ao contador ($t9) blt $t1, 1, escreve # Se $t1 menor que 1 salta para escrever b ciclo # Se $t1 nao for menor que 1 salta para ciclo

letra_b: bne $t2, 12, letra_c #salta se diferente de 12 li $t0, 'C' # guarda a letra 'C' (resto da div) para $t0 sb $t0, contr($t9) # escreve no array contr o valor C add $t9, $t9, 1 # Soma 1

Relacionados

  • Exercicios pic
    14626 palavras | 59 páginas
  • Controle de acesso utilizando microcontrolador pic
    16853 palavras | 68 páginas