; ************************************************************************************************ ; Programme: ASCII3.TXT version PEP813 sous Windows ; ; version 3: ajout d'une demande pour les limites inférieures et supérieures ; en vue de l'affichage d'une liste partielle des caractères ASCII ; ; Ce programme affiche une liste partielle des 256 caractères ASCII. ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: été 2020 ; cours: INF2171 ; ************************************************************************************************ ; ; affichage du message de bienvenue ; STRO demande1,d ; message d'entête ; ; saisie du caractère de départ ; CHARI caract,d ; limite inférieure demandée à partir de la ligne d'entrée CHARI entrée,d ; se débarrasser du ENTREE STRO demande2,d ; message de demande pour la limite supérieure ; ; saisie du caractère de terminaison ; CHARI limite,d ; limite supérieure STRO liste,d ; message à afficher ; ; on affiche un par un les caractères ; LDA avcaract,d ; lire la combinaison "avcaract" et "caract" pour le caractère 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: LDA avcaract,d ; caractère ASCII CPA avlimite,d ; limite supérieure atteinte ? BREQ termine ; oui, on termine ADDA 1,i ; caractère suivant STBYTEA caract,d ; on le conserve BR boucle ; on recommence ; ; affichage d'une chaine de caractères indiquant la fin du traitement ; termine: STRO final,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. demande1:.ASCII "Bienvenue au programme d'affichage" .ASCII "\ndes caractères ASCII.\n\n" .ASCII "Par quel caractère,dois-je commencer ? \x00" demande2:.ASCII "\n\nPar quel caractère,dois-je terminer ? \x00" liste: .ASCII "\n\nListe des caractères ASCII:\n\n\x00" final: .ASCII "\n\nFin normale du programme.\x00" avcaract:.BLOCK 1 ; #1h caractère de remplissage pour la combinaison "avcaract" et "caract" caract: .BLOCK 1 ; #1h avlimite:.BLOCK 1 ; #1h caractère de remplissage pour la combinaison "avlimite" et "limite" limite: .BLOCK 1 ; #1h entrée: .BLOCK 1 ; #1h capture du ENTREE .END