Je souhaite écrire un programme qui invite l'utilisateur à saisir un caractère du clavier. Pour le caractère entré, classer le caractère comme un nombre, une lettre Si l'utilisateur a entré "*" puis boucle à nouveau pour la nouvelle valeur Le problème est toujours montrer le résultat est le numéro, ce qui n'est pas exact quand j'entre la lettre. J'apprécie toute aide.Structures de décision en langage assembleur 68k
ORG $1000
*read user input
START:
MOVEQ #18,D0
LEA PR1,A1
TRAP #15
*COMPARING
MOVE.B D1,D2
CMP.B #$30,D2 ;if ch less than ASCII '0'
BGE number
CMP.B #$39,D2 ;check if ch greater than ASCII '9'
BLE number
ANDI #$DF,D2 ;CONVERT TO UPPERCASE
CMP.B #65,D2
BGE letter
CMP.B #90,D2
BLE letter
CMP.B #$2a,D1 ;if user enter *
BEQ START ;then loop again to enter new value
number LEA n,A1
JSR P_STR
MOVE.B #5,D0
TRAP #15
letter LEA l,A1
JSR P_STR
MOVE.B #5,D0
TRAP #15
PR1 DC.B 'Enter value: ',0
n DC.B 'Number',0
l DC.B 'Letter',0
INCLUDE 'sample.x68' ; it is the file Prints a string withCR/LF
END START
Merci j'apprécie votre aide. Ça marche – nas2016