ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
ZPS | Technické prostředky | Programové vybavení | Dokumentace
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1
1 .LIST
2 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 TITLE FIRMWARE SAPI-1 MONITOR V5.0/E
4 ; 9.2.1988 (P.P.)
5 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 ;
7 ; MONITOR + MIKOS V5.0 TVORI FIRMWARE SYSTEMU SAPI-1.
8 ; V5.0 JE KOMPATIBILNI S VERZI V4.0 A JE ULOZENA
9 ; V 5K EPROM.
10 ; DALSI SKUPINA PROGRAMU JE NA KAZETE:
11 ; 1) BASIC EXP V5.0
12 ; 2) TEDIT 1
13 ; 3) TOOL ASM-80
14 ;..........................................
15 ; ROZDELENI PAMETI U ZPS-2:
16 ; 0000H-13FFH FIRMWARE EPROM 5K
17 ; 2400H-33FFH PORTY
18 ; 3800H-3FFFH VIDEO RAM
19 ; 4000H-42FFH 1K SYSTEMOVE RAM
20 ; 4400H-0FFFFH RAM---> SYSTEMOVE PROGRAMY
21 ; \--> UZIVATELSKE PROGRAMY
22 ;=========================================
23 0000' ASEG
24 ;
25 ; *** DEFINOVANI PAMETOVEHO PROSTORU *
26 ;
27 4000 @R@ EQU 4000H ; ZACATEK SYSTEMOVE RAM (1K)
28 00CF RSTN EQU 0CFH
29 ;
30 ;
31 4400 BASIC EQU 4400H ; START
32 4C00 TRACER EQU 4C00H ; START
33 4400 PEDIT EQU 4400H ; START
34 ;
35 ;-----------------------------------------------
36
37 0000 MONIT EQU 0 ; ROM VERZE - ZPS2
38 0C00 EP2 EQU 0C00H
39 0000 ERAM EQU 0000
40 1400 TVROM EQU 1400H
41 3800 TVBEG EQU 03800H ; TV-RAM
42
43 ;
44 ; KONSTANTY ASCII...
45 ;
46 000D CR EQU 0DH ; CARRIAGE RETURN
47 0009 HT EQU 9 ; TAB
48 0008 BACK EQU 8 ; BACK SPACE
49 0018 RIGHT EQU 18H ; FORWARDS
50 001A UP EQU 1AH ; UP
51 001B ESC EQU 1BH ; ESCAPE
52 0007 BELL EQU 7 ; BELL
53 000A LF EQU 0AH ; LINE FEED
54 0003 ETX EQU 03H ; BREAK CHAR.( CONTROL C)
55 0004 EOT EQU 4 ; END OF FILE
56 000B VT EQU 0BH
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-1
57 001A SUB@ EQU 1AH ; CTRL Z
58 0017 PRNT EQU 17H ; BREAK CTRL W
59 007F DEL EQU 7FH ; DELETE
60 001C WNDCD EQU 1CH ; ZMENA OKNA
61 0055 BEGIO EQU 55H ; POCATECNI HODNOTA PRO I/O BYTE
62 ;
63 ; T.V. PARAMETRY
64 ;
65 0028 WIDTH EQU 40
66 0018 HEIGHT EQU 24
67 0040 LINOF EQU 64 ; OFFSET
68 0018 LREST EQU LINOF - WIDTH
69 3DE7 TVEND EQU TVBEG + 5E7H
70 00A0 CURSOR EQU 0A0H
71 0067 CURCH EQU 67H
72 001F ERS EQU 1FH ; ERASE SCREEN
73 001E EOL EQU 1EH ; ERASE END OF LINE
74 0011 CTRLQ EQU 11H ; ^Q-REZERVUJ
75 0010 CTRLP EQU 10H ; ^P-LIST
76 001D HOME EQU 1DH ; HOME
77 ;
78 ;-------------------------------------------------
79 ; RIDICI I/O
80 ;
81 ;KLAVESNICE
82 2400 PORTK EQU 2400H ; 2400H-27FFH
83 ;TISKARNA
84 2B00 PORTLC EQU 2B00H ; 2800H-2BFFH
85 2C00 PORTLD EQU 2C00H ; 2C00H-2FFFH
86 ;PRERUSENI 3214
87 3000 PORTI EQU 3000H ; 3000H-33FFH
88 ;
89 ;
90 ; DESKA PARALERNICH PORTU
91 ;
92 001B CWR1 EQU 1BH ; RIDICI SLOVO 8255A/1
93 0018 PA1 EQU 18H
94 0019 PB1 EQU 19H
95 001A PC1 EQU 1AH
96 001F CWR2 EQU 1FH ; RIDICI SLOVO 8255A/2
97 001C PA2 EQU 1CH
98 001D PB2 EQU 1DH
99 001E PC2 EQU 1EH
100 ;
101 ; UART - MAGNETOFON + SERIOVY PRENOS
102 ;
103 0012 UDATA EQU 12H ; UART-DATA
104 0011 USTAT EQU 11H ; STATUS
105 0011 MMODE EQU 11H ; MODEM
106 0010 UMODE EQU 10H ; UART
107 0013 URES EQU 13H ; RESET
108 ;
109 0001 ALLINT EQU 01H ; POUZE RST0
110
111 ;===============================================
112 ; ZACATEK PROGRAMU
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-2
113 ;===============================================
114 ;
115 ORG MONIT ; ROM/RAM DEFINICE
116 0000 C3 018B JMP COLD ; INICIALIZACE SYSTEMU
117
118 ;****************************************************
119 ; POMOCNE PROGRAMY
120 ;****************************************************
121 0003 55 DB 55H
122 0004 50 DB 50H ; V 5.0
123 0005 C3 F006 JMP 0F006H
124 0008 C3 4000 JMP @R@
125 ;
126 000B 3E 2D MINUS: MVI A,'-'
127 000D C3 0568 JMP COA
128 0010 C3 4003 JMP @R@+3
129 ;
130 0013 3E 3D EQUAL: MVI A,'='
131 0015 C3 0568 JMP COA
132 0018 C3 4006 JMP @R@+6
133 ;
134 001B 3E 3F QUES: MVI A,'?'
135 001D C3 0568 JMP COA
136 0020 C3 4009 JMP @R@+9
137 ;
138 ; CTI IOBYTE <A>
139 ;
140 0023 3A 40E2 IOCHK: LDA IOBYT
141 0026 C9 RET
142 0027 50 DB 'P'
143 0028 C3 400C JMP @R@+12
144 ;
145 ; NASTAV IOBYTE <C>
146 ;
147 002B 79 IOSET: MOV A,C
148 002C 32 40E2 STA IOBYT
149 002F C9 RET
150 0030 C3 400F JMP @R@+15
151 ;
152 ; SPECIAL:<A>..ZNAK,<B>..MODE,<DE>..LOG.ADR
153 ; <HL>..FYZ.ADR
154 ;
155 0033 2A 40E8 SPCL: LHLD LINE ; LOG. ADR KORZORU
156 0036 EB XCHG
157 0037 21 DB 21H
158 0038 C3 4012 JMP @R@+18
159 003B 2A 4081 LHLD CADR ; FYZ. ADR ZNAKU
160 003E 3A 40F0 LDA KEY ; KEY ->B
161 0041 47 MOV B,A
162 0042 7E MOV A,M ; CTI ZNAK Z T.V.
163 0043 C9 RET
164
165 ; KOPIRUJ RI -> PO
166 ;
167 0044 CD 05AA COPY: CALL RI
168 0047 DA 04D4 JC CRLF
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-3
169 004A 4F MOV C,A
170 004B CD 05D3 CALL LO ; "H" VYBERE PERIF.
171 004E C3 0044 JMP COPY
172 ;
173 ; READ DALSI BYTE
174 ;
175 0051 3E 30 RBYT0: MVI A,'0'
176 0053 C5 RBYT: PUSH B
177 0054 E5 PUSH H
178 0055 CD 04E1 CALL EXPRM
179 0058 D1 POP D
180 0059 E1 POP H
181 005A 73 MOV M,E
182 005B 78 MOV A,B
183 005C FE 0D CPI CR
184 005E C1 POP B
185 005F C9 RET
186
187 ;**************************************
188 ; OBECNA CAST O.S.
189 ;**************************************
190 ;
191 ; VOLANI O.S Z MONITORU
192 ;
193 0060 0E FF KOS: MVI C,-1
194 0062 C3 40D0 JMP KOS@
195 ;
196 ;INIT O.S
197 ;
198 0065 0E 00 KOSI: MVI C,0
199 0067 C3 40D0 JMP KOS@
200 ;
201 ; SLUZBY KOMPATIBILNI Z MONITOREM V4.0
202 ;
203 006A 0E 01 FIND: MVI C,1
204 006C C3 40D0 JMP KOS@
205 006F 0E 02 OPEN: MVI C,2
206 0071 C3 40D0 JMP KOS@
207 0074 0E 04 LOADCD: MVI C,4
208 0076 C3 40D0 JMP KOS@
209 0079 0E 05 SAVECD: MVI C,5
210 007B C3 40D0 JMP KOS@
211 007E 0E 06 BINAR: MVI C,6
212 0080 C3 40D0 JMP KOS@
213
214 ;****************************************************
215 ;
216 0083 22 0D JMENO: DB '"',CR ; PRAZDNE
217 ;
218 ; INSTALUJ HANDLER PRO TISKARNU
219 ;
220 0085 CD 0500 HNDIN: CALL RADR
221 0088 87 ADD A ; *2
222 0089 FE 10 CPI HNDMX
223 008B D0 RNC ; VETSI...
224 008C 26 00 MVI H,0
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-4
225 008E 6F MOV L,A
226 008F 11 009D LXI D,TABHND
227 0092 19 DAD D ; ADR. ADRESY HNDLR
228 0093 7E MOV A,M
229 0094 32 40CE STA LO@ + 1 ; PREPIS
230 0097 23 INX H
231 0098 7E MOV A,M
232 0099 32 40CF STA LO@ + 2
233 009C C9 DUMMY: RET
234 ;------------------------
235 ; TABULKA HANDLERU
236 ;
237 009D 009C TABHND: DW DUMMY ; 0.. PRAZDNY HANDLER
238 009F 00B0 DW LO@@ ; 1.. C 211
239 00A1 00E4 DW CENTRO ; 2.. CENTRONICS
240 00A3 00C9 DW D100S ; 3.. D 100 S
241 00A5 00AD DW D180 ; 4.. D 180
242 00A7 05C1 DW PO ; 5.. PUNCH DEVICE
243 00A9 40C7 DW CO@ ; 6.. CONSOLE OUTPUT
244 00AB 05FF DW SEROUT ; 7.. SERIOVY VYSTUP
245 0010 HNDMX EQU $-TABHND
246 ;
247 ;****************************************************
248 ; LIST OUTPUT <C>... ZNAK
249 ;****************************************************
250 ;
251 00AD 79 D180: MOV A,C
252 00AE 2F CMA
253 00AF 4F MOV C,A
254
255 00B0 LO@@:
256 00B0 E5 PUSH H
257 00B1 26 2C MVI H,2CH
258 00B3 71 MOV M,C
259 00B4 7E LO@1: MOV A,M
260 00B5 E6 40 ANI 40H
261 00B7 CA 00B4 JZ LO@1
262 00BA 25 DCR H
263 00BB 36 03 MVI M,3
264 00BD 24 INR H
265 00BE 7E LO@2: MOV A,M
266 00BF E6 40 ANI 40H
267 00C1 C2 00BE JNZ LO@2
268 00C4 25 DCR H
269 00C5 36 01 MVI M,1
270 00C7 E1 POP H
271 00C8 C9 RET
272 ;
273 ; SERIOVY INTERFACE PRO :LP:
274 ;
275 00C9 3E 0E D100S: MVI A,0EH ; SERIOVE PRIPOJENI D100
276 00CB D3 11 OUT MMODE ; PREPOJ
277 00CD DB 11 D101: IN USTAT
278 00CF E6 40 ANI 40H
279 00D1 C2 00CD JNZ D101
280 00D4 79 MOV A,C
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-5
281 00D5 D3 12 OUT UDATA
282 00D7 3E 02 MVI A,2
283 00D9 D3 10 OUT UMODE
284 00DB DB 11 D102: IN USTAT
285 00DD E6 40 ANI 40H
286 00DF CA 00DB JZ D102
287 00E2 79 MOV A,C
288 00E3 C9 RET
289
290 ;
291 ; INTERFACE CENTRONICS
292 ;
293 00E4 CENTRO:
294 00E4 E5 PUSH H
295 00E5 26 2C MVI H,2CH
296 00E7 71 MOV M,C
297 00E8 7E CENTR1: MOV A,M
298 00E9 E6 60 ANI 60H
299 00EB FE 20 CPI 20H
300 00ED C2 00E8 JNZ CENTR1 ; CEKEJ NA BUSY
301 00F0 25 DCR H
302 00F1 36 00 MVI M,0
303 00F3 E3 XTHL
304 00F4 E3 XTHL
305 00F5 79 MOV A,C
306 00F6 36 02 MVI M,2
307 00F8 E1 POP H
308 00F9 C9 RET
309
310 ;****************************************************
311 ; KONTROLA KONCE KODU PRED TABULKOU
312 ;
313 00FA R100 EQU $
314 IF R100 GT 100H
315 .PRINTX 'SPATNY KONEC KODU NA 100H'
316 AAAAAAAAAA
317 ENDIF
318 ;****************************************************
319
320 ORG 100H ; TABULKA SLUZEB !!!
321 ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
322 ;
323 ; TABULKA "ZAKLADNICH SLUZEB SYSTEMU SAPI-1
324 ;
325 0100 C3 018B JMP COLD ; STUDENY START
326 0103 C3 0596 JMP CI ; CONZOLE INPUT <A>
327 0106 C3 05AA JMP RI ; READER INPUT <A>, CY=1 ERROR
328 0109 C3 05F4 JMP CO ; CONZOLE OUTPUT <C>
329 010C C3 05C1 JMP PO ; PUNCH OUTPUT <C>
330 010F C3 05D3 JMP LO ; LIST OUTPUT <C>
331 0112 C3 058B JMP CSTS ; CONZOLE INPUT STATUS
332 0115 C3 0023 JMP IOCHK ; I/O BYT CHEK <A>
333 0118 C3 002B JMP IOSET ; I/O BYT SET <C>
334 011B C3 051B JMP MEMCK ; MEMTOP
335 011E C3 056F JMP IODEF ; DEFINICE UZIVATELSKYCH PERIFERII
336 0121 C3 0033 JMP SPCL ; I/O CONTROL SPECIAL
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-6
337 0124 C3 04D4 JMP CRLF ; NOVY RADEK
338 0127 C3 04A8 JMP EXPR ; SKLADANI ADRES (N=POCET <C>, SP)
339 012A C3 0A3B JMP ERROR ; OSETRENI CHYBY
340 012D C3 0523 JMP ASHEX ; PREVOD ASCII -> HEX
341 0130 C3 050B JMP DADR ; ZOBRAZENI ADRESY <HL>
342 0133 C3 05E8 JMP DBYT ; ZOBRAZENI ZNAKU <A>
343 0136 C3 04F5 JMP HILO ; HL+1, SROVNANI S DE
344 0139 C3 0203 JMP NEXT ; OVLADANI MONITORU
345 013C C3 09CF JMP SPACE ; MEZERA NA CRT
346 013F C3 053A JMP CINCR ; ECHO+ANALYZA
347 0142 C3 0558 JMP TEXT ; VYPIS TEXTU <HL=ADR>,<D=DELKA>
348 0145 C3 0222 JMP XY ; "DO" PRIKAZ <A>
349 0148 C3 0513 JMP HXASC ; PREVOD HEX -> ASCII
350 014B C3 06A1 JMP EXFLG ; EXTERNI RIZENI FLAGU
351 014E C3 0270 JMP ASSIGN ; PRIRAZENI I/O PERIF.
352 ; -- ROZSIRENI SLUZEB --
353 0151 C3 0549 JMP TX ; ZOBRAZENI NASLEDUJICIHO TEXTU
354 0154 C3 0708 JMP WND@ ; NASTAVENI OKNA
355 0157 C3 40D0 JMP KOS@ ; CALL O.S. <C>-SLUZBA,<HL>-DATA
356 015A C3 0B62 JMP RNAME ; <HL>.. EXT. A VYST. ADR
357 015D C3 0348 JMP INTER ; NASTAVENI PRERUSENI + EI
358 0160 C3 08AD JMP KODWM ; <HL>.. NOVE KODY, CS
359 0163 C3 08B5 JMP KODASC ; <HL>..ZMENY KODU Z KLAVESNICE
360 0166 C3 40DC JMP GRAF ; <HL>..DATA, <D>..KOD, <E> SLUZBA
361 0169 C3 40DF JMP RESER ;
362 ;***************************************************
363 ;
364 ; TABULKY PRO INSTALACI SYSTEMOVYCH HANDLERU
365 ;
366 016C C3 0995 SYSTAB: JMP CI@@ ; VSTUP ZNAKU :CI:
367 016F C3 0617 JMP CO@@ ; VYSTUP ZNAKU :CO:
368 0172 C3 0982 JMP CSTS@@ ; STATUS :CI:
369 0175 C3 009C JMP DUMMY ; :LO:
370 0178 C3 0A3B JMP ERROR ; INIT O.S.
371 017B SMTAB: ; -- ; TABULKA PRO SM 7202
372 017B C3 098B JMP SERIN ; SERIOVY VSTUP
373 017E C3 05FF JMP SEROUT ; SERIOVY VYSTUP
374 0181 C3 097B JMP SMST ; STATUS SER. VSTUPU
375 0184 C3 009C JMP DUMMY
376 0187 C3 009C JMP DUMMY
377 018A SYSEND EQU $
378 018A 55 DB BEGIO
379
380
381 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
382 ; **** S T A R T M O N I T O R U ****
383 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
384 ;
385 018B COLD:
386 018B F3 BEG: DI ; PRIKAZ "B"
387 018C 21 406D LXI HL,MSTAK ; NASTAV STACK POINTER
388 018F F9 SPHL
389 0190 AF XRA A
390 0191 77 BEG0: MOV M,A
391 0192 2C INR L
392 0193 C2 0191 JNZ BEG0 ; NULUJ M-RAM
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-7
393 ;
394 0196 3C INR A
395 0197 D3 13 OUT URES ; RESET UART
396 0199 D3 10 OUT UMODE ; MODEM
397 019B 3C INR A
398 019C 26 28 MVI H,(HIGH PORTK)+4
399 019E 77 MOV M,A
400 019F 25 DCR H
401 01A0 77 MOV M,A
402 01A1 3E 0D MVI A,0DH ; SERIOVY PRENOS
403 01A3 D3 11 OUT USTAT ; STATUS UART
404 ;
405 01A5 21 016C LXI H,SYSTAB ; NASTAV
406 01A8 11 018A LXI D,SYSEND ; SYSTEMOVE PERIFERIE
407 01AB 01 40C4 LXI B,CI@0
408 01AE CD 0480 CALL MO1
409 ;
410 01B1 21 4000 LXI H,@R@ ; NAJDI KONEC RAM
411 01B4 36 C3 MVI M,0C3H
412 01B6 24 MEM1: INR H ; DALSI STRANKA
413 01B7 CA 01C3 JZ MEM2
414 01BA 7E MOV A,M
415 01BB 2F CMA
416 01BC 77 MOV M,A ; ZAPIS DOPLNEK
417 01BD BE CMP M ; ZAPIS O.K. ?
418 01BE 2F CMA
419 01BF 77 MOV M,A ; OBNOVA PAMETI
420 01C0 CA 01B6 JZ MEM1
421 01C3 2B MEM2: DCX H ; POSLEDNI BYTE
422 01C4 22 40BF SHLD MEMTOP ; ULOZ MEMTOP
423 ;
424 01C7 3E 67 MVI A,CURCH ; NASTAV KURZOR CS
425 01C9 32 40EF STA CUR@
426 ;
427 01CC CD 089F CALL CINIT ; KLAVESNICE
428 ;
429 01CF 21 3800 LXI H,TVBEG ; NASTAV T.V.
430 01D2 22 4081 SHLD CADR
431 01D5 3E C3 MVI A,0C3H
432 01D7 32 40C1 STA ERRSW
433 01DA 77 MOV M,A
434 01DB BE CMP M
435 01DC C4 1400 CNZ TVROM
436 01DF CD 0549 CALL TX
437 01E2 1D 9F DB HOME,ERS OR 80H
438 ;
439 01E4 3A 0C00 LDA EP2 ; JE O.S V EPROM ?
440 01E7 FE C3 CPI 0C3H
441 01E9 CC 0C03 CZ EP2+3 ; INICIALIZUJ O.S.
442 ;
443 ; ZOTAVENI PO CHYBE "INIC-6" !!
444 01EC 21 404D LXI H,MSTAK-20H
445 01EF 22 4079 SHLD SPSAV
446 ;
447 ; OHLASENI MONITORU
448 ;
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-8
449 01F2 CD 0549 INIC: CALL TX
450 01F5 0D 0A DB CR,LF
451 01F7 4D 4F 4E 49 DC 'MONITOR V5.0'
452 01FB 54 4F 52 20
453 01FF 56 35 2E B0
454 ;
455 ;------------------------------------
456 ; * VYHODNOCENI POVELU OPERATORA *
457 ;------------------------------------
458
459 0203 31 406D NEXT: LXI SP,MSTAK ; NASTAV STACK PRO MONITOR
460 0206 21 0203 LXI H,NEXT
461 0209 E5 PUSH H ; ADRESA NAVRATU
462 020A 21 0353 LXI H,RESTA
463 020D 22 4001 SHLD @R@+1
464 0210 21 01EC LXI H,INIC-6 ; ZPRACOVANI CHYBY
465 0213 22 40C2 SHLD ERRSW+1
466 0216 CD 0348 CALL INTER ; NASTAV PRERUSENI
467 0219 CD 0549 CALL TX
468 021C 0D 0A AE DB CR,LF,'.' OR 80H
469 021F CD 053A CALL CINCR ; POVEL !!!!!
470 ;
471 0222 6F XY: MOV L,A ; L-PRIKAZ
472 0223 E5 PUSH H ; SAVE
473 0224 D6 41 SUI 'A'
474 0226 FA 0203 JM NEXT ; ASCII < "A"
475 0229 21 023C LXI H,CTBL ; ZACATEK TABULKY PRIKAZU
476 022C 01 1A02 LXI B,(LCT SHL 8) OR 2
477 022F B8 INJM@: CMP B
478 0230 D2 0A3B JNC ERROR ; PRETECENI
479 0233 87 INJMP: ADD A ; 2*
480 0234 85 ADD L
481 0235 6F MOV L,A
482 0236 7E MOV A,M
483 0237 23 INX H
484 0238 66 MOV H,M
485 0239 6F MOV L,A
486 023A E3 XTHL ; NASTAV HL
487 023B C9 RET ; START
488 ;
489 ;----------------------------------
490 ; * TABULKA POVELU MONITORU *
491 ;----------------------------------
492
493 ;
494 023C 0270 CTBL: DW ASSIGN ; NASTAV I/O
495 023E 09F4 DW BCMD ; BASIC
496 0240 018B DW BEG ; CLEAR
497 0242 041F DW DISP ; ZOBRAZ PAMET
498 0244 0A5A DW EOF ; KONEC HEX
499 0246 046A DW FILL ; NAPLN PAMET
500 0248 02FA DW GOTO ; GOTO & BREAK
501 024A 0085 DW HNDIN ; INSTALUJ HANDLER
502 024C 0065 DW KOSI ; INIT O.S
503 024E 0A29 DW JUMP ; J
504 0250 0060 DW KOS ; K
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-9
505 0252 09D4 DW LOADB ; L
506 0254 0479 DW MOVE ; PRESUN PAMET
507 0256 0044 DW COPY ; N
508 0258 09AE DW CHMODE ; ZMENA MODE
509 025A 0A1E DW PCMD ; PEDIT
510 025C 02C6 DW QUERY ; NASTAVENI I/O
511 025E 0A6E DW READ@ ; R
512 0260 048A DW SUBS ; ZMENA OBSAHU
513 0262 0A16 DW TCMD ; TOOL
514 0264 0A4D DW UKAZ ; U ADR
515 0266 09C3 DW VERIFY ; V
516 0268 0AD2 DW WRITE ; W
517 026A 039B DW X ; OBSAHY REGISTRU
518 026C 09B5 DW Y ; NASTAV PRERUSENI
519 026E 09BC DW Z ; CASOVANI MGF
520 001A LCT EQU ($-CTBL)/2
521 IF HIGH ($-CTBL)
522 .PRINTX "CHYBA VE STRANCE S POVELY"
523 CHY EQU $
524 ENDIF
525 ;
526 ;
527 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
528 ; REALIZACE POVELU MONITORU
529 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
530 ;
531 ; NASTAV I/O MODUL
532 ;
533 0270 CD 0537 ASSIGN: CALL CIMIN ; JMENO
534 ; <A>..NAME (EXTERN CALLS)
535 0273 21 02AE LXI H,IOTAB ; TABULKA
536 0276 0E 04 MVI C,4 ; POCITADLO
537 0278 11 0006 LXI D,6 ; OFFSET
538 027B BE ASS0: CMP M
539 027C CA 0287 JZ ASS1 ; +
540 027F 19 DAD D ; ADRESA
541 0280 0D DCR C ; VSE?
542 0281 C2 027B JNZ ASS0 ; -
543 0284 C3 0A3B JMP ERROR
544 0287 CD 0013 ASS1: CALL EQUAL
545 028A CD 0562 CALL ECHO
546 028D 23 INX H
547 028E 46 MOV B,M
548 028F 0E 00 MVI C,0 ;IOBYT
549 0291 23 ASS2: INX H
550 0292 BE CMP M
551 0293 CA 02A2 JZ ASS3 ; +
552 0296 F5 PUSH PSW
553 0297 3E 55 MVI A,55H ; OFFSET
554 0299 81 ADD C
555 029A 4F MOV C,A
556 029B DA 0A3B JC ERROR ; NE #
557 029E F1 POP PSW
558 029F C3 0291 JMP ASS2 ; DALSI
559 02A2 79 ASS3: MOV A,C
560 02A3 A0 ANA B
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-10
561 02A4 4F MOV C,A ; ULOZ
562 02A5 78 MOV A,B
563 02A6 2F CMA ; NEGUJ
564 02A7 21 40E2 IONEW: LXI H,IOBYT
565 02AA A6 ANA M
566 02AB B1 ORA C
567 02AC 77 MOV M,A
568 02AD C9 RET
569 ;
570 ; I/O TABULKA
571 ;
572 02AE 43 03 IOTAB: DB 'C',03H ; CONSOLE
573 02B0 54 43 42 31 DB 'TCB1'
574 02B4 52 0C DB 'R',0CH ; READER
575 02B6 54 50 31 32 DB 'TP12'
576 02BA 50 30 DB 'P',30H ; PUNCHER
577 02BC 54 50 31 32 DB 'TP12'
578 02C0 4C C0 DB 'L',0C0H ; LIST
579 02C2 54 43 4C 31 DB 'TCL1'
580 ;
581 ; VYPIS NASTAVENI I/O
582 ;
583 02C6 2A 40BF QUERY: LHLD MEMTOP
584 02C9 CD 0508 CALL DNADR
585 02CC 21 02AE LXI H,IOTAB ; TABULKA
586 02CF 3A 40E2 LDA IOBYT ; CTI
587 02D2 47 MOV B,A ; ULOZ
588 02D3 CD 02D6 CALL $+3
589 02D6 CD 02D9 CALL $+3
590 ; ZOBRAZ NASTAVENI I/O
591 02D9 CD 09CF CALL SPACE
592 02DC 7E MOV A,M ; CTI LOGICKE JMENO
593 02DD CD 0568 CALL COA
594 02E0 CD 0013 CALL EQUAL
595 02E3 E5 PUSH H ; ULOZ ADR.
596 02E4 23 INX H
597 02E5 23 INX H ; ADR.
598 02E6 78 MOV A,B
599 02E7 E6 03 ANI 3
600 02E9 5F MOV E,A
601 02EA 16 00 MVI D,0
602 02EC 19 DAD D ; FYZICKA ADR.
603 02ED 7E MOV A,M
604 02EE CD 0568 CALL COA
605 02F1 78 MOV A,B
606 02F2 0F RRC
607 02F3 0F RRC ; ROTUJ IOBYT
608 02F4 47 MOV B,A
609 02F5 E1 POP H
610 02F6 1E 06 MVI E,6 ; OFFSET
611 02F8 19 DAD D
612 02F9 C9 RET ; HL=DALSI ADR.
613 ;
614 ; GOTO + VYHODNOCENI PRERUSENI + PROHLIZENI REG.
615 ;***********************************************
616 ;
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-11
617 ;
618 ; "GO TO" PRIKAZ
619 ;
620 02FA CD 0013 GOTO: CALL EQUAL
621 02FD CD 053A CALL CINCR ; PRIKAZ
622 0300 DA 0331 JC GO@ ; IF CR THEN GOTO
623 0303 CA 0313 JZ GO@BR
624 0306 CD 04E1 CALL EXPRM ; START ADR
625 0309 E1 POP H
626 030A 22 4077 SHLD PCSAV
627 030D 78 MOV A,B ; JEN START ADR ?
628 030E FE 0D CPI CR
629 0310 CA 0331 JZ GO@
630 0313 CD 0500 GO@BR: CALL RADR ; CTI BREAK ADR
631 0316 22 407B SHLD BRAD
632 0319 7E MOV A,M ; ULOZ INSTR. KOD
633 031A 32 407D STA INSTR
634 031D 36 CF MVI M,RSTN
635 031F 3E 0D MVI A,CR
636 0321 B8 CMP B ; JEN 1-BREAK ?
637 0322 CA 0331 JZ GO@
638 ; O.S. BREAK
639 0325 CD 0500 CALL RADR
640 0328 22 407E SHLD BRAD2
641 032B 7E MOV A,M
642 032C 32 4080 STA INST2
643 032F 36 CF MVI M,RSTN
644 ; START
645 0331 CD 04D4 GO@: CALL CRLF
646 0334 F3 DI
647 0335 31 406F LXI SP,ACSAV
648 0338 F1 POP PSW
649 0339 C1 POP B
650 033A D1 POP D
651 033B 2A 4079 LHLD SPSAV ; ZASOBNIK
652 033E 2B DCX H
653 033F 2B DCX H
654 0340 F9 SPHL
655 0341 2A 4077 LHLD PCSAV ; PC
656 0344 E3 XTHL
657 0345 2A 4075 LHLD HLSAV
658 ;
659 ; POVOLENI A NASTAVENI PRERUSENI
660 ;
661 0348 F5 INTER: PUSH PSW
662 0349 F3 DI ; ZAKAZ PRI MODIFIKACI
663 034A 3A 40EE LDA PRER ; RIDICI SLOVO
664 034D 32 3000 STA 3000H ; NASTAV
665 0350 F1 POP PSW
666 0351 FB EI ; A TAKY POVOL
667 0352 C9 RET ; POKRACUJ
668 ;
669 ;*********************************************;
670 ; RUN & BREAK MODUL:
671 ;
672 0353 F3 RESTA: DI
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-12
673 0354 22 4075 SHLD HLSAV
674 0357 F5 PUSH PSW
675 0358 21 0004 LXI H,4 ; OFFSET
676 035B 39 DAD SP
677 035C 22 4079 SHLD SPSAV
678 035F F1 POP PSW
679 0360 E1 POP H ; PC
680 0361 31 4075 LXI SP,HLSAV
681 0364 D5 PUSH D
682 0365 C5 PUSH B
683 0366 F5 PUSH PSW ; BYL BREAK ?
684 0367 EB XCHG
685 0368 1B DCX D ; PC-1
686 0369 21 407B LXI H,BRAD ; BREAK ?
687 036C 0E 02 MVI C,2 ; DVA BREAKY
688 036E C5 RST10: PUSH B
689 036F 4E MOV C,M
690 0370 36 00 MVI M,0
691 0372 23 INX H
692 0373 46 MOV B,M
693 0374 36 00 MVI M,0
694 0376 23 INX H
695 0377 79 MOV A,C
696 0378 B0 ORA B ; 0 ?
697 0379 CA 038A JZ RST20 ; NEBYL BREAK
698 037C 7E MOV A,M ; OBNOV INSTR.
699 037D 02 STAX B
700 037E 23 INX H
701 037F E5 PUSH H
702 0380 60 MOV H,B
703 0381 69 MOV L,C ; BYL BREAK ?
704 0382 CD 04FA CALL COMPR
705 0385 E1 POP H
706 0386 C2 038A JNZ RST20
707 0389 1B DCX D ; PC-1
708 038A C1 RST20: POP B
709 038B 0D DCR C
710 038C C2 036E JNZ RST10
711 038F EB XCHG
712 0390 23 INX H ; OBNOV PC
713 0391 22 4077 SHLD PCSAV
714 0394 37 STC
715 0395 CD 039E CALL X+3 ; ZOBRAZ VSECHNY REG.
716 0398 C3 0203 JMP NEXT
717 ;
718 ;*************************************
719 ;
720 ; ZOBRAZ & ZMEN OBSAHY REGISTRU
721 ;
722 039B CD 053A X: CALL CINCR ; PRIKAZ
723 039E 21 040A LXI H,RGNAM ; TABULKA JMEN
724 03A1 16 40 MVI D,HIGH ACSAV ;DATA
725 03A3 D2 03B1 JNC X1 ; ZMENA
726 03A6 CD 04D4 CALL CRLF
727 03A9 CD 03E7 X0: CALL XDISP
728 03AC C8 RZ ;END
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-13
729 03AD 23 INX H
730 03AE C3 03A9 JMP X0
731 03B1 CA 03C6 X1: JZ X2 ; ZADNA ZMENA
732 03B4 5F MOV E,A ; ULOZ JMENO
733 03B5 01 DB 1 ; LXI B,##
734 03B6 23 X10: INX H
735 03B7 23 INX H
736 03B8 7E MOV A,M ; CTI JMENO REG.
737 03B9 CA 0A3B JZ ERROR
738 03BC BB CMP E
739 03BD C2 03B6 JNZ X10 ; DALSI
740 03C0 CD 03F1 CALL XDIS1
741 03C3 C3 03C9 JMP X2+3
742 ;
743 03C6 CD 03EA X2: CALL XDISP+3
744 03C9 C8 RZ
745 03CA CD 0537 CALL CIMIN ; - PRIKAZ
746 03CD D8 RC ; CR - END
747 03CE 5E MOV E,M ; DOLNI ADR.
748 03CF 23 INX H
749 03D0 CA 03C6 JZ X2
750 03D3 EB XCHG
751 03D4 D5 PUSH D
752 03D5 CD 0053 CALL RBYT ; CTI NOVY BYTE A ZMEN
753 03D8 05 DCR B
754 03D9 CA 03DF JZ $+6
755 03DC 72 MOV M,D ; DOLNI BYTE
756
757 03DD 2B DCX H
758 03DE 73 MOV M,E
759 03DF D1 POP D
760 03E0 EB XCHG
761 03E1 FE 0D CPI CR ; POSLEDNI?
762 03E3 C8 RZ ; +
763 03E4 C3 03C6 JMP X2 ; DALSI
764 ;
765 03E7 CD 09CF XDISP: CALL SPACE
766 03EA 7E MOV A,M
767 03EB E6 7F ANI 7FH
768 03ED C8 RZ
769 03EE CD 0568 CALL COA
770 03F1 CD 0013 XDIS1: CALL EQUAL ; JMENO=
771 03F4 7E MOV A,M
772 03F5 07 RLC
773 03F6 3E 01 MVI A,1
774 03F8 CE 00 ACI 0 ; SPOCTI DELKU
775 03FA 47 MOV B,A ; ULOZ
776 03FB 23 INX H
777 03FC 5E MOV E,M ; SPODNI ADR.
778 03FD 1A LDAX D ; HORNI BYTE
779 03FE CD 05E8 CALL DBYT
780 0401 78 MOV A,B
781 0402 3D DCR A
782 0403 1B DCX D
783 0404 1A LDAX D ; CTI DRUHY BYTE
784 0405 C4 05E8 CNZ DBYT ; PRO 2.BYTE REG. ZOBRAZ
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-14
785 0408 B3 ORA E
786 0409 C9 RET
787 ;
788 ; X: TABULKA PRIKAZU
789 040A 41 70 RGNAM: DB 'A',LOW ACSAV+1
790 040C 46 6F DB 'F',LOW ACSAV
791 040E 42 72 DB 'B',LOW BCSAV+1
792 0410 43 71 DB 'C',LOW BCSAV
793 0412 44 74 DB 'D',LOW DESAV+1
794 0414 45 73 DB 'E',LOW DESAV
795 0416 48 76 DB 'H',LOW HLSAV+1
796 0418 4C 75 DB 'L',LOW HLSAV
797 041A D0 78 DB 'P' OR 80H,LOW PCSAV+1
798 041C D3 7A DB 'S' OR 80H,LOW SPSAV+1
799 041E 00 DB 0
800 ;
801 ; PRACE S PAMETI: PROHLIZENI, PLNENI, PRESUV A ZAMENA
802 ;****************************************************
803 ;
804 ; ZOBRAZENI OBSAHU PAMETI
805 ;
806 041F CD 04A8 DISP: CALL EXPR ; OD - DO
807 0422 D1 POP D
808 0423 E1 POP H
809 0424 E5 DI0: PUSH H ; PRVNI ADR.
810 0425 CD 0508 CALL DNADR ; NOVA ADR.
811 0428 7E DI1: MOV A,M
812 0429 CD 09CC CALL DBYTE
813 042C CD 04F5 CALL HILO
814 042F DA 0438 JC DIA ; ZOBRAZ ASCII
815 0432 7D MOV A,L
816 0433 E6 07 ANI 7
817 0435 C2 0428 JNZ DI1 ; DALSI BYTE
818 0438 E1 DIA: POP H
819 0439 CD 09CF CALL SPACE
820 043C 7E DI2: MOV A,M
821 043D CD 0894 CALL BIG
822 0440 FE 20 CPI ' '
823 0442 DA 044A JC DI4
824 0445 FE 7B CPI 7BH
825 0447 DA 044C JC DI5
826 044A 3E 2E DI4: MVI A,'.'
827 044C CD 0568 DI5: CALL COA
828 044F CD 04F5 CALL HILO
829 0452 D8 RC
830 0453 7D MOV A,L
831 0454 E6 07 ANI 7
832 0456 C2 043C JNZ DI2 ; DALSI ASCII
833 0459 CD 058B CALL CSTS
834 045C CA 0424 JZ DI0 ; DALSI RADEK
835 045F CD 0537 CALL CIMIN ; ' '..PRERUSENI
836 0462 D8 RC ; CR
837 0463 CD 053A DI3: CALL CINCR
838 0466 D8 RC ; CR
839 0467 C3 0424 JMP DI0
840 ;*************************************
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-15
841 ;
842 ; NAPLNENI PAMETI KONSTANTOU
843 ;
844 046A 0C FILL: INR C
845 046B CD 04A8 CALL EXPR ; OD-DO-CIM
846 046E C1 POP B
847 046F D1 POP D
848 0470 E1 POP H
849 0471 71 FI1: MOV M,C
850 0472 CD 04F5 CALL HILO
851 0475 D2 0471 JNC FI1
852 0478 C9 RET
853 ;*************************************
854 ;
855 ; PRESUN BLOKU PAMETI
856 ;
857 0479 0C MOVE: INR C
858 047A CD 04A8 CALL EXPR
859 047D C1 POP B
860 047E D1 POP D
861 047F E1 POP H
862 0480 7E MO1: MOV A,M
863 0481 02 STAX B
864 0482 03 INX B
865 0483 CD 04F5 CALL HILO
866 0486 D2 0480 JNC MO1
867 0489 C9 RET
868 ;*************************************
869 ;
870 ; ZMENA OBSAHU PAMETI
871 ;
872 048A CD 0500 SUBS: CALL RADR ; ADR.
873 048D 7E SU1: MOV A,M
874 048E CD 05E8 CALL DBYT
875 0491 CD 0537 CALL CIMIN
876 0494 D8 RC ; CR
877 0495 CA 049C JZ SU2
878 0498 CD 0053 CALL RBYT ; ZMENA
879 049B C8 RZ ; KONEC
880 049C 23 SU2: INX H ; DALSI BYTE
881 049D FE 2C CPI ',' ; PRO "," ZOBRAZ ADR.
882 049F CC 0508 CZ DNADR
883 04A2 C3 048D JMP SU1
884 ;
885 ;********************************************
886 ; PODPROGRAMY MONITORU A SLUZBY
887 ;********************************************
888 ;
889 ; SKLADANI ADRES (VSTUP PARAMETRU) DO ZASOBNIKU,
890 ; POCET V C-REG.
891 ;
892 04A5 DA 0A3B EXPR0: JC ERROR
893 04A8 CD 0013 EXPR: CALL EQUAL ; TISK =
894 04AB 21 0000 LXI H,0
895 04AE CD 0562 EX0: CALL ECHO
896 04B1 47 EX1: MOV B,A
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-16
897 04B2 FE 27 CPI 27H ; "'"
898 04B4 CA 04E9 JZ EX4
899 04B7 CD 0523 CALL ASHEX
900 04BA DA 04C6 EX2: JC EX3 ; HEX CIFRA ?
901 04BD 29 DAD H ; POSUV "HL" O 4 BITY VLEVO
902 04BE 29 DAD H
903 04BF 29 DAD H
904 04C0 29 DAD H
905 04C1 B5 ORA L
906 04C2 6F MOV L,A
907 04C3 C3 04AE JMP EX0 ; DALSI ZNAK
908
909 04C6 78 EX3: MOV A,B
910 04C7 CD 053D CALL ANAL
911 04CA C2 04DA JNZ EX5 ; NENI HEX CIFRA
912 04CD E3 XTHL
913 04CE E5 PUSH H
914 04CF 0D DCR C ; CARKA, MEZERA
915 04D0 C2 04A5 JNZ EXPR0 ; DALSI ADRESY
916 04D3 D0 RNC
917 ;
918 04D4 CD 0549 CRLF: CALL TX
919 04D7 0D 8A DB CR,LF OR 80H
920 04D9 C9 RET
921 ;
922 04DA CD 0549 EX5: CALL TX
923 04DD 88 DB 88H ; BACK SPACE
924 04DE C3 04AE JMP EX0 ; ZRUS CHYBU
925 ;
926 04E1 0E 01 EXPRM: MVI C,1
927 04E3 21 0000 LXI H,0
928 04E6 C3 04B1 JMP EX1
929 ;
930 04E9 CD 053A EX4: CALL CINCR ; PRIKAZ
931 04EC 47 MOV B,A ; ULOZ
932 04ED CA 04C6 JZ EX3
933 04F0 65 MOV H,L
934 04F1 6F MOV L,A
935 04F2 C3 04E9 JMP EX4
936 ;**************************************
937
938
939 ; INKREMENTUJE "HL" ,KONTROLUJE "HL"=0 NEBO
940 ; "HL">"DE"...CARRY=1
941
942 04F5 23 HILO: INX H
943 04F6 7C MOV A,H
944 04F7 B5 ORA L
945 04F8 37 STC
946 04F9 C8 RZ ; NAVRAT PO "HL"=0000
947 04FA 7A COMPR: MOV A,D
948 04FB BC CMP H
949 04FC C0 RNZ
950 04FD 7B MOV A,E
951 04FE BD CMP L
952 04FF C9 RET
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-17
953
954 ; CTI ADRESU
955
956 0500 0E 01 RADR: MVI C,1
957 0502 CD 04A8 CALL EXPR
958 0505 E1 POP H
959 0506 7D MOV A,L
960 0507 C9 RET
961
962 ; ZOBRAZ NOVOU ADRESU
963
964 0508 CD 04D4 DNADR: CALL CRLF
965 050B CD 05E3 DADR: CALL DADR0
966 050E C3 09CF JMP SPACE
967 ;
968 ; PREVOD HEXADECIMALNI CIFRY NA ASCII V "C" REG
969
970 0511 E6 0F HXANIB: ANI 0FH
971 ;
972 0513 C6 90 HXASC: ADI 90H
973 0515 27 DAA
974 0516 CE 40 ACI 40H
975 0518 27 DAA
976 0519 4F MOV C,A
977 051A C9 RET
978
979 ; ZJISTI KONEC RAM <A>,<B>..HIGH
980
981 051B E5 MEMCK: PUSH H
982 051C 2A 40BF LHLD MEMTOP
983 051F 7D MOV A,L
984 0520 44 MOV B,H
985 0521 E1 POP H
986 0522 C9 RET
987
988
989 ; PREVOD ZNAKU ASCII NA HEXADEC.
990
991 0523 CD 0894 ASHEX: CALL BIG ; VELKA PISMENA
992 0526 D6 30 SUI '0'
993 0528 D8 RC ; FILTR < (00-2F)
994 0529 FE 17 CPI 17H ; '0'..'F'..HEX
995 052B 3F CMC
996 052C D8 RC ; CY=1..CHYBA
997 052D FE 0A CPI 10
998 052F 3F CMC
999 0530 D0 RNC ; 0-9 .. KOD
1000 0531 FE 11 CPI 11H
1001 0533 D8 RC ; CHYBA
1002 0534 D6 07 SUI 7
1003 0536 C9 RET ; A-F .. KOD
1004
1005 0537 CD 000B CIMIN: CALL MINUS ; -
1006 ;
1007 053A CD 0562 CINCR: CALL ECHO
1008 053D FE 2C ANAL: CPI ','
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-18
1009 053F C8 ANAL0: RZ
1010 0540 FE 20 CPI ' '
1011 0542 C8 ANAL2: RZ
1012 0543 FE 0D CPI CR
1013 0545 37 STC
1014 0546 C8 RZ
1015 0547 B7 ORA A
1016 0548 C9 RET ; PO CR CARRY=1
1017 ;
1018 ; TEXT PRIMO ZA VOLANIM
1019 ;
1020 0549 E3 TX: XTHL
1021 054A 7E MOV A,M
1022 054B E6 7F ANI 7FH
1023 054D CD 0568 CALL COA
1024 0550 7E MOV A,M
1025 0551 07 RLC
1026 0552 23 INX H
1027 0553 D2 054A JNC TX+1
1028 0556 E3 XTHL
1029 0557 C9 RET
1030
1031 ; VYPIS TEXTU - HL ADRESA, D DELKA
1032
1033 0558 7E TEXT: MOV A,M
1034 0559 23 INX H
1035 055A CD 0568 CALL COA
1036 055D 15 DCR D
1037 055E C2 0558 JNZ TEXT
1038 0561 C9 RET
1039 ;
1040 ; ECHO
1041 ;
1042 0562 CD 0596 ECHO: CALL CI
1043 0565 CD 0894 CALL BIG
1044 0568 C5 COA: PUSH B
1045 0569 4F MOV C,A
1046 056A CD 05F4 CALL CO
1047 056D C1 POP B
1048 056E C9 RET
1049
1050 ; IODEF:... DEFINICE UZIVATELSKYCH I/0 RUTIN
1051
1052 056F 79 IODEF: MOV A,C ; CISLO
1053 0570 FE 15 CPI IONUM
1054 0572 F0 RP
1055 0573 C5 PUSH B
1056 0574 E5 PUSH H
1057 0575 81 ADD C
1058 0576 81 ADD C
1059 0577 4F MOV C,A
1060 0578 06 00 MVI B,0 ; OFFSET
1061 057A 21 40A6 LXI H,CILOC ; SPOCTI ADR.
1062 057D 09 DAD B
1063 057E 36 C3 MVI M,0C3H
1064 0580 23 INX H
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-19
1065 0581 4E MOV C,M
1066 0582 73 MOV M,E
1067 0583 23 INX H
1068 0584 46 MOV B,M
1069 0585 72 MOV M,D ; ADR.
1070 0586 50 MOV D,B ; DE..PUVODNI OBSAH
1071 0587 59 MOV E,C
1072 0588 E1 POP H
1073 0589 C1 POP B
1074 058A C9 RET
1075 ;
1076 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1077 ; I/O PERIFERIE
1078 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1079 ;
1080 ; VOLBA PERIFERII PODLE IOBYTE
1081 ;
1082 058B 3A 40E2 CSTS: LDA IOBYT ; USER1, USER2
1083 058E 1F RAR
1084 058F 1F RAR
1085 0590 DA 40BB JC CSLOC ; USER CSTS
1086 0593 C3 40CA JMP CSTS@ ; SYSTEM.CSTS
1087 ;
1088 0596 CD 05A1 CI: CALL DEV
1089 0599 0841 0841 CITB: DW CI@,CI@,RI,CILOC
1090 059D 05AA 40A6
1091
1092 IF HIGH ($-CITB)
1093 .PRINTX "CHYBA V DEFINICI I/O TABULKY"
1094 ERRIO EQU $
1095 ENDIF
1096 ;
1097 05A1 3A 40E2 DEV: LDA IOBYT
1098 05A4 E6 03 DEV0: ANI 3
1099 05A6 E3 XTHL
1100 05A7 C3 0233 JMP INJMP
1101 ;
1102 05AA 3A 40E2 RI: LDA IOBYT
1103 05AD 0F RRC
1104 05AE 0F RRC
1105 05AF CD 05A4 CALL DEV0
1106 ;
1107 05B2 0841 40D3 RITB: DW CI@,RI@,R1LOC,R2LOC
1108 05B6 40AC 40AF
1109 ;
1110 IF HIGH ($-RITB)
1111 .PRINTX "CHYBA V DEFINICI I/O TABULKY"
1112 ERRIO EQU $
1113 ENDIF
1114 ;
1115 05BA 0F HBT: RRC
1116 05BB 0F RRC
1117 05BC 0F RRC
1118 05BD 0F RRC
1119 05BE CD 0511 LBT: CALL HXANIB
1120 ;
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-20
1121 05C1 3A 40E2 PO: LDA IOBYT
1122 05C4 0F RRC
1123 05C5 0F RRC
1124 05C6 0F RRC
1125 05C7 0F RRC
1126 05C8 CD 05A4 CALL DEV0
1127 ;
1128 05CB 05F4 40D6 POTB: DW CO,PO@,P1LOC,P2LOC
1129 05CF 40B2 40B5
1130 ;
1131 IF HIGH ($-POTB)
1132 .PRINTX "CHYBA V DEFINICI I/O TABULKY"
1133 ERRIO EQU $
1134 ENDIF
1135 ;
1136 05D3 3A 40E2 LO: LDA IOBYT
1137 05D6 07 RLC
1138 05D7 07 RLC
1139 05D8 CD 05A4 CALL DEV0
1140 ;
1141 05DB 060A 05F4 LOTB: DW COLO,CO,LO@,LILOC
1142 05DF 40CD 40B8
1143
1144 IF HIGH ($-LOTB)
1145 .PRINTX "CHYBA V DEFINICI I/O TABULKY"
1146 ERRIO EQU $
1147 ENDIF
1148 ;
1149 ; ZOBRAZ ADRESU Z "HL"
1150
1151 05E3 7C DADR0: MOV A,H
1152 05E4 CD 05E8 CALL DBYT
1153 05E7 7D MOV A,L
1154
1155 ; ZOBRAZ BYTE <A>
1156
1157 05E8 F5 DBYT: PUSH PSW
1158 05E9 0F RRC
1159 05EA 0F RRC
1160 05EB 0F RRC
1161 05EC 0F RRC
1162 05ED CD 05F1 CALL LBYTE
1163 05F0 F1 POP PSW
1164 05F1 DNIBL:
1165 05F1 CD 0511 LBYTE: CALL HXANIB
1166 ;
1167 05F4 CD 05A1 CO: CALL DEV
1168 ;
1169 05F7 060A 060D COTB: DW COLO,COOUT,LO,COLOC
1170 05FB 05D3 40A9
1171 ;
1172 IF HIGH ($-COTB)
1173 .PRINTX "CHYBA V DEFINICI I/O TABULKY"
1174 ERRIO EQU $
1175 ENDIF
1176 ;****************************************************
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-21
1177 ; OBSLUHA T.V. A NEBO TERMINALU
1178 ;****************************************************
1179 ;
1180 ; CONSOLE OUTPUT
1181 ; <C>...ZAPISE NA OBRAZOVKU
1182 ;
1183 ; SM 7202 .. SERIOVY VYSTUP
1184 ;
1185 05FF DB 11 SEROUT: IN USTAT
1186 0601 E6 40 ANI 40H
1187 0603 CA 05FF JZ SEROUT
1188 0606 79 MOV A,C
1189 0607 D3 12 OUT UDATA
1190 0609 C9 RET
1191 ;
1192 ; ZOBRAZ A TISKNI
1193 ;
1194 060A CD 05D3 COLO: CALL LO
1195 ;
1196 ;********************************************
1197 ; OBSLUHA T.V. A SIMULACE DISPLEJE <C>..ZNAK
1198 ;********************************************
1199 ;
1200 060D 3A 40E3 COOUT: LDA MODE
1201 0610 0F RRC
1202 0611 DC 40CD CC LO@ ; TISK
1203 0614 C3 40C7 JMP CO@ ; TERMINAL
1204 ;
1205 ;--------------------------------
1206 ;
1207 0617 79 CO@@: MOV A,C
1208 0618 FE 7F CPI 7FH ; DEL
1209 061A C8 RZ
1210 061B FE 09 CPI HT
1211 061D CA 082F JZ TAB@
1212 0620 D5 PUSH D
1213 0621 E5 PUSH H
1214 0622 C5 PUSH B
1215 0623 2A 4081 LHLD CADR ; VYMAZ KURSOR
1216 0626 FE 20 CPI ' ' ; PRO ' '...'Z' PIS
1217 0628 DA 065A JC CONTROL ; RIZENI T.V.
1218 ;
1219 ; ZAPIS ZNAKU DO VIDEO RAM
1220 ;
1221 062B 3A 40F9 CO@WR: LDA XFLG ; ADRESACE KURSORU?
1222 062E B7 ORA A
1223 062F C2 06E1 JNZ ADRCUR ; +
1224 0632 79 MOV A,C ; VYTVOR KOD PRO AND-1
1225 0633 CD 0894 CALL BIG
1226 0636 E6 3F ANI 3FH
1227 0638 77 MOV M,A ; ZAPIS ZNAK !
1228 0639 3A 40E3 LDA MODE
1229 063C E6 C0 ANI 0C0H
1230 063E C4 071B CNZ ATTR
1231 ;
1232 0641 CD 0723 COEXAT: CALL CONXT ; VYPOCTI DALSI ADRESU
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-22
1233 ; ZAPIS NOVY KURZOR
1234 0644 C1 COEXX: POP B
1235 0645 7E COEX0: MOV A,M
1236 0646 32 40F8 STA CHAR
1237 0649 22 4081 SHLD CADR
1238 064C 3A 40E3 LDA MODE ; KURSOR (Y/N)
1239 064F E6 20 ANI 20H
1240 0651 C2 0656 JNZ COEX1
1241 0654 36 A0 MVI M,CURSOR
1242 0656 E1 COEX1: POP H
1243 0657 D1 POP D
1244 0658 79 MOV A,C
1245 0659 C9 RET ; KONEC CONSOLE OUTPUT
1246
1247 ;***********************************************
1248 ;
1249 ; ZPRACOVANI RIDICICH ZNAKU ( SIMULACE SM7202 )
1250 ;
1251 065A CONTROL:
1252 065A 21 069B LXI H,COEX ; ADRESA NAVRATU
1253 065D E5 PUSH H ; OBNOVENI ZNAKU MISTO
1254 065E CD 06C5 CALL OBNOV ; KURZORU
1255 0661 79 MOV A,C
1256 0662 FE 0D CPI CR
1257 0664 CA 07BF JZ CR@
1258 0667 FE 0A CPI LF
1259 0669 CA 0733 JZ LF@
1260 066C FE 1E CPI EOL
1261 066E CA 0796 JZ EOL@
1262 0671 FE 08 CPI BACK
1263 0673 CA 07A6 JZ BACK@
1264 0676 FE 18 CPI RIGHT
1265 0678 CA 0723 JZ CONXT
1266 067B FE 1D CPI HOME
1267 067D CA 07B9 JZ HOME@
1268 0680 FE 1F CPI ERS
1269 0682 CA 0761 JZ ERS@
1270 0685 FE 1A CPI UP
1271 0687 CA 07C6 JZ UP@
1272 068A FE 0B CPI VT
1273 068C CA 0785 JZ VT@
1274 068F FE 1C CPI WNDCD
1275 0691 CA 0705 JZ WNDCH
1276 0694 FE 1B CPI ESC
1277 0696 C0 RNZ
1278 0697 32 40F9 ESC@: STA XFLG
1279 069A C9 RET
1280 ;
1281 ; VYPOCTI NOVOU POZICI
1282 ;
1283 069B CD 06CC COEX: CALL COADR
1284 069E C3 0644 JMP COEXX ; ZAPIS KURZOR
1285 ;
1286 ;-------------------------------------------------
1287 ; PODPROGRAMY
1288 ;--------------------------------------------------
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-23
1289 ;
1290 ; NASTAV MODE A I/O FLAGY
1291 ;
1292 06A1 47 EXFLG: MOV B,A
1293 06A2 0C INR C ; SPEC. FUNKCE
1294 06A3 CA 007E JZ BINAR
1295 06A6 0D DCR C
1296 06A7 79 MOV A,C
1297 06A8 FE 15 CPI EXSER ; PRETECENI?
1298 06AA 78 MOV A,B
1299 06AB D0 RNC
1300 06AC E5 PUSH H ; <A> .. PRIKAZ
1301 ; <C> .. 0-N SLUZBA
1302 06AD 06 00 MVI B,0 ; 0-MODE, 1-@IF1..4-@OF2
1303 06AF 21 40E3 LXI H,MODE ; C=O
1304 06B2 09 DAD B
1305 06B3 46 MOV B,M ; <B>..PUVODNI NASTAVENI
1306 06B4 77 MOV M,A
1307 06B5 E1 POP H
1308 06B6 79 MOV A,C
1309 06B7 FE 05 CPI 5
1310 06B9 D8 RC ; C=5,6 .. OBNOV KORZOR
1311 06BA FE 07 CPI 7
1312 06BC D0 RNC
1313 06BD D5 EXFLG1: PUSH D
1314 06BE E5 PUSH H
1315 06BF CD 06C5 CALL OBNOV
1316 06C2 C3 0645 JMP COEX0 ; OBNOV KURZOR
1317 ;
1318 ; OBNOVA KURSORU
1319 ;
1320 06C5 2A 4081 OBNOV: LHLD CADR
1321 06C8 3A 40F8 LDA CHAR
1322 06CB 77 MOV M,A
1323 ;
1324 ; VYPOCTI NOVOU ADRESU
1325 ;
1326 06CC 2A 40E8 COADR: LHLD LINE ; SPOCTI ADR.<HL>
1327 06CF E5 PUSH H
1328 06D0 26 00 MVI H,0
1329 06D2 29 DAD H
1330 06D3 29 DAD H
1331 06D4 29 DAD H
1332 06D5 29 DAD H
1333 06D6 29 DAD H
1334 06D7 29 DAD H ; 64*
1335 06D8 11 3800 LXI D,TVBEG ; TV-RAM
1336 06DB 19 DAD D ; ZACATEK RADKU
1337 06DC D1 POP D
1338 06DD 7D MOV A,L ; D-SLOUPEC
1339 06DE B2 ORA D ; E-RADEK
1340 06DF 6F MOV L,A ; HL...ADR
1341 06E0 C9 RET
1342 ;
1343 ; ADRESACE KURZORU: ESC, Y, X
1344 ;
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-24
1345 06E1 3D ADRCUR: DCR A
1346 06E2 79 MOV A,C ; ZNAK
1347 06E3 CA 06F3 JZ ADRCX ; "X"
1348 06E6 D6 20 SUI ' ' ; "Y"
1349 06E8 FE 18 CPI HEIGHT
1350 06EA D0 RNC
1351 06EB 32 40E8 STA LINE
1352 06EE 3E 01 MVI A,1
1353 06F0 C3 06FC JMP ESC@0
1354 06F3 D6 20 ADRCX: SUI ' '
1355 06F5 FE 28 CPI WIDTH
1356 06F7 D0 RNC
1357 06F8 32 40E9 STA COLUM
1358 06FB AF XRA A ; ZRUS PRIZNAK
1359 06FC 32 40F9 ESC@0: STA XFLG
1360 06FF CD 06C5 CALL OBNOV
1361 0702 C3 0644 JMP COEXX
1362 ;
1363 ; ZMENA OKNA
1364 ;
1365 0705 21 40F2 WNDCH: LXI H,WNDP ; ADRESA NOVYCH PARAMETRU
1366 0708 11 40E8 WND@: LXI D,LINE ; PUVODNI NASTAVENI
1367 070B 06 06 MVI B,6 ; DELKA
1368 070D 1A WND@0: LDAX D
1369 070E 4E MOV C,M ; ZAMENA
1370 070F 77 MOV M,A
1371 0710 79 MOV A,C
1372 0711 12 STAX D
1373 0712 13 INX D
1374 0713 23 INX H
1375 0714 05 DCR B
1376 0715 C2 070D JNZ WND@0
1377 0718 C3 06BD JMP EXFLG1 ; OBNOV KURZOR
1378 ;
1379 ; ZPRACUJ ATTRIBUT
1380 ;
1381 071B B6 ATTR: ORA M
1382 071C 77 MOV M,A
1383 071D D6 C0 SUI 0C0H
1384 071F D4 0723 CNC CONXT
1385 0722 C9 RET
1386 ;
1387 ; VYPOCTI DALSI ADRESU
1388 ;
1389 0723 23 CONXT: INX H ; JE TO
1390 0724 CD 081F CALL CMAX ; POSLEDNI ZNAK
1391 0727 47 MOV B,A
1392 0728 7D MOV A,L ; KONEC RADKU ?
1393 0729 E6 3F ANI 3FH
1394 072B 32 40E9 STA COLUM
1395 072E B8 CMP B ; KONEC RADKU
1396 072F D8 RC ; NE
1397 0730 CD 07BF CONX1: CALL CR@ ; NASTAV SLOUPEC
1398 ;
1399 ; NOVY RADEK
1400 ;
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-25
1401 0733 CD 0785 LF@: CALL VT@
1402 0736 D0 RNC
1403 ;
1404 ; ROLUJ OBRAZOVKU
1405 ;
1406 0737 2A 40EA ROLL@: LHLD RESL
1407 073A 79 MOV A,C
1408 073B 95 SUB L
1409 073C 3D DCR A
1410 073D 4F MOV C,A ; POCET RADKU
1411 073E CD 081F CALL CMAX
1412 0741 94 SUB H
1413 0742 47 MOV B,A ; POCET ZNAKU
1414 0743 CD 06CF CALL COADR+3 ; PRVNI RADEK
1415 0746 EB ROLL: XCHG
1416 0747 21 0040 LXI H,LINOF ; OFFSET
1417 074A 19 DAD D
1418 074B C5 PUSH B
1419 074C E5 PUSH H ; PRO DALSI RADEK
1420 074D 7E ROLL1: MOV A,M
1421 074E 12 STAX D
1422 074F 13 INX D ; +
1423 0750 23 INX H
1424 0751 05 DCR B
1425 0752 C2 074D JNZ ROLL1 ; VSECHNY RADKY
1426 0755 E1 POP H
1427 0756 C1 POP B
1428 0757 0D DCR C ; KONEC ?
1429 0758 C2 0746 JNZ ROLL
1430 075B CD 0796 ROLL2: CALL EOL@
1431 075E C3 06CC JMP COADR
1432 ;
1433 ; VYMAZ ZBYTEK OBRAZOVKY
1434 ;
1435 0761 CD 0796 ERS@: CALL EOL@
1436 0764 2A 40E8 LHLD LINE
1437 0767 3A 40EB LDA RESC
1438 076A 67 MOV H,A ; 1.ZNAK NA RADKU
1439 076B CD 0827 CALL LMAX ; POCET RADKU
1440 076E 95 SUB L
1441 076F 3D DCR A
1442 0770 4F MOV C,A ; CITAC
1443 0771 CA 06CC JZ COADR ; KONEC
1444 0774 CD 06CF CALL COADR+3
1445 0777 11 0040 ERS@1: LXI D,LINOF
1446 077A 19 DAD D
1447 077B E5 PUSH H
1448 077C CD 0796 CALL EOL@
1449 077F E1 POP H
1450 0780 0D DCR C
1451 0781 C2 0777 JNZ ERS@1
1452 0784 C9 RET
1453 ;
1454 ; VERTIKALNI TAB.
1455 ;
1456 0785 CD 0827 VT@: CALL LMAX ; POSLEDNI RADEK ?
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-26
1457 0788 4F MOV C,A
1458 0789 3A 40E8 LDA LINE ; CISLO RADKU
1459 078C 3C INR A
1460 078D B9 CMP C ; KONEC?
1461 078E 3F CMC
1462 078F D8 RC
1463 0790 32 40E8 STA LINE
1464 0793 C3 06CC JMP COADR
1465
1466
1467 ; VYMAZ ZBYTEK RADKU
1468 ;
1469 0796 7D EOL@: MOV A,L
1470 0797 E6 3F ANI 3FH ; CISLO ZNAKU
1471 0799 47 MOV B,A
1472 079A CD 081F CALL CMAX ; MAX. POCET ZNAKU
1473 079D 90 SUB B ; POCET ZNAKU PRO VYMAZ
1474 079E 36 20 EOL@1: MVI M,' ' ; CISTI
1475 07A0 23 INX H
1476 07A1 3D DCR A
1477 07A2 C2 079E JNZ EOL@1
1478 07A5 C9 RET
1479 ;
1480 ; VRAT KURZOR ZPET
1481 ;
1482 07A6 3A 40EB BACK@: LDA RESC ; JE TO 1. ZNAK
1483 07A9 BA CMP D
1484 07AA 7A MOV A,D
1485 07AB C2 07B5 JNZ BAC@1
1486 07AE CD 07C6 CALL UP@
1487 07B1 D0 RNC ; HORNI OKRAJ
1488 07B2 CD 081F CALL CMAX
1489 07B5 3D BAC@1: DCR A
1490 07B6 C3 07C2 JMP CR@+3
1491 ;
1492 ; NASTAV ZACATEK OBRAZOVKY
1493 ;
1494 07B9 3A 40EA HOME@: LDA RESL
1495 07BC 32 40E8 STA LINE
1496 ;
1497 ; NOVY RADEK
1498 ;
1499 07BF 3A 40EB CR@: LDA RESC
1500 07C2 32 40E9 STA COLUM
1501 07C5 C9 RET
1502 ;
1503 ; KURZOR NAHORU
1504 ;
1505 07C6 3A 40EA UP@: LDA RESL
1506 07C9 BB CMP E
1507 07CA C8 RZ ; REZERVA
1508 07CB 7B MOV A,E
1509 07CC B7 ORA A
1510 07CD C8 RZ ; VRCHOL
1511 07CE 3D DCR A
1512 07CF 32 40E8 STA LINE
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-27
1513 07D2 37 STC
1514 07D3 C9 RET
1515 ;****************************************************
1516 ; PREKODOVANI ZNAKU PRO :CI:
1517 ;----------------------------
1518 ; PREVOD PRO 262.3 PL-CS
1519 ;
1520 07D4 D2 80 8D 1D TABZN: DB 0D2H,80H,8DH,1DH ; CS-LOCK, HOME
1521 07D8 82 81 83 81 DB 82H,81H,83H,81H ; CS-COPY
1522 07DC C1 1A C2 0B DB 0C1H,1AH,0C2H,0BH ; KURZOR
1523 07E0 C3 18 C4 08 DB 0C3H,18H,0C4H,08H
1524 07E4 D0 DC D1 E0 DB 0D0H,0DCH,0D1H,0E0H ; '^
1525 07E8 00 DB 0 ; KONEC
1526 ;
1527 ; TABULKA ZNAKU:
1528 ;
1529 07E9 CSKOD: ; CISLA NA CS-KODY
1530 07E9 D7 2B C5 D3 DB 0D7H,02BH,0C5H,0D3H,0C3H
1531 07ED C3
1532 07EE D2 DA D9 C1 DB 0D2H,0DAH,0D9H,0C1H,0C9H
1533 07F2 C9
1534 ;
1535 ; PREVOD WM-KODU A CISEL
1536 ;
1537 07F3 2C 2D 2E TBWM: DB ',-.' ; ,-.
1538 07F6 81 DB 81H ; CS 0
1539 07F7 30 31 32 33 DB '0123456789'
1540 07FB 34 35 36 37
1541 07FF 38 39
1542 0801 RRAM EQU $
1543 ;*****************************************************
1544 IF RRAM GT 809H
1545 .PRINTX 'SPATNA TABULKA O.S'
1546 QQQQQQ
1547 ENDIF
1548
1549 ORG 809H ; SLUZBY MIKOSU
1550 0809 C3 006A JMP FIND
1551 080C C3 006F JMP OPEN
1552 080F C3 0A69 JMP CLOSE
1553 0812 C3 0074 JMP LOADCD
1554 0815 C3 0079 JMP SAVECD
1555 0818 50 45 52 49 DB 'PERINA '
1556 081C 4E 41 20
1557 ;****************************************************
1558 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1559 ; PRACE S OKNY
1560 ;
1561 081F 3A 40ED CMAX: LDA RESC1 ; MAX POCET ZNAKU
1562 0822 B7 ORA A
1563 0823 C0 RNZ ; JE ZADAN
1564 0824 3E 28 CMAX0: MVI A,WIDTH
1565 0826 C9 RET
1566 ;
1567 0827 3A 40EC LMAX: LDA RESL1 ; MAX POCET RADKU
1568 082A B7 ORA A
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-28
1569 082B C0 RNZ
1570 082C 3E 18 LMAX0: MVI A,HEIGHT
1571 082E C9 RET
1572
1573
1574 082F C5 TAB@: PUSH B
1575 0830 CD 09CF CALL SPACE
1576 0833 3A 4081 LDA CADR ; MODULO 8
1577 0836 E6 07 ANI 7
1578 0838 C2 0830 JNZ TAB@+1
1579 083B C1 POP B
1580 083C 79 MOV A,C
1581 083D C9 RET
1582 ;
1583 ;****************************************************
1584 ; OBSLUHA KLAVSNICE NEBO TERMINALU <A>..ZNAK
1585 ;****************************************************
1586 ;
1587 083E CD 01EC CALL INIC-6 ; ^W
1588 0841 3A 40F0 CI@: LDA KEY ; NASTAV TYP KURZORU
1589 0844 B7 ORA A
1590 0845 3E A0 MVI A,CURSOR ; NORMALNI ZNAK
1591 0847 CA 0852 JZ SETCUR
1592 084A 3E 5E MVI A,5EH ; ' ^
1593 084C F2 0852 JP SETCUR
1594 084F 3A 40EF LDA CUR@ ; CS-LOCK
1595 0852 E5 SETCUR: PUSH H
1596 0853 2A 4081 LHLD CADR
1597 0856 77 MOV M,A ; ZAPIS
1598 0857 E1 POP H
1599 0858 CD 40C4 CALL CI@0 ; HANDLER
1600 085B C5 CI@1: PUSH B
1601 085C 47 MOV B,A
1602 085D CD 093F CALL DEKOD ; DEKODUJ KLAVESY
1603 0860 3A 4086 LDA CSKOD@ ; KOD CS
1604 0863 4F MOV C,A
1605 ;NORMALNI MOD NEBO CS
1606 0864 3A 40E3 LDA MODE
1607 0867 E6 04 ANI 4
1608 0869 C2 08C2 JNZ CICS ; CESKA ABECEDA
1609 ; POCITACOVE ZNAKY ...
1610 086C 78 MOV A,B
1611 086D C1 POP B
1612 086E CD 0894 CALL BIG
1613 0871 FE 17 CPI PRNT
1614 0873 CA 083E JZ CI@-3 ; ^W
1615 0876 FE 10 CPI CTRLP
1616 0878 CA 0889 JZ CHANGE ; ^P
1617 087B FE 11 CPI CTRLQ ; ^Q
1618 087D C0 RNZ
1619 087E CD 0841 CALL CI@
1620 0881 E6 0F ANI 0FH ; MAX 0-15
1621 0883 32 40EA STA RESL
1622 0886 C3 0841 JMP CI@ ; NOVY ZNAK
1623 ;
1624 0889 3A 40E3 CHANGE: LDA MODE
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-29
1625 088C EE 01 XRI 1
1626 088E 32 40E3 STA MODE
1627 0891 C3 0841 JMP CI@
1628 ; PREVOD NA VELKA PISMENA
1629 0894 E6 7F BIG: ANI 7FH
1630 0896 FE 7B CPI 7BH
1631 0898 D0 RNC
1632 0899 FE 61 CPI 61H
1633 089B D8 RC
1634 089C D6 20 SUI 20H
1635 089E C9 RET
1636 ;
1637 ; INICIALIZACE
1638 ;
1639 089F 3E 01 CINIT: MVI A,ALLINT ; POVOL A NASTAV RST 0
1640 08A1 32 40EE STA PRER ; NASTAV UROVEN
1641 08A4 21 07D4 LXI H,TABZN ; DEKODOVANI 263 CS-PL
1642 08A7 CD 08B5 CALL KODASC
1643 08AA 21 07F3 LXI H,TBWM
1644 ;
1645 ; SLUZBA PRO NASTAVENI WM. KODU A CS. KODU
1646 ;
1647 08AD 01 4083 KODWM: LXI B,WMKOD
1648 08B0 1E 0D MVI E,14-1 ; DELKA
1649 08B2 C3 08BA JMP FIL@
1650 ;
1651 ; SLUZBA PRO NASTAVENI PREVODU ZNAKU
1652 ;
1653 08B5 01 4091 KODASC: LXI B,PREV
1654 08B8 1E 14 MVI E,21-1
1655 ; POMOCNY
1656 08BA 16 00 FIL@: MVI D,0 ; DELKA
1657 08BC EB XCHG
1658 08BD 19 DAD D ; KONCOVA ADR.
1659 08BE EB XCHG
1660 08BF C3 0480 JMP MO1
1661 ; CTENI ZNAKU Z KLAVESNICE S CESKYMI KODY
1662 ;========================================
1663 08C2 79 CICS: MOV A,C
1664 08C3 B8 CMP B
1665 08C4 3E 81 MVI A,81H ; CS-KOD
1666 08C6 CA 08F9 JZ ZMECS
1667 08C9 78 MOV A,B
1668 08CA FE DC CPI 0DCH ; HACEK
1669 08CC CA 08F9 JZ ZMECS
1670 08CF FE E0 CPI 0E0H ; CARKA
1671 08D1 CA 08F9 JZ ZMECS
1672 08D4 FE 80 CPI 80H ; CS-LOCK
1673 08D6 CA 08F4 JZ ZMENA
1674 08D9 3A 40F0 LDA KEY
1675 08DC B7 ORA A
1676 08DD FA 0920 JM CESKY ; 1 ZNAK CS
1677 08E0 C2 0900 JNZ CTICS ; CS LOCK
1678 08E3 78 MOV A,B
1679 08E4 C1 POP B
1680 ;
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-30
1681 ; VYPOCTI WM-KOD MISTO CISEL
1682 ;
1683 08E5 FE AC WMDO: CPI 0ACH
1684 08E7 D8 RC ; NENI CS-KOD
1685 08E8 FE BA CPI 0BAH ; JE > '9' OR 80H
1686 08EA D0 RNC
1687 08EB E5 PUSH H
1688 08EC 21 0747 LXI H,TBWM - 0ACH
1689 08EF CD 0973 CALL KODUJ
1690 08F2 E1 POP H
1691 08F3 C9 RET
1692 ;
1693 ; ZMEN KEY TLACITKO SET
1694 08F4 3A 40F0 ZMENA: LDA KEY
1695 08F7 EE 01 XRI 1
1696 08F9 32 40F0 ZMECS: STA KEY
1697 08FC C1 POP B
1698 08FD C3 0841 JMP CI@
1699 ; CTI CS.KOD
1700 0900 CTICS:
1701 0900 78 MOV A,B
1702 0901 C1 POP B
1703 0902 FE C0 CPI 0C0H ; CS U
1704 0904 D0 RNC
1705 0905 B7 ORA A
1706 0906 F2 090C JP CTIC1
1707 0909 E6 7F ANI 7FH ; UDELEJ CISLA
1708 090B C9 RET
1709 090C CD 0919 CTIC1: CALL CISLO
1710 090F D8 RC ; NENI
1711 0910 E5 CTIC2: PUSH H ; MISTO CISLA CS
1712 0911 21 07B9 LXI H,CSKOD-'0'
1713 0914 CD 0973 CALL KODUJ
1714 0917 E1 POP H
1715 0918 C9 RET
1716 ; JE CISLO ? CY=0 ANO
1717 0919 FE 30 CISLO: CPI '0' ; MISTO CISEL CS. KOD
1718 091B D8 RC
1719 091C FE 3A CPI '9'+1
1720 091E 3F CMC
1721 091F C9 RET
1722 ; CESKY - 1 ZNAK
1723 0920 CESKY:
1724 0920 FE E0 CPI 0E0H
1725 0922 CC 0953 CZ ZCARKA
1726 0925 FE DC CPI 0DCH
1727 0927 CC 095A CZ ZHACEK
1728 092A D6 81 SUI 81H
1729 092C CA 0931 JZ $+5 ; ZRUS CS !!
1730 092F 3E 01 MVI A,1
1731 0931 32 40F0 STA KEY ; NASTAV SET NA CS
1732 0934 78 MOV A,B
1733 0935 C1 POP B
1734 0936 CD 0919 CALL CISLO
1735 0939 D2 0910 JNC CTIC2
1736 093C EE A0 XRI 0A0H
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-31
1737 093E C9 RET
1738 ;
1739 ; ZMEN HACEK
1740 093F E5 DEKOD: PUSH H
1741 0940 21 4090 LXI H,PREV-1
1742 0943 F5 ZHA0: PUSH PSW
1743 0944 23 ZHA1: INX H
1744 0945 7E MOV A,M
1745 0946 B7 ORA A
1746 0947 CA 0950 JZ ZHA2 ; KONEC
1747 094A 23 INX H
1748 094B B8 CMP B ; ZNAK
1749 094C C2 0944 JNZ ZHA1
1750 094F 46 MOV B,M ; ZMENA
1751 0950 F1 ZHA2: POP PSW
1752 0951 E1 POP H
1753 0952 C9 RET
1754 ; ZMEN CARKU
1755 0953 E5 ZCARKA: PUSH H
1756 0954 21 0965 LXI H,TCARKA-1
1757 0957 C3 0943 JMP ZHA0
1758 ; ZMEN KODY KLAVES
1759 095A E5 ZHACEK: PUSH H
1760 095B 21 0960 LXI H,THACEK-1
1761 095E C3 0943 JMP ZHA0
1762 ;-----------------------------
1763 0961 75 6A 55 4A THACEK: DB 'ujUJ',0 ; ZMENY PRO HACEK
1764 0965 00
1765 0966 72 66 52 46 TCARKA: DB 'rfRFewEWlkLK',0 ; CARKU
1766 096A 65 77 45 57
1767 096E 6C 6B 4C 4B
1768 0972 00
1769 ;---------------------------------------
1770 ; VYPOCTI NOVY KOD
1771 0973 C5 KODUJ: PUSH B
1772 0974 06 00 MVI B,0
1773 0976 4F MOV C,A
1774 0977 09 DAD B
1775 0978 7E MOV A,M
1776 0979 C1 POP B
1777 097A C9 RET
1778 ;
1779 ;****************************************************
1780 ; ZJISTI STATUS ZY=1..NENI ZNAK, #0 JE ZNAK
1781 ;****************************************************
1782 ;
1783 ; STATUS SM 7202 ZY=1 .. NENI ZNAK
1784 ;
1785 097B DB 11 SMST: IN USTAT
1786 097D 17 RAL
1787 097E 3E 00 MVI A,0
1788 0980 9F SBB A
1789 0981 C9 RET
1790 ;
1791 ; STATUS KLAVESNICE ZY=0 JE ZNAK
1792 ;
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-32
1793 0982 3A 2400 CSTS@@: LDA PORTK
1794 0985 0F RRC
1795 0986 3E FF MVI A,-1
1796 0988 CE 00 ACI 0
1797 098A C9 RET
1798 ;
1799 ;****************************************************
1800 ; HANDLER PRO KLAVESNICI
1801 ;****************************************************
1802 ;
1803 ; CTENI ZNAKU ZE SERIOVE LINKY
1804 ;
1805 098B DB 11 SERIN: IN USTAT
1806 098D 17 RAL
1807 098E D2 098B JNC SERIN ; SERIOVY VSTUP
1808 0991 DB 12 IN UDATA
1809 0993 B7 ORA A
1810 0994 C9 RET
1811 ;
1812 ; VSTUP ZNAKU Z KLAVESNICE
1813 ;
1814 0995 CD 0982 CI@@: CALL CSTS@@
1815 0998 DA 0995 JC CI@@
1816 099B E5 PUSH H
1817 099C 26 28 MVI H,(HIGH PORTK) + 4
1818 099E 7E MOV A,M
1819 099F 2F CMA
1820 09A0 6F MOV L,A ; DATA
1821 09A1 25 DCR H
1822 09A2 36 03 MVI M,3
1823 09A4 7E CI2: MOV A,M
1824 09A5 0F RRC
1825 09A6 D2 09A4 JNC CI2
1826 09A9 36 02 MVI M,2
1827 09AB 7D MOV A,L
1828 09AC E1 POP H
1829 09AD C9 RET
1830 ;
1831 ; NASTAV MODE
1832 ;
1833 09AE CD 0500 CHMODE: CALL RADR
1834 09B1 32 40E3 STA MODE
1835 09B4 C9 RET
1836 ;
1837 ; NASTAV UROVEN PRERUSENI
1838 ;
1839 09B5 CD 0500 Y: CALL RADR ; CTI
1840 09B8 32 40EE STA PRER
1841 09BB C9 RET ; ZAPIS
1842 ;
1843 ; NASTAV CASOVANI MGF
1844 ;
1845 09BC CD 0500 Z: CALL RADR
1846 09BF 32 40F1 STA CASK
1847 09C2 C9 RET
1848 ;
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-33
1849 ; VERIFY: KONTOLNI SOUCET
1850 ;
1851 09C3 CD 04A8 VERIFY: CALL EXPR ; OD-DO
1852 09C6 D1 POP D
1853 09C7 E1 POP H
1854 09C8 CD 0A41 CALL VYPSUM
1855 09CB 78 MOV A,B
1856 09CC CD 05E8 DBYTE: CALL DBYT
1857 09CF 0E 20 SPACE: MVI C,' '
1858 09D1 C3 05F4 JMP CO
1859
1860 ;------------------------------------------------
1861 ;
1862 ; ZAVED 1. PROGRAM NA PASCE
1863 ;
1864 09D4 21 0083 LOADB: LXI H,JMENO
1865 09D7 CD 0074 CALL LOADCD
1866 09DA 2A 40FC LHLD SADR ; 1.ADR
1867 09DD 7E MOV A,M
1868 09DE FE C3 CPI 0C3H
1869 09E0 C2 0A4D JNZ UKAZ
1870 09E3 11 4401 LXI D,BASIC+1
1871 09E6 CD 04F5 CALL HILO
1872 09E9 C2 0A29 JNZ JUMP ; START (NENI SYS.)
1873 09EC 13 INX D
1874 09ED 13 INX D
1875 09EE 1A LDAX D ; BASIC/TOOL..
1876 09EF FE C3 CPI 0C3H
1877 09F1 CA 0A1E JZ PCMD ; NENI BASIC
1878 ;
1879 ; SKOK NA SYSTEMOVE PROGRAMY
1880 ;
1881 09F4 06 42 BCMD: MVI B,'B' ; BASIC
1882 09F6 21 4400 LXI H,BASIC
1883 09F9 11 40FA B0: LXI D,@BT
1884 09FC 7E B1: MOV A,M
1885 09FD FE C3 CPI 0C3H ; SKOK
1886 09FF C2 0A3B JNZ ERROR ; NENI EPROM SYSTEM
1887 0A02 1A LDAX D
1888 0A03 B8 CMP B ; TEPLY START ?
1889 0A04 CA 0A0F JZ B2 ; +
1890 0A07 B7 ORA A
1891 0A08 C2 0A3B JNZ ERROR
1892 0A0B 78 MOV A,B
1893 0A0C 12 STAX D ; NASTAV FLAGY
1894 0A0D 2B DCX H
1895 0A0E 11 DB 11H
1896 ;
1897 0A0F 23 B2: INX H
1898 0A10 23 INX H
1899 0A11 23 INX H
1900 0A12 E5 PUSH H ; TEPLY START
1901 0A13 C3 0348 JMP INTER
1902 ;
1903 0A16 06 54 TCMD: MVI B,'T'
1904 0A18 21 4C00 LXI H,TRACER
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-34
1905 0A1B C3 09F9 JMP B0
1906 ;
1907 0A1E 06 50 PCMD: MVI B,'P' ; PEDIT
1908 0A20 21 4400 LXI H,PEDIT
1909 0A23 11 40FB LXI D,@PED
1910 0A26 C3 09FC JMP B1
1911 ;
1912 ; SKOK DO UZIVATELSKEHO PROGRAMU
1913 ;
1914 0A29 CD 0A4D JUMP: CALL UKAZ
1915 0A2C EB XCHG
1916 0A2D 7D MOV A,L ; ZADNY PROGRAM
1917 0A2E B4 ORA H
1918 0A2F CA 0A3B JZ ERROR ; PRAZDNY
1919 0A32 E5 PUSH H ; START
1920 0A33 CD 0A41 CALL VYPSUM
1921 0A36 3A 4100 LDA SUM
1922 0A39 B8 CMP B
1923 0A3A C8 RZ
1924 ;
1925 ; OSETRENI CHYBY
1926 ;
1927 0A3B CD 001B ERROR: CALL QUES
1928 0A3E C3 40C1 JMP ERRSW ; PREDEJ RIZENI PO CHYBE
1929 ;
1930 0A41 06 00 VYPSUM: MVI B,0 ; SUMA
1931 0A43 7E J1: MOV A,M
1932 0A44 80 ADD B
1933 0A45 47 MOV B,A
1934 0A46 CD 04F5 CALL HILO
1935 0A49 D2 0A43 JNC J1
1936 0A4C C9 RET
1937 ;
1938 ; UKAZ ADRESY PROGRAMU OD-DO
1939 ;
1940 0A4D 2A 40FC UKAZ: LHLD SADR
1941 0A50 CD 0508 CALL DNADR
1942 0A53 EB XCHG
1943 0A54 2A 40FE LHLD EADR
1944 0A57 C3 050B JMP DADR
1945 ;
1946 ; "END OF FILE" PRIKAZ
1947 ;
1948
1949 0A5A CD 0500 EOF: CALL RADR ; START.ADR
1950 0A5D 06 01 MVI B,1 ; TYP ZAZNAMU
1951 0A5F AF XRA A ; PARAM.
1952 0A60 5F MOV E,A ; POCET BYTE
1953 0A61 CD 0B2C CALL PBEG
1954 0A64 AF XRA A
1955 0A65 92 SUB D ; KONTROLNI SOUCET
1956 0A66 CD 0B49 CALL PBYTE
1957 0A69 0E 03 CLOSE: MVI C,3 ; CLOSE
1958 0A6B C3 40D0 JMP KOS@
1959 ;
1960 ; CTI HEX INTEL FORMAT
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-35
1961 ;
1962 0A6E CD 006A READ@: CALL FIND
1963 0A71 CD 04D4 CALL CRLF
1964 0A74 CD 0500 CALL RADR ; OFFSET
1965 0A77 3E DB 3EH ; MVI A,#
1966 0A78 E1 RED1: POP H
1967 0A79 E5 PUSH H
1968 0A7A CD 0B56 REDC1: CALL MREAD ; CTI BYTE
1969 0A7D D6 3A SUI ':' ; ZACATEK ZAZNAMU ?
1970 0A7F C2 0A7A JNZ REDC1 ; ANO
1971 0A82 57 REDC2: MOV D,A ; NULOVANI KONTR. SOUCTU
1972 0A83 CD 0B0F CALL RBYTE ; DELKA RADKU
1973 0A86 CA 0AB7 JZ RED3 ; KDYZ 0, KONEC
1974 0A89 5F MOV E,A ; NASTAVENI CITACE
1975 0A8A CD 0B0F CALL RBYTE ; HORNI ADR.
1976 0A8D F5 PUSH PSW
1977 0A8E CD 0B0F CALL RBYTE ; SPODNI ADR.
1978 0A91 C1 POP B
1979 0A92 4F MOV C,A
1980 0A93 09 DAD B ; OFFSET ADRESY
1981 0A94 CD 0B0F CALL RBYTE ; PRIZNAK
1982 0A97 CD 0B0F RED2: CALL RBYTE ; STROJ. KOD
1983 0A9A 77 MOV M,A
1984 0A9B BE CMP M ; TEST PAMETI
1985 0A9C 0E 4D MVI C,'M' ; ERROR 'M'
1986 0A9E C2 0AAE JNZ REDER
1987 0AA1 23 INX H
1988 0AA2 1D DCR E ; CITAC BYTE STROJ. KODU
1989 0AA3 C2 0A97 JNZ RED2
1990 0AA6 CD 0B0F CALL RBYTE ; KONTR. SOUCET Z PASKY
1991 0AA9 CA 0A78 JZ RED1 ; OK
1992 0AAC 0E 53 MVI C,'S' ; ERROR 'S' - KONTROLNI SUMA
1993 0AAE CD 05F4 REDER: CALL CO ; TYP CHYBY
1994 0AB1 CD 050B CALL DADR
1995 0AB4 C3 0A3B JMP ERROR
1996 0AB7 E5 RED3: PUSH H
1997 0AB8 CD 0B0F CALL RBYTE ; HORNI START.ADR
1998 0ABB 67 MOV H,A
1999 0ABC CD 0B0F CALL RBYTE ; SPODNI START.ADR
2000 0ABF 6F MOV L,A
2001 0AC0 CD 0B0F CALL RBYTE ; KONTROLNI SUMA
2002 0AC3 CD 0B0F CALL RBYTE
2003 0AC6 C2 0AAC JNZ REDER-2 ; CHYBA
2004 0AC9 D1 POP D
2005 0ACA 7A MOV A,D
2006 0ACB B3 ORA E ; OFFSET ?
2007 0ACC D1 POP D
2008 0ACD C0 RNZ ; ANO, NE START
2009 0ACE 7C MOV A,H
2010 0ACF B5 ORA L ; START.ADR
2011 0AD0 C8 RZ ; NE
2012 0AD1 E9 PCHL
2013 ;
2014 ; ZAPIS HEX FORMAT
2015
2016 0AD2 0E 02 WRITE: MVI C,2
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-36
2017 0AD4 CD 04A8 CALL EXPR
2018 0AD7 CD 04D4 CALL CRLF
2019 0ADA D1 POP D
2020 0ADB E1 POP H
2021 0ADC 7D WR1: MOV A,L
2022 0ADD C6 10 ADI 10H
2023 0ADF 4F MOV C,A
2024 0AE0 7C MOV A,H
2025 0AE1 CE 00 ACI 0
2026 0AE3 47 MOV B,A
2027 0AE4 7B MOV A,E
2028 0AE5 91 SUB C
2029 0AE6 4F MOV C,A
2030 0AE7 7A MOV A,D
2031 0AE8 98 SBB B
2032 0AE9 DA 0AF1 JC WR2
2033 0AEC 3E 10 MVI A,10H ; >16
2034 0AEE C3 0AF4 JMP WR3
2035 0AF1 79 WR2: MOV A,C ; <16
2036 0AF2 C6 11 ADI 11H
2037 0AF4 B7 WR3: ORA A
2038 0AF5 C8 RZ ; DALSI
2039 0AF6 D5 PUSH D ; USCHOVA HORNI ADR.
2040 0AF7 5F MOV E,A ; NASTAVENI CITACE
2041 0AF8 AF XRA A
2042 0AF9 47 MOV B,A ; TYP
2043 0AFA CD 0B2C CALL PBEG
2044 0AFD 7E WR4: MOV A,M
2045 0AFE 23 INX H
2046 0AFF CD 0B49 CALL PBYTE ; STROJ. KOD
2047 0B02 1D DCR E
2048 0B03 C2 0AFD JNZ WR4
2049 0B06 AF XRA A
2050 0B07 92 SUB D
2051 0B08 CD 0B49 CALL PBYTE ; KONTR. SOUCET
2052 0B0B D1 POP D
2053 0B0C C3 0ADC JMP WR1
2054
2055
2056 ; PRECTE 2 ZNAKY, SESTAVI BYTE, TVORI KONTR. SOUCET
2057
2058 0B0F CD 0B56 RBYTE: CALL MREAD ; CTE ZNAK S MASKOU 7F
2059 0B12 CD 0523 CALL ASHEX ; PREVOD ASCII-HEX
2060 0B15 07 RLC
2061 0B16 07 RLC
2062 0B17 07 RLC
2063 0B18 07 RLC
2064 0B19 4F MOV C,A
2065 0B1A CD 0B56 CALL MREAD
2066 0B1D CD 0523 CALL ASHEX
2067 0B20 B1 ORA C ; SESTAVI BYTE
2068 0B21 4F MOV C,A
2069 0B22 82 ADD D ; KONTROLNI SOUCET
2070 0B23 57 MOV D,A
2071 0B24 79 MOV A,C
2072 0B25 C9 RET
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-37
2073
2074 ; KONEC VYRAZU
2075
2076 0B26 FE 09 TERM: CPI HT
2077 0B28 C8 RZ
2078 0B29 C3 053D JMP ANAL
2079
2080
2081
2082 ; PIS ZACATEK ZAZNAMU
2083
2084 0B2C 57 PBEG: MOV D,A ; NULUJ KONTROLNI SUMU
2085 0B2D 0E 0D MVI C,CR
2086 0B2F CD 05C1 CALL PO
2087 0B32 0E 0A MVI C,LF
2088 0B34 CD 05C1 CALL PO
2089 0B37 0E 3A MVI C,':'
2090 0B39 CD 05C1 CALL PO
2091 0B3C 7B MOV A,E ; E .. POCET BYTE
2092 0B3D CD 0B49 CALL PBYTE
2093 0B40 7C MOV A,H ; HL .. ADR
2094 0B41 CD 0B49 CALL PBYTE
2095 0B44 7D MOV A,L
2096 0B45 CD 0B49 CALL PBYTE
2097 0B48 78 MOV A,B ; TYP
2098 0B49 F5 PBYTE: PUSH PSW
2099 0B4A CD 05BA CALL HBT
2100 0B4D F1 POP PSW
2101 0B4E F5 PUSH PSW
2102 0B4F CD 05BE CALL LBT
2103 0B52 F1 POP PSW
2104 0B53 82 ADD D
2105 0B54 57 MOV D,A
2106 0B55 C9 RET
2107 ;
2108 ; CTE ZNAK S MASKOU, PRO CHYBU NASTAVI CARRY
2109
2110 0B56 CD 05AA MREAD: CALL RI
2111 0B59 DA 0A3B JC ERROR
2112 0B5C E6 7F ANI 7FH ; POTLACENI PARITNIHO BITU
2113 0B5E CA 0B56 JZ MREAD
2114 0B61 C9 RET
2115 ;
2116 ;
2117 ; CTI JMENO Z KLAVESNICE NEBO PROGRAMU
2118 ;
2119 0B62 EB RNAME: XCHG
2120 0B63 7E MOV A,M ; HL UKAZUJE NA EXTERNI TEXT
2121 0B64 32 4101 STA EXTEXT ; ".. JE JMENO
2122 0B67 FE 22 CPI '"'
2123 0B69 23 INX H
2124 0B6A 06 3E MVI B,62 ; MAX. DELKA
2125 0B6C 11 4103 LXI D,NAMBUF
2126 0B6F D5 PUSH D ; ADR PRO ZAPIS
2127 0B70 C2 0BB6 JNZ RNAMC ; CTI Z CI
2128 0B73 3E 20 RNAM1: MVI A,' '
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-38
2129 0B75 12 STAX D
2130 0B76 7E MOV A,M
2131 0B77 CD 0894 CALL BIG
2132 0B7A CD 0BB1 CALL ANAL1
2133 0B7D CA 0B87 JZ RNAM2-1
2134 0B80 12 STAX D
2135 0B81 23 INX H
2136 0B82 13 INX D
2137 0B83 05 DCR B
2138 0B84 C2 0B73 JNZ RNAM1 ; JE JESTE MISTO
2139 0B87 EB XCHG
2140 0B88 23 RNAM2: INX H
2141 0B89 36 20 MVI M,' ' ; KONEC
2142 0B8B 3E 44 MVI A,LOW @RAM ; VYCISTI BUFFER
2143 0B8D 23 INX H
2144 0B8E 36 00 MVI M,0
2145 0B90 BD CMP L
2146 0B91 C2 0B8D JNZ $-4
2147 0B94 E1 POP H ; ANALYZA POVELU
2148 0B95 7E MOV A,M
2149 0B96 FE 40 CPI '@' ; APPEND ?
2150 0B98 23 INX H
2151 0B99 CA 0BAD JZ RNAM3
2152 0B9C FE 2E CPI '.' ; REWIND
2153 0B9E CA 0BAD JZ RNAM3
2154 0BA1 7E MOV A,M ; VOLBA IOBYTE
2155 0BA2 FE 3A CPI ':' ; DEF. USER 1/2
2156 0BA4 2B DCX H
2157 0BA5 3E 00 MVI A,0 ; NENI
2158 0BA7 C2 0BAD JNZ RNAM3
2159 0BAA 7E MOV A,M ; ZAPIS KOD
2160 0BAB 23 INX H
2161 0BAC 23 INX H
2162 0BAD 32 4102 RNAM3: STA OPT ; <A>.. OPTION
2163 0BB0 C9 RET ; <HL>.. 1. ADRESA JMENA
2164 ;
2165 ; ANALYZA ODDELOVACE
2166 ;
2167 0BB1 FE 22 ANAL1: CPI '"'
2168 0BB3 C3 0542 JMP ANAL2
2169 ;-----------------------------------
2170 0BB6 D5 RNAMC: PUSH D
2171 0BB7 CD 0549 CALL TX
2172 0BBA 0D 0A DB CR,LF
2173 0BBC 20 4E 41 5A DC ' NAZEV:'
2174 0BC0 45 56 BA
2175 0BC3 E1 POP H
2176 0BC4 5D MOV E,L
2177 0BC5 36 20 RNAM6: MVI M,' '
2178 0BC7 CD 0596 CALL CI
2179 0BCA CD 0894 CALL BIG
2180 0BCD FE 03 CPI ETX
2181 0BCF CA 0203 JZ NEXT
2182 0BD2 FE 0D CPI CR
2183 0BD4 CA 0BFA JZ RNAM9
2184 0BD7 FE 7F CPI DEL
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-39
2185 0BD9 CA 0BE1 JZ RNAM7
2186 0BDC FE 08 CPI 8
2187 0BDE C2 0BF1 JNZ RNAM8
2188 0BE1 7B RNAM7: MOV A,E
2189 0BE2 BD CMP L ; PRVNI
2190 0BE3 CA 0BC5 JZ RNAM6
2191 0BE6 2B DCX H
2192 0BE7 04 INR B
2193 0BE8 CD 0549 CALL TX ; DELETE
2194 0BEB 08 20 88 DB 08,20H,88H
2195 0BEE C3 0BC5 JMP RNAM6
2196 0BF1 77 RNAM8: MOV M,A
2197 0BF2 23 INX H
2198 0BF3 CD 0568 CALL COA
2199 0BF6 05 DCR B
2200 0BF7 C2 0BC5 JNZ RNAM6
2201 0BFA CD 04D4 RNAM9: CALL CRLF
2202 0BFD C3 0B88 JMP RNAM2
2203 ;********** KONEC MONITORU ***************
2204 0C00 FF DB 255
2205 ;
2206 0C01 @@@MON EQU $
2207 ;
2208 ;*********************************************
2209 ; ROZDELENI S Y S T E M O V E R A M
2210 ;*********************************************
2211 ;
2212 4000 RST1 EQU @R@ ; RST VEKTORY
2213 ;........>>>
2214 ;......
2215 ;<<... UZIVATELSKY & MONITOR. ZASOBNIK
2216 ;
2217 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2218 .PHASE @R@+6DH
2219 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2220 ; DATA MONITORU
2221 ;
2222 406D MSTAK: DS 2 ; USCHOVA REGISTRU
2223 406F ACSAV: DS 2
2224 4071 BCSAV: DS 2
2225 4073 DESAV: DS 2
2226 4075 HLSAV: DS 2
2227 4077 PCSAV: DS 2
2228 4079 SPSAV: DS 2
2229 ;
2230 407B BRAD: DS 2
2231 407D INSTR: DS 1
2232 407E BRAD2: DS 2
2233 4080 INST2: DS 1
2234 4081 CADR: DS 2 ; ADRESA KURSORU
2235 ;-------------------------
2236 4083 WMKOD: DS 14 ; KOD PRO KURZORY
2237 4091 PREV: DS 21 ; PREVODNI KODY..0
2238 4086 CSKOD@ EQU WMKOD+3
2239 ;-------------------------
2240 ; USER I/O DEVICE
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-40
2241 ;
2242 40A6 CILOC: DS 3 ; 0
2243 40A9 COLOC: DS 3 ; 1
2244 40AC R1LOC: DS 3 ; 2
2245 40AF R2LOC: DS 3 ; 3
2246 40B2 P1LOC: DS 3 ; 4
2247 40B5 P2LOC: DS 3 ; 5
2248 40B8 LILOC: DS 3 ; 6
2249 40BB CSLOC: DS 3 ; 7
2250 40BE DS 1
2251 40BF MEMTOP: DS 2 ; 8
2252 40C1 ERRSW: DS 3 ; 9
2253 40C4 CI@0: DS 3 ; 10
2254 40C7 CO@: DS 3 ; 11
2255 40CA CSTS@: DS 3 ; 12
2256 40CD LO@: DS 3 ; 13
2257 40D0 KOS@: DS 3 ; 14
2258 40D3 RI@: DS 3 ; 15
2259 40D6 PO@: DS 3 ; 16
2260 40D9 CCPM: DS 3 ; 17
2261 40DC GRAF: DS 3 ; 18
2262 40DF RESER: DS 3 ; 19
2263 ;--------------------------
2264 ;
2265 0015 IONUM EQU ($-CILOC)/3+1
2266 ;
2267 40E2 IOBYT: DS 1 ; RIZENI I/O ZARIZENI
2268 ;
2269 ;******************************
2270 ;<< EXTERNE OVLADANE FLAGY: >>
2271 ;******************************
2272 40E3 MODE: DS 1 ; CO-MODE
2273 40E4 @IF1: DS 1
2274 40E5 @IF2: DS 1
2275 40E6 @OF1: DS 1
2276 40E7 @OF2: DS 1
2277 40E8 LINE: DS 1 ; RADEK
2278 40E9 COLUM: DS 1 ; SLOUPEC
2279 40EA RESL: DS 1 ; REZERVACE
2280 40EB RESC: DS 1 ; SLOUPEC
2281 40EC RESL1: DS 1 ; POSLEDNI RADEK
2282 40ED RESC1: DS 1 ; POSLEDNI SLOUPEC
2283 40EE PRER: DS 1 ; UROVEN PRERUSENI
2284 ;
2285 ; PROMENE PRO OPERACNI SYSTEM
2286 ;
2287 40EF CUR@: DS 1
2288 40F0 KEY: DS 1
2289 40F1 CASK: DS 1
2290 40F2 WNDP: DS 6 ; PARAMETRY PRO 2.OKNO
2291 0015 EXSER EQU $-MODE
2292 ;
2293 40F8 CHAR: DS 1
2294 40F9 XFLG: DS 1
2295 ;
2296 ;****************************************************
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE 1-41
2297 ; DATA SPOLECNA PRO MONITOR A O.S.
2298 ;****************************************************
2299 ;
2300 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2301 40FA @BT: DS 1
2302 40FB @PED: DS 1
2303 40FC SADR: DS 2 ; START.ADR
2304 40FE EADR: DS 2 ; KONC.ADR
2305 4100 SUM: DS 1
2306 4101 EXTEXT: DS 1
2307 4102 OPT: DS 1
2308 4103 NAMBUF: DS 65
2309 4144 @RAM EQU $
2310 ;*******************************
2311 .DEPHASE
2312 ;
2313 END ; [P]
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE S
Macros:
Symbols:
0C01 @@@MON 40FA @BT 40E4 @IF1
40E5 @IF2 40E6 @OF1 40E7 @OF2
40FB @PED 4000 @R@ 4144 @RAM
406F ACSAV 06E1 ADRCUR 06F3 ADRCX
0001 ALLINT 053D ANAL 053F ANAL0
0BB1 ANAL1 0542 ANAL2 0523 ASHEX
027B ASS0 0287 ASS1 0291 ASS2
02A2 ASS3 0270 ASSIGN 071B ATTR
09F9 B0 09FC B1 0A0F B2
07B5 BAC@1 0008 BACK 07A6 BACK@
4400 BASIC 09F4 BCMD 4071 BCSAV
018B BEG 0191 BEG0 0055 BEGIO
0007 BELL 0894 BIG 007E BINAR
407B BRAD 407E BRAD2 4081 CADR
40F1 CASK 40D9 CCPM 00E8 CENTR1
00E4 CENTRO 0920 CESKY 0889 CHANGE
40F8 CHAR 09AE CHMODE 0596 CI
09A4 CI2 0841 CI@ 40C4 CI@0
085B CI@1 0995 CI@@ 08C2 CICS
40A6 CILOC 0537 CIMIN 053A CINCR
089F CINIT 0919 CISLO 0599 CITB
0A69 CLOSE 081F CMAX 0824 CMAX0
05F4 CO 40C7 CO@ 0617 CO@@
062B CO@WR 0568 COA 06CC COADR
069B COEX 0645 COEX0 0656 COEX1
0641 COEXAT 0644 COEXX 018B COLD
060A COLO 40A9 COLOC 40E9 COLUM
04FA COMPR 065A CONTROL 0730 CONX1
0723 CONXT 060D COOUT 0044 COPY
05F7 COTB 000D CR 07BF CR@
04D4 CRLF 07E9 CSKOD 4086 CSKOD@
40BB CSLOC 058B CSTS 40CA CSTS@
0982 CSTS@@ 023C CTBL 090C CTIC1
0910 CTIC2 0900 CTICS 0010 CTRLP
0011 CTRLQ 40EF CUR@ 0067 CURCH
00A0 CURSOR 001B CWR1 001F CWR2
00C9 D100S 00CD D101 00DB D102
00AD D180 050B DADR 05E3 DADR0
05E8 DBYT 09CC DBYTE 093F DEKOD
007F DEL 4073 DESAV 05A1 DEV
05A4 DEV0 0424 DI0 0428 DI1
043C DI2 0463 DI3 044A DI4
044C DI5 0438 DIA 041F DISP
0508 DNADR 05F1 DNIBL 009C DUMMY
40FE EADR 0562 ECHO 0A5A EOF
001E EOL 0796 EOL@ 079E EOL@1
0004 EOT 0C00 EP2 0013 EQUAL
0000 ERAM 0A3B ERROR 40C1 ERRSW
001F ERS 0761 ERS@ 0777 ERS@1
001B ESC 0697 ESC@ 06FC ESC@0
0003 ETX 04AE EX0 04B1 EX1
04BA EX2 04C6 EX3 04E9 EX4
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE S-1
04DA EX5 06A1 EXFLG 06BD EXFLG1
04A8 EXPR 04A5 EXPR0 04E1 EXPRM
0015 EXSER 4101 EXTEXT 0471 FI1
08BA FIL@ 046A FILL 006A FIND
0331 GO@ 0313 GO@BR 02FA GOTO
40DC GRAF 05BA HBT 0018 HEIGHT
04F5 HILO 4075 HLSAV 0085 HNDIN
0010 HNDMX 001D HOME 07B9 HOME@
0009 HT 0511 HXANIB 0513 HXASC
01F2 INIC 022F INJM@ 0233 INJMP
4080 INST2 407D INSTR 0348 INTER
40E2 IOBYT 0023 IOCHK 056F IODEF
02A7 IONEW 0015 IONUM 002B IOSET
02AE IOTAB 0A43 J1 0083 JMENO
0A29 JUMP 40F0 KEY 08B5 KODASC
0973 KODUJ 08AD KODWM 0060 KOS
40D0 KOS@ 0065 KOSI 05BE LBT
05F1 LBYTE 001A LCT 000A LF
0733 LF@ 40B8 LILOC 40E8 LINE
0040 LINOF 0827 LMAX 082C LMAX0
05D3 LO 40CD LO@ 00B4 LO@1
00BE LO@2 00B0 LO@@ 09D4 LOADB
0074 LOADCD 05DB LOTB 0018 LREST
01B6 MEM1 01C3 MEM2 051B MEMCK
40BF MEMTOP 000B MINUS 0011 MMODE
0480 MO1 40E3 MODE 0000 MONIT
0479 MOVE 0B56 MREAD 406D MSTAK
4103 NAMBUF 0203 NEXT 06C5 OBNOV
006F OPEN 4102 OPT 40B2 P1LOC
40B5 P2LOC 0018 PA1 001C PA2
0019 PB1 001D PB2 0B2C PBEG
0B49 PBYTE 001A PC1 001E PC2
0A1E PCMD 4077 PCSAV 4400 PEDIT
05C1 PO 40D6 PO@ 3000 PORTI
2400 PORTK 2B00 PORTLC 2C00 PORTLD
05CB POTB 40EE PRER 4091 PREV
0017 PRNT 02C6 QUERY 001B QUES
00FA R100 40AC R1LOC 40AF R2LOC
0500 RADR 0053 RBYT 0051 RBYT0
0B0F RBYTE 0A6E READ@ 0A78 RED1
0A97 RED2 0AB7 RED3 0A7A REDC1
0A82 REDC2 0AAE REDER 40EB RESC
40ED RESC1 40DF RESER 40EA RESL
40EC RESL1 0353 RESTA 040A RGNAM
05AA RI 40D3 RI@ 0018 RIGHT
05B2 RITB 0B73 RNAM1 0B88 RNAM2
0BAD RNAM3 0BC5 RNAM6 0BE1 RNAM7
0BF1 RNAM8 0BFA RNAM9 0BB6 RNAMC
0B62 RNAME 0746 ROLL 074D ROLL1
075B ROLL2 0737 ROLL@ 0801 RRAM
4000 RST1 036E RST10 038A RST20
00CF RSTN 40FC SADR 0079 SAVECD
098B SERIN 05FF SEROUT 0852 SETCUR
097B SMST 017B SMTAB 09CF SPACE
0033 SPCL 4079 SPSAV 048D SU1
049C SU2 001A SUB@ 048A SUBS
FIRMWARE SAPI-1 MONITOR V5.0/E MACRO-80 3.44 09-Dec-81 PAGE S-2
4100 SUM 018A SYSEND 016C SYSTAB
082F TAB@ 009D TABHND 07D4 TABZN
07F3 TBWM 0966 TCARKA 0A16 TCMD
0B26 TERM 0558 TEXT 0961 THACEK
4C00 TRACER 3800 TVBEG 3DE7 TVEND
1400 TVROM 0549 TX 0012 UDATA
0A4D UKAZ 0010 UMODE 001A UP
07C6 UP@ 0013 URES 0011 USTAT
09C3 VERIFY 000B VT 0785 VT@
0A41 VYPSUM 0028 WIDTH 08E5 WMDO
4083 WMKOD 0708 WND@ 070D WND@0
001C WNDCD 0705 WNDCH 40F2 WNDP
0ADC WR1 0AF1 WR2 0AF4 WR3
0AFD WR4 0AD2 WRITE 039B X
03A9 X0 03B1 X1 03B6 X10
03C6 X2 03F1 XDIS1 03E7 XDISP
40F9 XFLG 0222 XY 09B5 Y
09BC Z 0953 ZCARKA 0943 ZHA0
0944 ZHA1 0950 ZHA2 095A ZHACEK
08F9 ZMECS 08F4 ZMENA
No Fatal error(s)
@@@MON 2206#
@BT 1883 2301#
@IF1 2273#
@IF2 2274#
@OF1 2275#
@OF2 2276#
@PED 1909 2302#
@R@ 27# 124 128 132 136 143 150 158 410 463 2212 2218
@RAM 2142 2309#
ACSAV 647 724 789 790 2223#
ADRCUR 1223 1345#
ADRCX 1347 1354#
ALLINT 109# 1639
ANAL 910 1008# 2078
ANAL0 1009#
ANAL1 2132 2167#
ANAL2 1011# 2168
ASHEX 340 899 991# 2059 2066
ASS0 538# 542
ASS1 539 544#
ASS2 549# 558
ASS3 551 559#
ASSIGN 351 494 533#
ATTR 1230 1381#
B0 1883# 1905
B1 1884# 1910
B2 1889 1897#
BAC@1 1485 1489#
BACK 48# 1262
BACK@ 1263 1482#
BASIC 31# 1870 1882
BCMD 495 1881#
BCSAV 791 792 2224#
BEG 386# 496
BEG0 390# 392
BEGIO 61# 378
BELL 52#
BIG 821 991 1043 1225 1612 1629# 2131 2179
BINAR 211# 1294
BRAD 631 686 2230#
BRAD2 640 2232#
CADR 159 430 1215 1237 1320 1576 1596 2234#
CASK 1846 2289#
CCPM 2260#
CENTR1 297# 300
CENTRO 239 293#
CESKY 1676 1723#
CHANGE 1616 1624#
CHAR 1236 1321 2293#
CHMODE 508 1833#
CI 326 1042 1088# 2178
CI2 1823# 1825
CI@ 1089 1089 1107 1588# 1614 1619 1622 1627 1698
CI@0 407 1599 2253#
CI@1 1600#
CI@@ 366 1814# 1815
CICS 1608 1663#
CILOC 1061 1090 2242# 2265
CIMIN 533 745 835 875 1005#
CINCR 346 469 621 722 837 930 1007#
CINIT 427 1639#
CISLO 1709 1717# 1734
CITB 1089# 1092
CLOSE 1552 1957#
CMAX 1390 1411 1472 1488 1561#
CMAX0 1564#
CO 328 1046 1128 1141 1167# 1858 1993
CO@ 243 1203 2254#
CO@@ 367 1207#
CO@WR 1221#
COA 127 131 135 593 604 769 827 1023 1035 1044# 2198
COADR 1283 1326# 1414 1431 1443 1444 1464
COEX 1252 1283#
COEX0 1235# 1316
COEX1 1240 1242#
COEXAT 1232#
COEXX 1234# 1284 1361
COLD 116 325 385#
COLO 1141 1169 1194#
COLOC 1170 2243#
COLUM 1357 1394 1500 2278#
COMPR 704 947#
CONTROL 1217 1251#
CONX1 1397#
CONXT 1232 1265 1384 1389#
COOUT 1169 1200#
COPY 167# 171 507
COTB 1169# 1172
CR 46# 183 216 450 468 628 635 761 919 1012 1256 2085
2172 2182
CR@ 1257 1397 1490 1499#
CRLF 168 337 645 726 918# 964 1963 2018 2201
CSKOD 1529# 1712
CSKOD@ 1603 2238#
CSLOC 1085 2249#
CSTS 331 833 1082#
CSTS@ 1086 2255#
CSTS@@ 368 1793# 1814
CTBL 475 494# 520 521
CTIC1 1706 1709#
CTIC2 1711# 1735
CTICS 1677 1700#
CTRLP 75# 1615
CTRLQ 74# 1617
CUR@ 425 1594 2287#
CURCH 71# 424
CURSOR 70# 1241 1590
CWR1 92#
CWR2 96#
D100S 240 275#
D101 277# 279
D102 284# 286
D180 241 251#
DADR 341 965# 1944 1994
DADR0 965 1151#
DBYT 342 779 784 874 1152 1157# 1856
DBYTE 812 1856#
DEKOD 1602 1740#
DEL 59# 2184
DESAV 793 794 2225#
DEV 1088 1097# 1167
DEV0 1098# 1105 1126 1139
DI0 809# 834 839
DI1 811# 817
DI2 820# 832
DI3 837#
DI4 823 826#
DI5 825 827#
DIA 814 818#
DISP 497 806#
DNADR 584 810 882 964# 1941
DNIBL 1164#
DUMMY 233# 237 369 375 376
EADR 1943 2304#
ECHO 545 895 1007 1042#
EOF 498 1949#
EOL 73# 1260
EOL@ 1261 1430 1435 1448 1469#
EOL@1 1474# 1477
EOT 55#
EP2 38# 439 441
EQUAL 130# 544 594 620 770 893
ERAM 39#
ERROR 339 370 478 543 556 737 892 1886 1891 1918 1927# 1995
2111
ERRSW 432 465 1928 2252#
ERS 72# 437 1268
ERS@ 1269 1435#
ERS@1 1445# 1451
ESC 51# 1276
ESC@ 1278#
ESC@0 1353 1359#
ETX 54# 2180
EX0 895# 907 924
EX1 896# 928
EX2 900#
EX3 900 909# 932
EX4 898 930# 935
EX5 911 922#
EXFLG 350 1292#
EXFLG1 1313# 1377
EXPR 338 806 845 858 893# 957 1851 2017
EXPR0 892# 915
EXPRM 178 624 926#
EXSER 1297 2291#
EXTEXT 2121 2306#
FI1 849# 851
FIL@ 1649 1656#
FILL 499 844#
FIND 203# 1550 1962
GO@ 622 629 637 645#
GO@BR 623 630#
GOTO 500 620#
GRAF 360 2261#
HBT 1115# 2099
HEIGHT 66# 1349 1570
HILO 343 813 828 850 865 942# 1871 1934
HLSAV 657 673 680 795 796 2226#
HNDIN 220# 501
HNDMX 222 245#
HOME 76# 437 1266
HOME@ 1267 1494#
HT 47# 1210 2076
HXANIB 970# 1119 1165
HXASC 349 972#
INIC 449# 464 1587
INJM@ 477#
INJMP 479# 1100
INST2 642 2233#
INSTR 633 2231#
INTER 357 466 661# 1901
IOBYT 140 148 564 586 1082 1097 1102 1121 1136 2267#
IOCHK 140# 332
IODEF 335 1052#
IONEW 564#
IONUM 1053 2265#
IOSET 147# 333
IOTAB 535 572# 585
J1 1931# 1935
JMENO 216# 1864
JUMP 503 1872 1914#
KEY 160 1588 1674 1694 1696 1731 2288#
KODASC 359 1642 1653#
KODUJ 1689 1713 1771#
KODWM 358 1647#
KOS 193# 504
KOS@ 194 199 204 206 208 210 212 355 1958 2257#
KOSI 198# 502
LBT 1119# 2102
LBYTE 1162 1165#
LCT 476 520#
LF 53# 450 468 919 1258 2087 2172
LF@ 1259 1401#
LILOC 1142 2248#
LINE 155 1326 1351 1366 1436 1458 1463 1495 1512 2277#
LINOF 67# 68 1416 1445
LMAX 1439 1456 1567#
LMAX0 1570#
LO 170 330 1136# 1169 1194
LO@ 229 232 1141 1202 2256#
LO@1 259# 261
LO@2 265# 267
LO@@ 238 255#
LOADB 505 1864#
LOADCD 207# 1553 1865
LOTB 1141# 1144
LREST 68#
MEM1 412# 420
MEM2 413 421#
MEMCK 334 981#
MEMTOP 422 583 982 2251#
MINUS 126# 1005
MMODE 105# 276
MO1 408 862# 866 1660
MODE 1200 1228 1238 1303 1606 1624 1626 1834 2272# 2291
MONIT 37# 115
MOVE 506 857#
MREAD 1968 2058 2065 2110# 2113
MSTAK 387 444 459 2222#
NAMBUF 2125 2308#
NEXT 344 459# 460 474 716 2181
OBNOV 1254 1315 1320# 1360
OPEN 205# 1551
OPT 2162 2307#
P1LOC 1128 2246#
P2LOC 1129 2247#
PA1 93#
PA2 97#
PB1 94#
PB2 98#
PBEG 1953 2043 2084#
PBYTE 1956 2046 2051 2092 2094 2096 2098#
PC1 95#
PC2 99#
PCMD 509 1877 1907#
PCSAV 626 655 713 797 2227#
PEDIT 33# 1908
PO 242 329 1121# 2086 2088 2090
PO@ 1128 2259#
PORTI 87#
PORTK 82# 398 1793 1817
PORTLC 84#
PORTLD 85#
POTB 1128# 1131
PRER 663 1640 1840 2283#
PREV 1653 1741 2237#
PRNT 58# 1613
QUERY 510 583#
QUES 134# 1927
R100 313# 314
R1LOC 1107 2244#
R2LOC 1108 2245#
RADR 220 630 639 872 956# 1833 1839 1845 1949 1964
RBYT 176# 752 878
RBYT0 175#
RBYTE 1972 1975 1977 1981 1982 1990 1997 1999 2001 2002 2058#
READ@ 511 1962#
RED1 1966# 1991
RED2 1982# 1989
RED3 1973 1996#
REDC1 1968# 1970
REDC2 1971#
REDER 1986 1993# 2003
RESC 1437 1482 1499 2280#
RESC1 1561 2282#
RESER 361 2262#
RESL 1406 1494 1505 1621 2279#
RESL1 1567 2281#
RESTA 462 672#
RGNAM 723 789#
RI 167 327 1089 1102# 2110
RI@ 1107 2258#
RIGHT 49# 1264
RITB 1107# 1110
RNAM1 2128# 2138
RNAM2 2133 2140# 2202
RNAM3 2151 2153 2158 2162#
RNAM6 2177# 2190 2195 2200
RNAM7 2185 2188#
RNAM8 2187 2196#
RNAM9 2183 2201#
RNAMC 2127 2170#
RNAME 356 2119#
ROLL 1415# 1429
ROLL1 1420# 1425
ROLL2 1430#
ROLL@ 1406#
RRAM 1542# 1544
RST1 2212#
RST10 688# 710
RST20 697 706 708#
RSTN 28# 634 643
SADR 1866 1940 2303#
SAVECD 209# 1554
SERIN 372 1805# 1807
SEROUT 244 373 1185# 1187
SETCUR 1591 1593 1595#
SMST 374 1785#
SMTAB 371#
SPACE 345 591 765 819 966 1575 1857#
SPCL 155# 336
SPSAV 445 651 677 798 2228#
SU1 873# 883
SU2 877 880#
SUB@ 57#
SUBS 512 872#
SUM 1921 2305#
SYSEND 377# 406
SYSTAB 366# 405
TAB@ 1211 1574# 1578
TABHND 226 237# 245
TABZN 1520# 1641
TBWM 1537# 1643 1688
TCARKA 1756 1765#
TCMD 513 1903#
TERM 2076#
TEXT 347 1033# 1037
THACEK 1760 1763#
TRACER 32# 1904
TVBEG 41# 69 429 1335
TVEND 69#
TVROM 40# 435
TX 353 436 449 467 918 922 1020# 1027 2171 2193
UDATA 103# 281 1189 1808
UKAZ 514 1869 1914 1940#
UMODE 106# 283 396
UP 50# 1270
UP@ 1271 1486 1505#
URES 107# 395
USTAT 104# 277 284 403 1185 1785 1805
VERIFY 515 1851#
VT 56# 1272
VT@ 1273 1401 1456#
VYPSUM 1854 1920 1930#
WIDTH 65# 68 1355 1564
WMDO 1683#
WMKOD 1647 2236# 2238
WND@ 354 1366#
WND@0 1368# 1376
WNDCD 60# 1274
WNDCH 1275 1365#
WNDP 1365 2290#
WR1 2021# 2053
WR2 2032 2035#
WR3 2034 2037#
WR4 2044# 2048
WRITE 516 2016#
X 517 715 722#
X0 727# 730
X1 725 731#
X10 734# 739
X2 731 741 743# 749 763
XDIS1 740 770#
XDISP 727 743 765#
XFLG 1221 1278 1359 2294#
XY 348 471#
Y 518 1839#
Z 519 1845#
ZCARKA 1725 1755#
ZHA0 1742# 1757 1761
ZHA1 1743# 1749
ZHA2 1746 1751#
ZHACEK 1727 1759#
ZMECS 1666 1669 1671 1696#
ZMENA 1673 1694#
65#
WNDP 1365 2290#
WR1 2021# 2053
WR2 2032 2035#
WR3 2034 2037#
WR4 2044# 2048
WRITE 516 2016#
ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
ZPS | Technické prostředky | Programové vybavení | Dokumentace