; ************************************************************ ; Programme: lab_t_8.txt version PEP813 sous Windows ; ; INF2171 - laboratoire traitement des tableaux ; 8) Lire un texte au terminal, convertir tous les caractères alphabétiques (même les accentués) ; en lettres majuscules, puis afficher ce nouveau texte. ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: été 2019 ; cours: INF2171 ; *********************************************************** ; STRO msgbien,d LDX 0,i lecture: CHARI caract,d STX sauvex,d LDX avcaract,d CPX "\n",i ; fin de ligne ? BREQ termine LDBYTEA ascii,x ; conversion du caractère lu d'après la table "ascii" LDX sauvex,d STBYTEA texte,x ADDX 1,i BR lecture ; ; la lecture est terminée ; ; affichage de la chaine lue ; termine: LDA 0,i ; mettre x00 comme délimiteur de fin du "texte" LDX sauvex,d STBYTEA texte,x STRO msgaff,d STRO texte,d ; 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 "\nqui convertit les caractères alphabétiques" .ASCII "\nen lettres majuscules." .ASCII "\n\nVeuillez entrer le texte qui sera transformé" .ASCII "\nen MAJUSCULES.\n\x00" msgaff: .ASCII "\nVoici la(les) lettre(s) en MAJUSCULES:\n\x00" msgfin: .ASCII "\n\nFin normale du programme.\x00" alphabet:.BLOCK 26 ; #1h26a maximum: .BLOCK 2 ; #2d sauvex: .BLOCK 2 ; #2h avcaract:.BLOCK 1 ; #1h caract: .BLOCK 1 ; #1h ascii: .ASCII " "; 00 à 0F (hex) .ASCII " "; 10 à 1F (hex) .ASCII " "; 20 à 2F (hex) .ASCII " "; 30 à 3F (hex) .ASCII " ABCDEFGHIJKLMNO"; 40 à 4F (hex) .ASCII "PQRSTUVWXYZ "; 50 à 5F (hex) .ASCII " ABCDEFGHIJKLMNO"; 60 à 6F (hex) .ASCII "PQRSTUVWXYZ "; 70 à 7F (hex) .ASCII " "; 80 à 8F (hex) .ASCII " "; 90 à 9F (hex) .ASCII " "; A0 à AF (hex) .ASCII " "; B0 à BF (hex) .ASCII "AAAAAAACEEEEIIII"; C0 à CF (hex) .ASCII "DNOOOO OUUUUUY "; D0 à DF (hex) .ASCII "AAAAAACEEEEIIII "; E0 à EF (hex) .ASCII "ONOOOOO UUUUY Y"; F0 à FF (hex) ; texte DOIT se retrouver à la fin du programme texte: .BLOCK 10 ; #1h10a trace seulement les 10 premiers caractères lus .BLOCK 0 ; les caractères lus qui suivent les 10 premiers .END