MIPS: Como analisar dígitos de um número? Pergunta básica, mas ainda difícil

StackOverflow https://stackoverflow.com/questions/1450028

  •  11-09-2019
  •  | 
  •  

Pergunta

Atualmente, estou aprendendo MIPs para uma aula e escrevi o código de exemplo abaixo.

# UNTITLED PROGRAM

.data   # Data declaration section

.text

       main:      # Start of code section

               li $t1, 72
           move $a0, $t1
           li $v0,1

       exit:
              li $v0, 10
              syscall

# END OF PROGRAM

Como mostrado, o valor de '72' é armazenado no registro $ T1. Agora, como faço para analisar os '7' e '2'?

Foi útil?

Solução

Divida por 10, o módulo é o seu próximo dígito, repita até que o resultado da divisão seja 0. Isso assumindo que você não está trabalhando com números de ponto flutuante.

Outras dicas

Não é um especialista em MIPs ... mas:

72 / f = 7 "7"

7 * f = 70

72 - 70 = 2 "2"

Você pode aplicar essa lógica usando F * (número do total de dígitos - 1) para obter cada dígito individual.

-r

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top