Programme Assembleur 8085 : Tester Si Nombre Pair ou Impair
Ci-dessous un programme 8085 propre et commenté qui lit un chiffre unique depuis une routine d'entrée simulée, teste le bit de poids faible, et affiche "PAIR" ou "IMPAIR". Il suppose un afficheur mappé mémoire à 2000H et routine clavier à GETCHAR.
ORG 1000H LXI SP, 2000H ; Pointeur pile START: CALL GETNUM ; Retourne chiffre (0-9) dans A ANI 01H ; Masque tout sauf LSB JZ PAIR ; Si zéro → pair ; --- IMPAIR --- MVI C, 'I' CALL PUTCHAR MVI C, 'M' CALL PUTCHAR MVI C, 'P' CALL PUTCHAR MVI C, 'A' CALL PUTCHAR MVI C, 'I' CALL PUTCHAR MVI C, 'R' CALL PUTCHAR JMP FIN PAIR: MVI C, 'P' CALL PUTCHAR MVI C, 'A' CALL PUTCHAR MVI C, 'I' CALL PUTCHAR MVI C, 'R' CALL PUTCHAR FIN: HLT ;------------------------------------------------ ; Sous-routine: GETNUM – lire chiffre ASCII, retourner binaire dans A ;------------------------------------------------ GETNUM: CALL GETCHAR ; ASCII dans A SUI '0' ; Convertir '0'-'9' → 0-9 RET ;------------------------------------------------ ; Sous-routine: PUTCHAR – sortir char dans C vers afficheur mappé mémoire ;------------------------------------------------ PUTCHAR: MOV A, C STA 2000H ; Port afficheur RET ;------------------------------------------------ ; GETCHAR factice – remplacer par votre routine matériel ;------------------------------------------------ GETCHAR: MVI A, '5' ; Valeur test RET
Comment Ça Marche
ANI 01Hisole bit 0 (LSB).JZ PAIRsaute si LSB = 0 (pair).- Sinon passe à affichage "IMPAIR".
- Chaque caractère envoyé vers afficheur mappé mémoire 2000H via
PUTCHAR.
Adapter GETCHAR/PUTCHAR à votre matériel spécifique (SDK-85, simulateur, etc.).
