; ************************************************************ ; Programme: lab_t_5.txt version PEP813 sous Windows ; ; INF2171 - laboratoire traitement des tableaux ; 5) Lire un texte au terminal et afficher toutes les lettres de l'alphabet qui sont présentes. ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: été 2019 ; cours: INF2171 ; *********************************************************** ; STRO msgbien,d LDA 1,i lecture: CHARI caract,d ; caractère lu LDX avcaract,d ANDX 0x00DF,i ; transforme en majuscules les minuscules (les majuscules demeurent majuscules) CPX "A",i ; doit être entre A et Z BRLT paslettr CPX "Z",i BRGT paslettr SUBX 0x0041,i ; position dans l'alphabet STBYTEA alphabet,x ; lettre trouvée = 1 (0-non présente,1-présente) ; paslettr:CPX "\n",i ; fin de ligne ? BRNE lecture ; ; la lecture est terminée ; ; on commence à afficher les lettres de l'aphabet présentes ; STRO msgaff,d LDX 0,i affiche: LDBYTEA alphabet,x ; 0-lettre absente,1-lettre présente BREQ zéro ; lettre présente STX sauvex,d ADDX 0x0041,i ; lettre en ASCII majuscule STBYTEX caract,d CHARO caract,d ; affichage en majuscule CHARO " ",i LDX sauvex,d zéro: ADDX 1,i ; lettre suivante CPX 26,i ; "Z" est la limite BRLT affiche ; termine: STRO msgfin,d STOP ; ; variables ; N.B. Il est préférable d'afficher un long message sur plusieurs lignes car la largeur ; de la fenêtre d'output de PEP/8 n'est que de 52 caractères par défaut. msgbien: .ASCII "Bienvenue à ce programme de traitement d'un texte." .ASCII "\n\nVeuillez entrer un texte qui sera analysé" .ASCII "\npour son alphabet.\n\x00" msgaff: .ASCII "\nVoici la(les) lettre(s) présente(s):\n\x00" msgfin: .ASCII "\n\nFin normale du programme.\x00" sauvex: .BLOCK 2 ; #2h sauvegarde temporaire de l'indeX alphabet:.BLOCK 26 ; #1h26a indicateur d'une lettre (0-absente,1-présente) avcaract:.BLOCK 1 ; #1h caract: .BLOCK 1 ; #1h .END