PR01_ problemas com entrada e saída padrão

PR01_ problemas com entrada e saída padrão

por Matheus Santos Conceição -
Número de respostas: 2

Olá

Estamos tendo problemas para ler e escrever caracteres da entrada e saída padrão, respectivamente.

O programa abaixo deveria ler um caracter  por vez e imprimi-lo até chegar ao fim de uma linha, mas nada está acontecendo. Gostaria de

saber oq estamos fazendo de errado.

             EXTERN  main

  main    XOR     $0, $0, $0
  read    SETW    rX, 1
             INT        #80
             CMP      $0, rA, 10     *verifica se chegou ao fim de uma linha
             JNZ       $0, write
             INT        0
  write    SETW    rX, 2
             LDBU     rY, rA, 0
             INT        #80
             JMP       read          *lê o proximo caractere

Em resposta à Matheus Santos Conceição

Re: PR01_ problemas com entrada e saída padrão

por Leonardo Lana Violin Oliveira -

Olá Matheus, 

O código não funciona a instrução LDBU só pega dados da memória. Então, se mandarmos "1" como entrada do seu programa, a caractére 49 será colocado no rA (49 equivale a "1" na tabela ASCII). E ao executar a instrução LDBU rY, rA, 0, seu programa tenta pegar algum dado no endereço de memória número 49.

Para copiar o conteúdo de um registrador rA para o rY, o primeiro você deve usar a STBU para jogar o conteúdo de rA na memória, e depois usar o LDBU para colocar esse dados salvo na memória no registrador rY.

 

Desculpa a demora na resposta.

 

Abrços, 

Lana