Jump to content
Sign in to follow this  
dancm

Onde esta o erro? me ajudem por favor!!

Recommended Posts

dancm

Este é meu exercício  consigo introduzir os numeros inteiros tranquilo, mas o problema é que quando eu introduzo um outro caracter qualquer( ou seja uma letra) ele não me da  a informação de "caracter invalido" onde está o erro? para isso envio o meu exercício para vcs verem onde erro. agradeço a todos vcs ai pela ajuda.

O programa deverá pedir ao utilizador um número inteiro. Em vez de

utilizar a chamada ao sistema de código 1 irá utilizar um ciclo e a chamada ao sistema de código

12 (leitura de um caracter1) e armazenar os caracteres em uma array. Se o utilizador

introduzir um caracter não-válido (por exemplo, uma letra) o programa mostra uma mensagem

de erro e começa tudo de novo. O "Enter" (código ASCII 10) deve ser reconhecido como o sinal

de que o utilizador acabou de digitar o número. Não esquecer de terminar a string com um zero.

No fim o número introduzido (armazenado na string) deverá ser mostrado com a chamada ao

sistema de código 4.

.data

Dmc: .byte 0:31

valor:    .asciiz ""

str1:    .asciiz "Por favor introduza um valor inteiro:\n"

str2:    .asciiz "Caracter Invalido! \n"

str3:    .asciiz "Numero Introduzido: "

strteste: .asciiz "\n"

    .text       

  .globl main   

   

main: 

la $a0,str1    #Imprime a string "str1"

li $v0,4

syscall

li, $t0, 0

loopprimario:

li $v0, 12

syscall

sb $a0, Dmc($t0)

j prep

#beq $v0, $t0, pt2

#bne $v0,10,loopprimario

prep:

add $t0,$t0,1

j loopprimario

pt2:

la $a0, str2

li $v0, 4

syscall

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.