2010-11-05 16 views
1

Sur mon programme d'assemblage, je demande plusieurs entrées entières à l'utilisateur. Cependant, même si j'entre un caractère, une chaîne ou rien du tout, le programme continue avec l'exécution.Validation de l'entrée d'assemblage

Comment puis-je valider si l'utilisateur a effectivement entré un entier et pas autre chose.

réponse peut être la syntaxe Assemblée agnostique

Répondre

3

Dans ce cas particulier en utilisant MIPS. L'appel système qui exécute le service "InputDialogIn" renvoie dans le registre $a1 une valeur d'état, en fonction de l'entrée.

  • 0: état OK
  • -1: entrée ne peut pas être analysé
  • -2: Annuler a été choisi
  • -3: bouton OK sélectionné, encore, aucun entrée de données dans le champ

Par conséquent, en utilisant la valeur de l'op beq à $ zéro, valide l'entrée avec succès.

Remarque: Instruction/Syscall 51 «InputDialogIn» est une exclusivité du simulateur MARS.

1

Il y a un moyen simple d'apprendre comment cela peut se faire - écrire cette fonction de validation en C et compiler pour assembler et essayer de la carte construit C à ce que vous voyez (Option GCC -S, divers commutateurs -fdump-XXX permettent d'annoter le code assembleur).