; ************************************************************ ; Programme: lab_n_2.txt version PEP813 sous Windows ; ; INF2171 - laboratoire traitement des tableaux de nombres ; 2) Lire des nombres au terminal et afficher la quantité de nombres lus ; ainsi que les nombres négatifs en commençant par la fin ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: hiver 2019 ; cours: INF2171 ; *********************************************************** ; STRO msgbien,d ; bienvenue LDX 0,i ; premier nombre lecture: DECI nombres,x BREQ affiche1 LDA nombres,x ADDX 2,i ; nombre suivant BR lecture ; ; la lecture est terminée ; ; on commence à afficher par la fin du tableau des nombres seulement les nombres négatifs affiche1:STRO msgoccur,d STX sauvex,d ASRX ; X avance de 2 octets, on doit doit diviser par 2 STX occurenc,d DECO occurenc,d LDX sauvex,d STRO msgnégat,d affiche2:SUBX 2,i ; nombre précédent BRLT termine LDA nombres,x ; seulement les nombres négatifs sont considérés BRGE positif DECO nombres,x CHARO "\n",i positif: BR affiche2 ; 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 tableau" .ASCII "\nde nombres." .ASCII "\n\nVeuillez entrer des nombres qui seront" .ASCII "\naffichés en ordre inverse si négatifs." .ASCII "\n(0-pour terminer)\n\x00" msgoccur:.ASCII "\nQuantité de nombres lus:\n\x00" msgnégat:.ASCII "\nLes nombres négatifs lus sont:\n\x00" msgfin: .ASCII "\n\nFin normale du programme.\x00" sauvex: .BLOCK 2 occurenc:.BLOCK 2 ; nombres DOIT se retrouver à la fin du programme nombres: .BLOCK 20 ; #2d10a trace seulement les 10 premiers nombres lus .BLOCK 0 ; les nombres lus qui suivent les 10 premiers, soit 11 à 999 .END