Vous êtes sur la page 1sur 5

; ********************************************************************

; Programme: ASCII2.TXT version PEP813


;
; Ce programme affiche une liste partielle des caract�res ASCII.
;
; auteur: Bernard Martin
; courriel: martin.bernard@uqam.ca
; date: Hiver 2012
; cours: INF2170
; ********************************************************************
;
; affichage du message de bienvenue
;
0000 41004D STRO demande1,d ; message d'ent�te
;
; saisie du caract�re de d�part
;
0003 490116 CHARI caract,d ; limite inf�rieure
0006 4100AA STRO demande2,d ; message � afficher
0009 490119 CHARI entr�e,d ; se d�barrasser du ENTREE
;
; saisie du caract�re de terminaison
;
000C 490118 CHARI limite,d ; limite sup�rieure
000F 4100D4 STRO msg1,d ; message � afficher
0012 C00000 LDA 0,i ; initialisation � 0 du registre A
0015 D10116 LDBYTEA caract,d ; caract�re ASCII de d�part
0018 25 boucle: NOP1 ; instruction bidon
0019 500028 CHARO '(',i ; affiche le symbole (
001C 390115 DECO avcaract,d ; affiche en d�cimal (2 octets ou WORD,
soit avant+caract)
001F 500029 CHARO ')',i ; affiche le symbole )
0022 50003D CHARO '=',i ; affiche le symbole =
0025 510116 CHARO caract,d ; affiche en ASCII (1 octet ou BYTE)
0028 500020 CHARO ' ',i ; affiche le symbole ESPACE
002B 900003 ANDA 3,i ; v�rifie les 2 derniers bits
002E B00003 CPA 3,i ; car on d�sire en mettre 4 par lignes
0031 0C0037 BRNE passaut ; on ne saute pas de ligne si ligne non
pleine
0034 50000A CHARO '\n',i ; affiche le symbole de saut de ligne
0037 D10116 passaut: LDBYTEA caract,d ; caract�re ASCII
003A B10117 CPA avlimite,d ; limite sup�rieure atteinte ?
003D 0A0049 BREQ termine ; oui, on termine
0040 700001 ADDA 1,i ; caract�re suivant
0043 F10116 STBYTEA caract,d ; on le conserve
0046 040018 BR boucle ; on recommence
;
; affichage du message de terminaison
;
0049 4100FA termine: STRO msg2,d ; message de terminaison
004C 00 STOP
004D 426965 demande1:.ASCII "Bienvenue au programme d'affichage des
caract�res:\n\n"
6E7665
6E7565
206175
207072
6F6772
616D6D
652064
276166
666963
686167
652064
657320
636172
616374
E87265
733A0A
0A
0081 506172 .ASCII "Par quel caract�re,dois-je commencer ? "
207175
656C20
636172
616374
E87265
2C646F
69732D
6A6520
636F6D
6D656E
636572
203F20
20
00A9 00 .BYTE 0 ; d�limiteur de fin de chaine
00AA 0A demande2:.BYTE 10 ; changement de ligne
00AB 0A .BYTE 10
00AC 506172 .ASCII "Par quel caract�re,dois-je terminer ? \x00"
207175
656C20
636172
616374
E87265
2C646F
69732D
6A6520
746572
6D696E
657220
3F2020
00
00D4 0A0A msg1: .WORD 0x0A0A ; 2 lignes suivantes
00D6 4C6973 .ASCII "Liste des caract�res affichables:\n\n"
746520
646573
206361
726163
74E872
657320
616666
696368
61626C
65733A
0A0A
00F9 00 .BYTE 0 ; d�limiteur de fin de chaine
00FA 0A0A msg2: .WORD 0x0A0A ; 2 lignes suivantes
00FC 46696E .ASCII "Fin normale du programme"
206E6F
726D61
6C6520
647520
70726F
677261
6D6D65
0114 00 .BYTE 0 ; d�limiteur de fin de chaine
0115 00 avcaract:.BYTE 0 ; caract�re de remplissage
; avcaract+caract devient un WORD
0116 00 caract: .BYTE 0
0117 00 avlimite:.BYTE 0 ; caract�re de remplissage
; avlimite+limite devient un WORD
0118 00 limite: .BYTE 0
0119 00 entr�e: .BYTE 0 ; capture du ENTREE
011A .END
------------------------------------------------------
R�sultats de l'ex�cution
------------------------------------------------------
Bienvenue au programme d'affichage des caract�res:

Par quel caract�re,dois-je commencer ? a

Par quel caract�re,dois-je terminer ? B

Liste des caract�res affichables:

(97)=a (98)=b (99)=c


(100)=d (101)=e (102)=f (103)=g
(104)=h (105)=i (106)=j (107)=k
(108)=l (109)=m (110)=n (111)=o
(112)=p (113)=q (114)=r (115)=s
(116)=t (117)=u (118)=v (119)=w
(120)=x (121)=y (122)=z (123)={
(124)=| (125)=} (126)=~ (127)=
(128)=? (129)=� (130)=? (131)=?
(132)=? (133)=? (134)=? (135)=?
(136)=? (137)=? (138)=? (139)=?
(140)=? (141)=� (142)=? (143)=�
(144)=� (145)=? (146)=? (147)=?
(148)=? (149)=? (150)=? (151)=?
(152)=? (153)=? (154)=? (155)=?
(156)=? (157)=� (158)=? (159)=?
(160)= (161)=� (162)=� (163)=�
(164)=� (165)=� (166)=� (167)=�
(168)=� (169)=� (170)=� (171)=�
(172)=� (173)=� (174)=� (175)=�
(176)=� (177)=� (178)=� (179)=�
(180)=� (181)=� (182)=� (183)=�
(184)=� (185)=� (186)=� (187)=�
(188)=� (189)=� (190)=� (191)=�
(192)=� (193)=� (194)=� (195)=�
(196)=� (197)=� (198)=� (199)=�
(200)=� (201)=� (202)=� (203)=�
(204)=� (205)=� (206)=� (207)=�
(208)=� (209)=� (210)=� (211)=�
(212)=� (213)=� (214)=� (215)=�
(216)=� (217)=� (218)=� (219)=�
(220)=� (221)=� (222)=� (223)=�
(224)=� (225)=� (226)=� (227)=�
(228)=� (229)=� (230)=� (231)=�
(232)=� (233)=� (234)=� (235)=�
(236)=� (237)=� (238)=� (239)=�
(240)=� (241)=� (242)=� (243)=�
(244)=� (245)=� (246)=� (247)=�
(248)=� (249)=� (250)=� (251)=�
(252)=� (253)=� (254)=� (255)=�
(0)=# (1)=# (2)=# (3)=#
(4)=# (5)=# (6)=# (7)=#
(8)=# (9)= (10)=
(11)=#
(12)=
(13)=
(14)=# (15)=#
(16)=# (17)=# (18)=# (19)=#
(20)=# (21)=# (22)=# (23)=#
(24)=# (25)=# (26)=# (27)=#
(28)=# (29)=# (30)=# (31)=#
(32)= (33)=! (34)=" (35)=#
(36)=$ (37)=% (38)=& (39)='
(40)=( (41)=) (42)=* (43)=+
(44)=, (45)=- (46)=. (47)=/
(48)=0 (49)=1 (50)=2 (51)=3
(52)=4 (53)=5 (54)=6 (55)=7
(56)=8 (57)=9 (58)=: (59)=;
(60)=< (61)== (62)=> (63)=?
(64)=@ (65)=A (66)=B

Fin normale du programme

Vous aimerez peut-être aussi