9. Ïðèìåð ïðîãðàììû
1 : ; T6963C ÏÐÈÌÅÐ ÏÐÎÃÐÀÌÌÛ Âåð.0.01
2 : ;
3 : ; ÈÑÕÎÄÍÛÉ ÊÎÄ ÏÐÎÃÐÀÌÌÛ äëÿ TMPZ84COOP
4 : ; 1991-02-15
5 : ; Ðàçìåð èçîáðàæåíèÿ : 20 Ñòîëáöîâ x 8 Ñòðîê
6 : ;
7 : ; Øðèôò : Ðåæèì 8 òî÷åê
8 : ;
9 : TXHOME EQU 40H ; ÇÀÄÀÒÜ ÀÄÐÅÑ ÍÀ×ÀËÀ ÒÅÊÑÒÀ
10 : TXAREA EQU 41H ; ÇÀÄÀÒÜ ÒÅÊÑÒÎÂÓÞ ÎÁËÀÑÒÜ
11 : GRHOME EQU 42H ; ÇÀÄÀÒÜ ÀÄÐÅÑ ÍÀ×ÀËÀ ÃÐÀÔÈÊÈ
12 : GRAREA EQU 43H ; ÇÀÄÀÒÜ ÃÐÀÔÈ×ÅÑÊÓÞ ÎÁËÀÑÒÜ
13 : OFFSET EQU 22H ; ÇÀÄÀÒÜ ÀÄÐÅÑ ÑÌÅÙÅÍÈß
14 : ADPSET EQU 24H ; ÇÀÄÀÒÜ ÓÊÀÇÀÒÅËÜ ÀÄÐÅÑÀ
15 : AWRON EQU OBOH ; ÓÑÒÀÍÎÂÈÒÜ ÐÅÆÈÌ ÀÂÒÎÌÀÒÈ×ÅÑÊÎÉ ÇÀÏÈÑÈ
16 : AWROFF EQU OB2H ; ÑÁÐÎÑÈÒÜ ÐÅÆÈÌ ÀÂÒÎÌÀÒÈ×ÅÑÊÎÉ ÇÀÏÈÑÈ
17 : CMDP EQU 01H ; ÏÎÐÒ ÑÐÀÂÍÅÍÈß
18 : DP EQU OOH ; ÏÎÐÒ ÄÀÍÍÛÕ
19 : STACK EQU 9FFFH ; ÁÀÇÎÂÛÉ ÀÄÐÅÑ ÓÊÀÇÀÒÅËß ÑÒÅÊÀ
20 : ;
21 : ORG OOOOH
22 : START:
23 : LD SP,STACK
24 : ;
26 : ; ÇÀÄÀÒÜ ÀÄÐÅÑ ÍÀ×ÀËÀ ÒÅÊÑÒÀ
26 : ;
27 : LD HL,OOOOH ; ÀÄÐÅÑ ÍÀ×ÀËÀ ÒÅÊÑÒÀ OOOOH
28 : CALL DT2
29 : LD A,TXHOME
30 : CALL CMD
31 :
32 : ; ÇÀÄÀÒÜ ÀÄÐÅÑ ÍÀ×ÀËÀ ÃÐÀÔÈÊÈ
33 : ;
34 : LD HL,0200H ; ÀÄÐÅÑ ÍÀ×ÀËÀ ÃÐÀÔÈÊÈ 0200H
35 : CALL DT2
36 : LD A,GRHOME
37 : CALL CMD
38 :
39 : ; ÇÀÄÀÒÜ ÒÅÊÑÒÎÂÓÞ ÎÁËÀÑÒÜ
40 : ;
41 : LD HL,0014H ; ÒÅÊÑÒÎÂÀß ÎÁËÀÑÒÜ 20 Ñòîëáöîâ
42 : CALL DT2
43 : LD A,TXAREA
44 : CALL CMD
45 : ;
46 : ; ÇÀÄÀÒÜ ÃÐÀÔÈ×ÅÑÊÓÞ ÎÁËÀÑÒÜ
47 : ;
48 : LD HL,0014H ; ÃÐÀÔÈ×ÅÑÊÀß ÎÁËÀÑÒÜ 20 Ñòîëáöîâ
49 : CALL DT2
50 : LD A,GRAREA
51 : CALL CMD
52 : ;
53 : ; ÓÑÒÀÍÎÂÊÀ ÐÅÆÈÌÀ (OR ÐÅÆÈÌ,ÐÅÆÈÌ Âíóòðåííåãî Çíàêîãåíåðàòîðà)
54 : ;
55 : LD A,80H
56 : CALL CMD
57 : ;
58 : ; ÂÛÑÒÀÂÈÒÜ ÐÅÃÈÑÒÐ ÑÌÅÙÅÍÈß (00010 10000000 000=1400H ÀÄÐÅÑ
ÍÀ×ÀËÀ ÎÇÓ ÇÍÀÊÎÃÅÍÅÐÀÒÎÐÀ)
59 : ; ÊÎÄ ÑÈÌÂÎËÀ 80H
60 : LD HL,0002H
61 : CALL DT2
62 : LD A,OFFSET
63 : CALL CMD
64 : ;
65 : ; ÐÅÆÈÌ ÎÒÎÁÐÀÆÅÍÈß
66 : ; (ÂÊË. ÒÅÊÑÒ, ÂÛÊË. ÃÐÀÔÈÊÓ, ÂÛÊË. ÊÓÐÑÎÐ)
67 : ;
68 : LD A,94H
69 : CALL CMD
70 :
71 : ; ÇÀÏÈÑÀÒÜ ÊÎÄ ÒÅÊÑÒÎÂÎÃÎ ÏÐÎÁÅËÀ
72 : ;
73 : LD HL,OOOOH ; ÇÀÄÀÒÜ Óêàçàòåëü Àäðåñà OOOOH
74 : CALL DT2 ; (ÀÄÐÅÑ ÍÀ×ÀËÀ ÒÅÊÑÒÀ)
75 : LD A,ADPSET
76 : CALL CMD
77 :
78 : LD A,AWRON ; ÓÑÒÀÍÎÂÈÒÜ ÀÂÒÎ ÇÀÏÈÑÜ ÄÀÍÍÛÕ
79 : CALL CMD ;
80 :
81 : LD BC,OOAOH ; 20 Ñòîëáöîâ x 8 Ñòðîê (160=AOH)
82 : TXCR:
83 : LD A,OOH ; ÇÀÏÈÑÀÒÜ ÄÀÍÍÛÅ OOH
84 : CALL ADT ; (ÇÀÏÈÑÀÒÜ ÊÎÄ ÏÐÎÁÅËÀ)
85 :
86 : DEC BC
87 : LD A,B
88 : OR C
89 : JR NZ,TXCR
90 :
91 : LD A,AWROFF ; ÀÂÒÎ ÑÁÐÎÑ
92 : CALL CMD
93 :
94 : ;
95 : ; ÇÀÏÈÑÀÒÜ ÄÀÍÍÛÅ ÂÍÅØÍÅÃÎ ÇÍÀÊÎÃÅÍÅÐÀÒÎÐÀ
96 : ;
97 : LD DE,EXTCG ; Àäðåñ äàííûõ çàíàêîãåíåðàòîðà â Ïðîãðàììå
98 : LD HL,1400H ; Ñòàðòîâûé Àäðåñ ÎÇÓ Çíàêîãåíåðàòîðà (1400H)
99 : CALL DT2
100 : LD A,ADPSET
101 : CALL CMD
102 : ;
103 : LD A,AWRON ; ÓÑÒÀÍÎÂÈÒÜ ÀÂÒÎ ÇÀÏÈÑÜ ÄÀÍÍÛÕ
104 : CALL CMD
105 :
106 : LD B,40H ; 8 Ñèìâîëîâ x 8 áàéò (64=40H)
107 : EXCG:
108 : LD A,(DE) ; ÇÀÏÈÑÀÒÜ ÄÀÍÍÛÅ ÂÎ ÂÍÅØÍÅÅ ÎÇÓ
109 : CALL ADT ;
110 : INC HL
111 : INC DE
112 : DJNZ EXCG
113 :
114 : LD A,AWROFF ; ÀÂÒÎ ÑÁÐÎÑ
115 : CALL CMD
116 :
117 : ; ÇÀÏÈÑÀÒÜ ÄÀÍÍÛÅ ÒÅÊÑÒÎÂÎÃÎ ÈÇÎÁÐÀÆÅÍÈß (ÂÍÓÒÐÅÍÍÈÉ ÇÍÀÊÎÃÅÍÅÐÀÒÎÐ)
118 : ;
119 : LD HL,0040H ; Óêàçàòåëü Àäðåñà 3 Ñòðîêè, 4 Ñòîëáöà
120 : CALL DT2
121 : LD A,ADPSET
122 : CALL CMD
123 :
124 : LD A,AWRON ; ÓÑÒÀÍÎÂÈÒÜ ÀÂÒÎ ÇÀÏÈÑÜ ÄÀÍÍÛÕ
125 : CALL CMD
126 :
127 : LD B,ODH ; Ñèìâîë ñ êîäîì 13
128 : LD DE,TXPRT
129 : TXLP1:
130 : LD A,(DE) ; ÇÀÏÈÑÀÒÜ ÄÀÍÍÛÅ
131 : CALL ADT
132 : INC DE
133 : DJNZ TXLP1
134 :
135 : LD A,AWROFF ; ÀÂÒÎ ÑÁÐÎÑ
136 : CALL CMD
137 : ;
138 : ; ÇÀÏÈÑÀÒÜ ÄÀÍÍÛÅ ÒÅÊÑÒÎÂÎÃÎ ÈÇÎÁÐÀÆÅÍÈß (âåðõíÿÿ ÷àñòü
ÂÍÅØÍÅÃÎ ÇÍÀÊÎÃÅÍÅÐÀÒÎÐÀ)
139 :
140 : LD HL,006CH ; Óêàçàòåëü Àäðåñà 5 Ñòðîê, 8 Ñòîëáöîâ
141 : CALL DT2
142 : LD A,ADPSET
143 : CALL CMD
144 :
145 : LD A,AWRON ; ÓÑÒÀÍÎÂÈÒÜ ÀÂÒÎ ÇÀÏÈÑÜ ÄÀÍÍÛÕ
146 : CALL CMD
147 :
148 : LD B,06H ; Ñèìâîë ñ êîäîì 6
149 : LO DE,EXPRT1
150 : TXLP2;
151 : LD A,(DE) ; ÇÀÏÈÑÜ ÄÀÍÍÛÕ
152 : CALL ADT
153 : INC DE
154 : DJNZ TXLP2
155 :
156 : LD A,AWROFF ; ÀÂÒÎ ÑÁÐÎÑ
157 : CALL CMD
158 :
159 : ; ÇÀÏÈÑÀÒÜ ÄÀÍÍÛÅ ÒÅÊÑÒÎÂÎÃÎ ÈÇÎÁÐÀÆÅÍÈß (íèæíÿÿ ÷àñòü
ÂÍÅØÍÅÃÎ ÇÍÀÊÎÃÅÍÅÐÀÒÎÐÀ)
160 : ;
161 : LD HL,0080H ; Óêàçàòåëü Àäðåñà 6 Ñòðîê, 8 Ñòîëáöîâ
16Z : CALL DT2
163 : LD A,ADPSET
164 : CALL CMD
165 :
166 : LD A,AWRON ; ÓÑÒÀÍÎÂÈÒÜ ÀÂÒÎ ÇÀÏÈÑÜ ÄÀÍÍÛÕ
167 : CALL CMD
168 :
169 : LD B,06H ; Ñèìâîë ñ êîäîì 6
170 : LD DE,EXPRT2
171 : TXLP3:
172 : LD A,(DE) ; ÇÀÏÈÑÀÒÜ ÄÀÍÍÛÅ
173 : CALL ADT
174 : INC DE
175 : DJNZ TXLP3
176 :
177 : LD A,AWROFF ; ÀÂÒÎ ÑÁÐÎÑ
178 : CALL CMD
179 : PEND:
180 : JP PEND ; ÊÎÍÅÖ ÏÐÎÃÐÀÌÌÛ
181 :
182 : ; Íà÷àëî ïîäïðîãðàìì
183 : ;
184 : ; ÏÐÎÖÅÄÓÐÀ ÊÎÌÀÍÄÛ ÇÀÏÈÑÈ
185 : ;
186 : CMD:
187 : PUSH AF
188 : CMD1: IN A,(CMDP)
189 : AND 03H
190 : CP 03H ; ÏÐÎÂÅÐÊÀ ÑÒÀÒÓÑÀ
191 : OR NZ,CMD1
192 : POP AF
193 : OUT (CMDP),A ; ÊÎÌÀÍÄÀ ÇÀÏÈÑÈ
194 : RET
195 : ;
196 : ; ÏÐÎÖÅÄÓÐÀ ÇÀÏÈÑÈ ÄÀÍÍÛÕ (1 áàéò)
197 : ;
198 : DT1:
199 : PUSH AF
200 : DT11: IN A,(CMDP)
201 : AND 03H
202 : CP 03H ; ÏÐÎÂÅÐÊÀ ÑÒÀÒÓÑÀ
203 : JR NZ,DT11
204 : POP AF
205 : OUT (DP),A ; ÇÀÏÈÑÜ ÄÀÍÍÛÕ
206 : RET
207 : ;
208 : ; ÏÐÎÖÅÄÓÐÀ ÇÀÏÈÑÈ ÄÀÍÍÛÕ (2 áàéòà)
209 : ;
210 : DT2:
211 : IN A,(CMDP)
212 : AND 03H
213 : CP 03H ; ÏÐÎÂÅÐÊÀ ÑÒÀÒÓÑÀ
214 : JR NZ,DT2
215 : LD A,L
216 : OUT (DP),A ; ÇÀÏÈÑÜ ÄÀÍÍÛÕ (Dl)
217 : DT21:
218 : IN A,(CMDP)
219 : AND 03H
220 : CP 03H ; ÏÐÎÂÅÐÊÀ ÑÒÀÒÓÑÀ
221 : JR NZ,DT21
222 :
223 : LD A,H
224 : OUT (DP),A ; ÇÀÏÈÑÜ ÄÀÍÍÛÕ (D2)
225 : RET
226 :
227 : ; ÏÐÎÖÅÄÓÐÀ ÐÅÆÈÌÀ ÀÂÒÎÌÀÒÈ×ÅÑÊÎÉ ÇÀÏÈÑÈ
228 :
229 : ADT:
230 : PUSH AF
231 : ADT1: IN A,(CMDP)
232 : AND 08H
233 : CP 08H ; ÏÐÎÂÅÐÊÀ ÑÒÀÒÓÑÀ
234 : JR NZ,ADT1
235 : POP AF
236 : OUT (DP),A ; ÇÀÏÈÑÜ ÄÀÍÍÛÕ
237 : RET
238 : ;
239 : ; Êîíåö ïîäïðîãðàìì
240 : ;
241 : ; ÊÎÄÛ ÑÈÌÂÎËÎÂ ÒÅÊÑÒÎÂÎÃÎ ÈÇÎÁÐÀÆÅÍÈß
242 : ;
243 : TXPRT:
244 : DEFB 34H,00H,2FH,00H,33H,00H ; ÊÎÄ ÂÍÓÒÐÅÍÍÅÃÎ ÇÍÀÊÎÃÅÍÅÐÀÒÎÐÀ
245 : DEFB 28H,00H,29H,00H,22H,00H,21H
246 : EXPRT1:
247 : DEFB 80H,81H,00H,00H,84H,85H ; ÊÎÄ ÂÍÅØÍÅÃÎ ÇÍÀÊÎÃÅÍÅÐÀÒÎÐÀ
248 : EXPRT2:
249 : DEFB 82H,83H,00H,00H,86H,87H
250 : ;
251 : ; ÄÀÍÍÛÅ ØÐÈÔÒÀ ÂÍÅØÍÅÃÎ ÇÍÀÊÎÃÅÍÅÐÀÒÎÐÀ
252 : ;
253 : EXTCG:
254 : ;
255 : ; r^J ââåðõ/âëåâî ÊÎÄ ÑÈÌÂÎËÀ 80H
256 : DEFB 01H,01H,0FFH,01H,3FH,21H,3FH,21H
257 :
258 : ; r^J ââåðõ/âïðàâî ÊÎÄ ÑÈÌÂÎËÀ 81H
259 : DEFB 00H,00H,0FFH,00H,0FCH,04H,0FCH,04H
260 :
261 : ; r^J âíèç/âëåâî ÊÎÄ ÑÈÌÂÎËÀ 82H
262 : DEFB 21H,3FH,05H,0DH,19H,31H,0E1H,01H
263 :
264 : ; r^J âíèç/âïðàâî ÊÎÄ ÑÈÌÂÎËÀ 83H
265 : DEFB 04H,0FCH,40H,60H,30H,1CH,07H,00H
266 :
267 : ; r^J ââåðõ/âëåâî ÊÎÄ ÑÈÌÂÎËÀ 84H
268 : DEFB 08H,08H,0FFH,08H,09H,01H,01H,7FH
269 :
270 : ; r^J ââåðõ/âïðàâî ÊÎÄ ÑÈÌÂÎËÀ 85H
271 : DEFB 10H,10H,0FFH,10H,10H,00H,00H,0FCH
272 :
273 : ; r^J âíèç/âëåâî ÊÎÄ ÑÈÌÂÎËÀ 86H
274 : DEFB 00H,00H,00H,01H,07H,3CH,0E7H,00H
275 :
276 : ; rSJ âíèç/âïðàâî ÊÎÄ ÑÈÌÂÎËÀ 87H
277 : DEFB 18H,30H,60H,0C0H,00H,00H,0E0H,3FH
278 : ;
279 : END
Îáðàçåö ïîêàçà
|