-------------------------------------------------------------------------------
------------------------------------------------------------------------------- Object Addr code Symbol Mnemon Operand Comment ------------------------------------------------------------------------------- ; ********************************************************* ; Programme: DECIMAL.TXT version PEP813 ; ; Programme qui lit un nombre l' cran. ; Ce nombre doit tre num rique et ne doit pas exc der la limite de 32767. ; ; auteur: Bernard Martin ; courriel: martin.bernard@uqam.ca ; date: hiver 2011 ; cours: INF2170 ; ********************************************************* ; 0000 410076 STRO bienvenu,d ; message de bienvenue afficher 0003 C00000 LDA 0,i 0006 490183 lire: CHARI caract,d 0009 D10183 LDBYTEA caract,d ;analyse du caract re lu 000C B0000A CPA 10,i ;caract re "Enter" ? 000F 0A0051 BREQ finlire ;oui, on termine la saisie ; ; multiplication par 10 du nombre d j saisi ; et v rification si le nombre exc de 32767 (d bordement) ; ; ex: 1234 est construit par 1*10+2=12, 12*10+3=123, 123*10+4=1234 ; 0012 C9017F LDX nombre,d ;inutile de multiplier si le nombre est gal 0 0015 0A002D BREQ pasmult 0018 1D ASLX ; * 2 0019 12006F BRV d borde 001C 1D ASLX ; * 4 001D 12006F BRV d borde 0020 79017F ADDX nombre,d ; * 5 0023 12006F BRV d borde 0026 1D ASLX ; * 10 0027 12006F BRV d borde 002A E9017F STX nombre,d ; ; le caract re lu doit tre compris entre 0 et 9 ; 002D B00030 pasmult: CPA '0',i 0030 080069 BRLT pasnombr 0033 B00039 CPA '9',i 0036 100069 BRGT pasnombr 0039 800030 SUBA '0',i ;transformons le caract re ASCII en d cimal 003C 71017F ADDA nombre,d 003F 12006F BRV d borde 0042 E1017F STA nombre,d 0045 C10181 LDA nbcaract,d ;un caract re num rique lu de plus 0048 700001 ADDA 1,i 004B E10181 STA nbcaract,d 004E 040006 BR lire ; 0051 C10181 finlire: LDA nbcaract,d ;avons-nous au moins un caract re num rique ? 0054 0A0063 BREQ vide 0057 4100BF STRO r ponse,d ;affichage du nombre en d cimal 005A 39017F DECO nombre,d 005D 410163 STRO normale,d ;fin normale du programme 0060 040075 BR fin 0063 410126 vide: STRO msgvide,d ;seulement le caract re "Enter" a t entr 0066 040072 BR fina 0069 4100D3 pasnombr:STRO msgerreu,d ;caract re non compris entre 0 et 9 006C 040072 BR fina 006F 4100FE d borde: STRO msgd bor,d ;nombre > 32767 0072 410148 fina: STRO anormale,d ;fin anormale du programme 0075 00 fin: STOP 0076 426965 bienvenu:.ASCII "Bienvenue ce programme de lecture d'un nombre.\n\n" 6E7665 6E7565 20E020 636520 70726F 677261 6D6D65 206465 206C65 637475 726520 642775 6E206E 6F6D62 72652E 0A0A 00A8 456E74 .ASCII "Entrez un nombre svp: " 72657A 20756E 206E6F 6D6272 652073 76703A 20 00BE 00 .BYTE 0 00BF 0A4C65 r ponse: .ASCII "\nLe nombre lu est: " 206E6F 6D6272 65206C 752065 73743A 20 00D2 00 .BYTE 0 00D3 0A556E msgerreu:.ASCII "\nUn caract re non num rique a t entr .\n\n" 206361 726163 74E872 65206E 6F6E20 6E756D E97269 717565 206120 E974E9 20656E 7472E9 2E0A0A 00FD 00 .BYTE 0 00FE 0A4C65 msgd bor:.ASCII "\nLe nombre exc de la limite de 32767.\n\n" 206E6F 6D6272 652065 7863E8 646520 6C6120 6C696D 697465 206465 203332 373637 2E0A0A 0125 00 .BYTE 0 0126 0A4175 msgvide: .ASCII "\nAucun caract re n'a t entr .\n\n" 63756E 206361 726163 74E872 65206E 276120 E974E9 20656E 7472E9 2E0A0A 0147 00 .BYTE 0 0148 46696E anormale:.ASCII "Fin anormale du programme." 20616E 6F726D 616C65 206475 207072 6F6772 616D6D 652E 0162 00 .BYTE 0 0163 0A0A46 normale: .ASCII "\n\nFin normale du programme." 696E20 6E6F72 6D616C 652064 752070 726F67 72616D 6D652E 017E 00 .BYTE 0 017F 0000 nombre: .WORD 0 0181 0000 nbcaract:.WORD 0 ;nombre de caract res lus 0183 00 caract: .BYTE 0 0184 .END ------------------------------------------------------------------------------- ------------------------------------------------------ R sultats de l'ex cution ------------------------------------------------------ Bienvenue ce programme de lecture d'un nombre. Entrez un nombre svp: 1234 Le nombre lu est: 1234 Fin normale du programme. ------------------------------------------------------ Bienvenue ce programme de lecture d'un nombre. Entrez un nombre svp: 123A Un caract re non num rique a t entr . Fin anormale du programme. ------------------------------------------------------ Bienvenue ce programme de lecture d'un nombre. Entrez un nombre svp: Aucun caract re n'a t entr . Fin anormale du programme. ------------------------------------------------------ Bienvenue ce programme de lecture d'un nombre. Entrez un nombre svp: 33333 Le nombre exc de la limite de 32767. Fin anormale du programme. ------------------------------------------------------ Bienvenue ce programme de lecture d'un nombre. Entrez un nombre svp: 0000000000000001 Le nombre lu est: 1 Fin normale du programme uploads/Litterature/ decimal-lis.pdf
Documents similaires










-
14
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 02, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.0242MB