; ***************************************************************** ; Programme: ASCII2.TXT version PEP813 sous Windows ; ; version 2: ajout des phrases explicatives au terminal et ; affichage de 4 caractères par ligne ; ; Ce programme affiche la liste des 256 caractères ASCII. ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: été 2020 ; cours: INF2171 ; ***************************************************************** ; STRO message,d ; message de bienvenue ; ; on affiche un par un les caractères ASCII de 00 à FF ; LDA 0,i ; initialisation à 0 du registre accumulateur LDBYTEA caract,d ; caractère ASCII de départ boucle: CHARO '(',i ; affiche le symbole ( DECO avcaract,d ; affiche en décimal (2 octets, soit la combinaison "avcaract" et "caract") CHARO ')',i ; affiche le symbole ) CHARO '=',i ; affiche le symbole = CHARO caract,d ; affiche la valeur ASCII (1 octet) CHARO ' ',i ; affiche un ESPACE ANDA 3,i ; isole les 2 derniers bits car on désire en mettre 4 par ligne CPA 3,i ; on change de ligne uniquement si les 2 derniers bits égalent 11 BRNE passaut ; sinon on ne saute pas de ligne (2 derniers bits égalent 00, 01 ou 10) CHARO '\n',i ; affiche un saut de ligne passaut: LDBYTEA caract,d ; caractère ASCII en traitement ADDA 1,i ; caractère suivant STBYTEA caract,d ; on le conserve CPA 256,i ; limite de 256 atteinte ? BRNE boucle ; on boucle si le résultat de l'instruction précédente n'est pas 256 ; ; affichage d'une chaine de caractères indiquant la fin du traitement ; STRO fin,d ; message de terminaison 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. avcaract:.BLOCK 1 ;#1h caractère de remplissage pour la combinaison "avcaract" et "caract" caract: .BLOCK 1 ;#1h caractère en traitement message: .ASCII "Bienvenue à ce programme d'affichage" .ASCII "\nde tous les caractères ASCII.\n\n" .ASCII "Voici la liste:\n\n" .BYTE 0 ; délimiteur de fin de chaine qui est équivalent à \x00 fin: .ASCII "\n\nFin normale du programme.\x00"; passe d'abord 2 lignes .END