Ú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
'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1 1 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 TITLE 'MONITOR SAPI-1 V4.1F' 3 ; 30.7.1985 (P+S) 4 ; MODIFIKACE MONITORU "M4F" PRO KLAVESNICI C259.11 5 ; 15.7.1985 6 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 7 ; 8 ; VOLBA SYSTEMU 9 FFFF SP1 EQU -1 ; -1 YES 10 0000 SP1A EQU 0 ;FOR CP/M SYSTEM MONITOR 11 0000 CPM EQU 00 ;JPR-1 EPROM VERSION 12 ; 13 ; 14 ; *** DEFINOVANI PAMETOVEHO PROSTORU * 15 ; 16 0100 MONIT EQU 100H ; START MONITORU 17 ; NASTAVENI PAMETI R A M 18 19 4000 RAM EQU 4000H ;START RAM 20 IF CPM 21 ERAM EQU 9FFFH ;TOP RAM 22 TVBEG EQU 0E800H ;TV-RAM 23 EP2 EQU 800H+200H ; SECOND EPROM 24 ELSE 25 FFFF ERAM EQU 0FFFFH ;RAM-1 48K 26 3800 TVBEG EQU 3800H ;TV-RAM 27 0800 EP2 EQU 800H ; SECOND EPROM 28 ENDIF 29 4000 @R@ EQU 4000H ;RESTART VECTOR 30 00CF RSTN EQU 0CFH ; RST 1 31 32 ; GLOBAL CONSTANTS 33 34 000D CR EQU 0DH ; CARRIAGE RETURN 35 0009 HT EQU 9 ; TAB 36 0008 BACK EQU 8 ; BACK SPACE 37 0007 BELL EQU 7 ; BELL 38 000A LF EQU 0AH ; LINE FEED 39 0003 ETX EQU 03H ; BREAK CHAR.(CONTROL C) 40 0017 CTRLW EQU 17H ; BREAK USER 41 0055 BEGIO EQU 55H ; START VALUE FOR I/O BYTE 42 43 44 ; I/O STATUS BYTE MASKS AND VALUES 45 46 00FC CMSK EQU 11111100B ; MASK FOR CONZOLE 47 00F3 RMSK EQU 11110011B ; MASK FOR READER 48 00CF PMSK EQU 11001111B ; MASK FOR PUNCH 49 003F LMSK EQU 00111111B ; MASK FOR LIST 50 51 52 0000 CTTY EQU 00000000B ; CONZOLE=TTY 53 0001 CCRT EQU 00000001B ; CONZOLE=CRT 54 0002 BATCH EQU 00000010B ; INPUT=READER,OUTPUT=LIST 55 0003 CUSE EQU 00000011B ; USER REFINED CONZOLE 56 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-1 57 58 0000 RTTY EQU 00000000B ; READER=TTY 59 0004 RPTR EQU 00000100B ; READER=PTR 60 0008 RUSE1 EQU 00001000B ; USER DEFINED READER 1 61 000C RUSE2 EQU 00001100B ; USER DEFINED READER 2 62 63 64 0000 PTTY EQU 00000000B ; PUNCH=TTY 65 0010 PPTR EQU 00010000B ; PUNCH=PTR 66 0020 PUSE1 EQU 00100000B ; USER DEFINED PUNCH 1 67 0030 PUSE2 EQU 00110000B ; USER DEFINED PUNCH 2 68 69 70 0000 LTTY EQU 00000000B ; LIST=TTY 71 0040 LCRT EQU 01000000B ; LIST=CRT 72 0080 LLPT EQU 10000000B ; LIST=LPT 73 00C0 LUSE EQU 11000000B ; USER DEFINED LIST 74 ; 75 ; SEPI CONTROL I/O 76 ; 77 0012 UDATA EQU 12H 78 0011 USTAT EQU 11H 79 0011 MMODE EQU 11H 80 0010 UMODE EQU 10H 81 0013 URES EQU 13H 82 0002 ALLINT EQU 02H 83 84 0000' ASEG 85 IF SP1 86 ; 87 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 88 ; RESTARTS & CP/M ENTRY 89 ; 90 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 91 92 IF CPM 93 ORG 100H 94 ENDIF 95 IF NOT CPM 96 ORG 0 ; BEGIN MEMORY 97 ENDIF 98 0000 C3 04CF JMP COLD ; COLD START 99 0003 55 DB 55H ;INTEL IOBYT 100 0004 40 DB 40H ;V 4.0 101 0005 C3 003B JMP CCPM 102 0008 C3 4000 JMP @R@ 103 ; 104 000B 3E 2D MINUS: MVI A,'-' 105 000D C3 04B8 JMP COA 106 0010 C3 4003 JMP @R@+3 107 ; 108 0013 3E 3D EQUAL: MVI A,'=' 109 0015 C3 04B8 JMP COA 110 0018 C3 4006 JMP @R@+6 111 ; 112 001B 3E 3F QUES: MVI A,'?' 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-2 113 001D C3 04B8 JMP COA 114 0020 C3 4009 JMP @R@+9 115 ; 116 0023 3A 40ED IOCHK: LDA IOBYT 117 0026 C9 RET 118 0027 50 DB 'P' 119 0028 C3 400C JMP @R@+12 120 ; 121 002B 79 IOSET: MOV A,C 122 002C 32 40ED STA IOBYT 123 002F C9 RET 124 0030 C3 400F JMP @R@+15 125 ; 126 0033 2A 40A5 SPCL: LHLD CADR 127 0036 7E MOV A,M 128 0037 C9 RET ; FOR PEDIT 129 0038 C3 4012 JMP @R@+18 130 ; 131 003B 79 CCPM: MOV A,C ;CONTINUE ENTRY TO CPM 132 003C 4B MOV C,E ; INTEL 133 003D D5 PUSH D ;DE->HL 134 003E 21 0046 LXI H,TCPM 135 0041 06 0B MVI B,11 ; MAX CPM ENTRY 136 0043 C3 0554 JMP INJM@ 137 ;------------------------------- 138 0046 04CF 005E TCPM: DW COLD,CI 139 004A 05E4 02E9 DW CO,RI 140 004E 02F5 0301 DW PO,LO 141 0052 028B 0023 DW CICO,IOCHK 142 0056 002B 0162 DW IOSET,ERROR 143 005A 0162 01C6 DW ERROR,CSTS 144 145 005E E5 CI: PUSH H 146 005F 21 00D3 LXI H,CITB 147 0062 C3 05E8 JMP IOCOM-3 148 ; 149 150 0065 41 51 31 TABCOD: DB 'AQ1' 151 0068 1B 0D DB 1BH,0DH ; ESC, CR 152 006A 50 30 DB 'P0' 153 154 006C 5A 53 57 32 DB 'ZSW2 LO9' 155 0070 20 4C 4F 39 156 157 0074 58 44 45 33 DB 'XDE3MKI8' 158 0078 4D 4B 49 38 159 160 007C 43 46 52 34 DB 'CFR4NJU7' 161 0080 4E 4A 55 37 162 163 0084 56 47 54 35 DB 'VGT5BHY6' 164 0088 42 48 59 36 165 166 ; POKRACOVANI TABULKY - SHIFT 167 008C 10 11 DB 10H,11H ; ^A ^Q 168 008E 21 DB '!' 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-3 169 008F 0A 0D DB 0AH,0DH 170 0091 7F DB 7FH 171 0092 29 DB ')' 172 173 0093 5A DB 'Z' 174 0094 13 17 DB 13H,17H ; ^S, ^W 175 0096 3F DB '?' 176 0097 09 DB 9 ; TABELATOR/SHIFT SPC 177 0098 3D 23 28 DB '=#(' 178 179 009B 03 DB 3 ; EXT/SHIFT X 180 009C 26 45 22 2E DB '&E".*@>' 181 00A0 2A 40 3E 182 183 00A3 5B 5C 25 24 DB '[\%$,-:<' 184 00A7 2C 2D 3A 3C 185 186 00AB 5D 5F DB ']_' 187 00AD 08 DB 8 ; BACKSPACE 188 00AE 5E DB '^' 189 00AF 3B 2B 2F DB ';+/' 190 00B2 27 DB 27H ; ' UVOZOVKA 191 192 ; I/O DEVICE TABLE 193 ; 194 00B3 43 03 IOTAB: DB 'C',03H ;CONSOLE (LOCAL, MASK) 195 00B5 54 43 42 31 DB 'TCB1' ;PHYSICAL 196 00B9 52 0C DB 'R',0CH ;READER 197 00BB 54 50 31 32 DB 'TP12' 198 00BF 50 30 DB 'P',30H ;PUNCHER 199 00C1 54 50 31 32 DB 'TP12' 200 00C5 4C C0 DB 'L',0C0H ;LIST 201 00C7 54 43 4C 31 DB 'TCL1' 202 203 ; ASSING TABLE FOR LOG. DEVICE 204 ; 205 00CB 030D 06A4 COTB: DW COLO,CRT,LO,COLOC 206 00CF 0301 40CE 207 00D3 0265 0265 CITB: DW KBR,KBR,RI,CILOC 208 00D7 02E9 40CB 209 00DB 030D 05E4 LOTB: DW COLO,CO,LPR,LILOC 210 00DF 07B9 40DD 211 00E3 0265 07E8 RITB: DW KBR,RDR,R1LOC,R2LOC 212 00E7 40D1 40D4 213 00EB 05E4 07D3 POTB: DW CO,PUN,P1LOC,P2LOC 214 00EF 40D7 40DA 215 ; 216 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 217 00F3 0D 0A VERS: DB CR,LF 218 00F5 53 41 50 49 DB 'SAPI-1 V4.1' 219 00F9 2D 31 20 56 220 00FD 34 2E 31 221 000D LVER EQU $-VERS ; DELKA OHLASENI 222 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 223 224 ;*************************************************** 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-4 225 IF CPM 226 ORG MONIT+100H 227 ELSE 228 ORG MONIT ; *** ZACATEK MONITORU *** 229 ENDIF 230 ;*************************************************** 231 232 ; TABLE OF EXTERNALLY REFERENCED ROUTINES 233 234 0100 C3 04CF JMP COLD ; START MONITORU 235 0103 C3 005E JMP CI ; CONZOLE INPUT <A> 236 0106 C3 02E9 JMP RI ; READER INPUT <A>, CY=1 ERROR 237 0109 C3 05E4 JMP CO ; CONZOLE OUTPUT <C> 238 010C C3 02F5 JMP PO ; PUNCH OUTPUT <C> 239 010F C3 0301 JMP LO ; LIST OUTPUT <C> 240 0112 C3 01C6 JMP CSTS ; CONZOLE INPUT STATUS 241 0115 C3 0023 JMP IOCHK ; I/O BYTE CHEK <A> 242 0118 C3 002B JMP IOSET ; I/O BYTE SET <C> 243 011B C3 065F JMP MEMCK ; SIZE MEMORY CHECK 244 011E C3 0604 JMP IODEF ; DEFINE USER I/O ENTRY POINTS 245 0121 C3 0033 JMP SPCL ; I/O CONTROL SPECIAL 246 0124 C3 05DD JMP CRLF ; NOVY RADEK 247 0127 C3 05B1 JMP EXPR ; SKLADANI ADRES (N=POCET <C>, SP) 248 012A C3 0162 JMP ERROR ; HLASENI CHYBY 249 012D C3 0667 JMP ASHEX ; PREVOD ASCII->HEX,CHYBA-CARRY 250 0130 C3 0646 JMP DADR ; ZOBRAZENI ADRESY <HL> 251 0133 C3 0651 JMP DBYT ; ZOBRAZENI ZNAKU <A> NA 'CO' 252 0136 C3 0624 JMP HILO ; HL+1,SROVNANI S DE,(HL=0) 253 0139 C3 0526 JMP NEXT ; PREDANI MONITORU 254 013C C3 0697 JMP SPACE ; MEZERA NA 'CO' 255 013F C3 067B JMP CINCR ; ECHO+ANALIZA 256 0142 C3 068A JMP TEXT ; VYPIS TEXTU <HL=ADRESA>,<D=DELKA> 257 0145 C3 0547 JMP XY ; PROVEDENI POVELU DLE <A> 258 0148 C3 05A6 JMP HXASC ; PREVOD HEX->ASCII DO <A>,<C> 259 014B C3 04BF JMP EXFLG ; EXTERNAL CONTROL FLAGS 260 ; 261 ;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 262 ; ASSIGN I/O DEVICE MODUL 263 ; 264 014E CD 0678 ASIGN: CALL CIMIN ;NAME 265 ; <A>..NAME (EXTERN CALLS) 266 0151 21 00B3 LXI H,IOTAB ;TABLE 267 0154 0E 04 MVI C,4 ;COUNTER 268 0156 11 0006 LXI D,6 ;OFFSET 269 0159 BE ASS0: CMP M ;IS IT? 270 015A CA 016B JZ ASS1 ;+ 271 015D 19 DAD D ;ADR 272 015E 0D DCR C ;ALL ? 273 015F C2 0159 JNZ ASS0 ;- 274 ; 275 ; ERROR MESSAGE 276 ; 277 0162 CD 001B ERROR: CALL QUES 278 0165 CD 0218 CALL BEEP 279 0168 C3 051E JMP INIC ;START 280 ; 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-5 281 016B CD 0013 ASS1: CALL EQUAL 282 016E CD 04B5 CALL ECHO ;PHIS.D 283 0171 23 INX H 284 0172 46 MOV B,M ;MASK 285 0173 0E 00 MVI C,0 ;IOBYT 286 0175 23 ASS2: INX H 287 0176 BE CMP M ;IS IT? 288 0177 CA 0186 JZ ASS3 ;+ 289 017A F5 PUSH PSW 290 017B 3E 55 MVI A,55H ;OFFSET 291 017D 81 ADD C 292 017E 4F MOV C,A 293 017F DA 0162 JC ERROR ;NO # 294 0182 F1 POP PSW 295 0183 C3 0175 JMP ASS2 ;NEXT 296 0186 79 ASS3: MOV A,C ;COMPUTE IOBYT 297 0187 A0 ANA B ;MASK 298 0188 4F MOV C,A ;SAVE 299 0189 78 MOV A,B 300 018A 2F CMA ;NEG 301 018B 21 40ED IONEW: LXI H,IOBYT 302 018E A6 ANA M 303 018F B1 ORA C 304 0190 77 MOV M,A 305 0191 C9 RET 306 ; 307 ; QUERY DEVICE 308 ; 309 0192 21 00B3 QUERY: LXI H,IOTAB ;TABLE 310 0195 3A 40ED LDA IOBYT ; READ 311 0198 47 MOV B,A ;SAVE 312 0199 CD 019C CALL $+3 313 019C CD 019F CALL $+3 ;DO IT 314 ; DISPLAY ASSIGN I/O 315 019F CD 0697 CALL SPACE 316 01A2 7E MOV A,M ; READ LOGICAL NAME 317 01A3 CD 04B8 CALL COA 318 01A6 CD 0013 CALL EQUAL 319 01A9 E5 PUSH H ;SAVE ADR 320 01AA 23 INX H 321 01AB 23 INX H ;ADR 322 01AC 78 MOV A,B 323 01AD E6 03 ANI 3 324 01AF 5F MOV E,A 325 01B0 16 00 MVI D,0 326 01B2 19 DAD D ;PHYSICAL DEVICE ADR 327 01B3 7E MOV A,M 328 01B4 CD 04B8 CALL COA 329 01B7 78 MOV A,B 330 01B8 0F RRC 331 01B9 0F RRC ;ROTATE IOBYT 332 01BA 47 MOV B,A 333 01BB E1 POP H 334 01BC 1E 06 MVI E,6 ;OFFSET 335 01BE 19 DAD D 336 01BF C9 RET ;HL=NEXT ADR 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-6 337 ; 338 ;%%%%%%%%%%%%%%%%%%%%%%%%% 339 ; I/O DEVICE CONTROL 340 ;%%%%%%%%%%%%%%%%%%%%%%%%% 341 342 01C0 B7 CSTS1: ORA A 343 01C1 FA 40E0 JM CSLOC ;USER CSTS 344 01C4 AF XRA A 345 01C5 C9 RET ;BATCH-NOT READY 346 ; 347 01C6 3A 40ED CSTS: LDA IOBYT 348 01C9 1F RAR 349 01CA 1F RAR 350 01CB DA 01C0 JC CSTS1 351 IF NOT CPM 352 353 ; STATUS KLAVESNICE 354 355 01CE 3A 2400 KBSTS: LDA 2400H ; STATUS SC/ 356 01D1 0F RRC 357 01D2 3E FF MVI A,0FFH 358 01D4 CE 00 ACI 0 359 01D6 C9 RET 360 01D7 FFFF FFFF DW -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 361 01DB FFFF FFFF 362 01DF FFFF FFFF 363 01E3 FFFF FFFF 364 01E7 FFFF FFFF 365 01EB FFFF FFFF DW -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 366 01EF FFFF FFFF 367 01F3 FFFF FFFF 368 01F7 FFFF FFFF 369 01FB FFFF FFFF 370 01FF FFFF FFFF DW -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 371 0203 FFFF FFFF 372 0207 FFFF FFFF 373 020B FFFF FFFF 374 020F FFFF FFFF 375 0213 FF FF FF FF DB -1,-1,-1,-1,-1 376 0217 FF 377 ; 378 ELSE 379 PUSH B 380 PUSH D 381 PUSH H 382 MVI C,6 383 MVI E,0FFH 384 CALL 5 385 CPI CTRLW 386 CZ RESTA ; BREAK 387 ORA A 388 POP H 389 POP D 390 POP B 391 RET 392 ; 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-7 393 ENDIF 394 395 0218 C5 BEEP: PUSH B 396 0219 0E 28 MVI C,40 397 021B CD 0224 CALL CLICK 398 021E 0D DCR C 399 021F C2 021B JNZ $-4 400 0222 C1 POP B 401 0223 C9 RET 402 403 0224 26 24 CLICK: MVI H,24H ; PORT0 404 0226 36 00 MVI M,0 ; REPRO ON 405 0228 05 CLCK1: DCR B 406 0229 C2 0228 JNZ CLCK1 407 022C 36 02 MVI M,2 ; REPRO OFF 408 022E 05 CLCK2: DCR B 409 022F C2 022E JNZ CLCK2 410 0232 C9 RET 411 412 413 ; PROHLEDAVANI KLAVESNICE ANK-1 414 ;=============================== 415 ; KONSTANTNI DOBA PROHLEDAVANI 0.816 MS/488NS. 416 ; PLATNA POSLEDNI NALEZENA KLAVESA. 417 ; B...CITAC DO 8, C... LINEARNI KOD 418 ; D...SHIFT FLAG, SOUCASNE MASKA LED. 419 ; E...CITAC LINEARNIHO KODU KLAVES: 420 ; A-Q-1-LF-CR-P-0 Z-S-W-SP-L-O-9.. 421 ; H...UKAZATEL NA PORT0 JPR-1 422 ; L...VYBER MATICE VODOROVNE 423 424 ; PO PROVEDENI KOD V 'A', 'C' REGISTRU. 425 ; PRIZNAK 'SHIFT' V 'D' REGISTRU. 426 ; FLAG 'SIGN' SIGNALIZUJE STISKNUTI- 427 ; PLUS...ANO, MINUS...NE 428 429 0233 E5 KEYIN: PUSH H ; V2.2 20.1.85 430 0234 11 1FFF LXI D,1FFFH ; MASKA&CITAC 431 0237 0E 00 MVI C,0 432 0239 26 24 MVI H,24H ; PORT0 433 023B 3E EF MVI A,11101111B 434 023D 6F NXLIN: MOV L,A 435 023E A2 ANA D 436 023F 77 MOV M,A 437 0240 06 08 MVI B,8 ; CITAC BITU 438 0242 7E MOV A,M 439 0243 0F KEY: RRC 440 0244 1C INR E ; NACTI KOD 441 0245 DA 024E JC NXKEY ; SKOC, KDYZ NIC 442 0248 4B MOV C,E ; KOD KLAVESY 443 0249 C2 024E JNZ NXKEY ; SHIFT ? 444 024C 16 3F MVI D,3FH ; ANO NASTAV MASKU 445 024E 05 NXKEY: DCR B 446 024F C2 0243 JNZ KEY 447 0252 7D MOV A,L 448 0253 0F RRC 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-8 449 0254 DA 023D JC NXLIN 450 0257 0D DCR C ; NASTAV 'SIGN' 451 0258 E1 POP H 452 0259 F8 RM ; STISKNUTA? 453 025A 7A MOV A,D ; SHIFT? 454 025B E6 20 ANI 20H 455 025D 79 MOV A,C 456 025E C8 RZ ; NE,NAVRAT 457 025F 83 ADD E ; ANO, +39 458 0260 4F MOV C,A 459 0261 C9 RET 460 461 ENDIF 462 ; 463 ; 464 ; 465 0262 CD 0313 CALL RESTA ;^W 466 0265 CD 0294 KBR: CALL KBRD 467 0268 FE 17 CPI CTRLW 468 026A CA 0262 JZ KBR-3 ; SIMUL. INTERRUPT 469 026D FE 11 CPI CTRLQ 470 026F C0 RNZ 471 472 0270 C5 PUSH B ;WINDOW 473 0271 D5 PUSH D 474 0272 E5 PUSH H 475 0273 06 00 MVI B,0 476 0275 CD 07A0 CALL UCMD ;CLEAR 477 0278 CD 0294 CALL KBRD ;NUMBER OF RESEVED LINES 478 027B E6 0F ANI 0FH ;MAX 15 479 027D 32 40EA STA RESL 480 0280 06 80 MVI B,80H ;SET NEW LINE 481 0282 CD 07A0 CALL UCMD 482 0285 E1 POP H 483 0286 D1 POP D 484 0287 C1 POP B 485 0288 C3 0265 JMP KBR ;NEW CHAR. 486 ; 487 028B 79 CICO: MOV A,C ; DIRECT CRT/KBRD 488 028C 3C INR A 489 028D C2 06A4 JNZ CRT ; ONLY OUTPUT 490 0290 CD 01CE CALL KBSTS 491 0293 C8 RZ 492 493 0294 E5 KBRD: PUSH H 494 ; 495 IF CPM 496 KBR1 MVI E,0FFH 497 MVI C,6 498 CALL 5 499 ANI 7FH 500 JNZ KBR1 ;WAIT 501 ELSE 502 0295 26 27 MVI H,27H 503 0297 36 02 MVI M,2 ; AC/=0 ZVUK/=1 504 0299 7E KBRD1: MOV A,M ; SC/ = 00 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-9 505 029A 0F RRC 506 029B DA 0299 JC KBRD1 507 029E 24 INR H 508 029F 7E MOV A,M ; KOD ZNAKU 509 02A0 2F CMA 510 02A1 E6 7F ANI 7FH 511 02A3 6F MOV L,A 512 02A4 25 DCR H 513 02A5 36 03 MVI M,3 ; AC/=1 514 02A7 7E KBRD2: MOV A,M 515 02A8 0F RRC 516 02A9 D2 02A7 JNC KBRD2 517 02AC 36 02 MVI M,2 ; AC/=0 518 02AE 3A 40E3 LDA MODE 519 02B1 E6 04 ANI 4 ; LOWER OPTION? 520 02B3 7D MOV A,L 521 02B4 E1 POP H 522 02B5 C2 02DB JNZ CNTRP ; IF LOWER 523 02B8 FE 61 CPI 61H ; <'a' 524 02BA DA 02DB JC CNTRP 525 02BD FE 7B CPI 7BH ; >'z' 526 02BF D2 02DB JNC CNTRP 527 02C2 D6 20 SUI 20H ; LOWER=>UPPER 528 02C4 C3 02DB JMP CNTRP 529 02C7 FFFF FFFF DW -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 530 02CB FFFF FFFF 531 02CF FFFF FFFF 532 02D3 FFFF FFFF 533 02D7 FFFF FFFF 534 535 ENDIF 536 ; 537 02DB FE 10 CNTRP: CPI CTRLP ;^P 538 02DD C0 RNZ 539 02DE 3A 40E3 LDA MODE 540 02E1 EE 01 XRI 1 541 02E3 32 40E3 STA MODE ; LPR ON/OFF 542 02E6 C3 0294 JMP KBRD 543 ; 544 ; 545 02E9 E5 RI: PUSH H 546 02EA 21 00E3 LXI H,RITB 547 02ED 3A 40ED LDA IOBYT 548 02F0 0F RICOM: RRC 549 02F1 0F RRC 550 02F2 C3 05EB JMP IOCOM 551 ; 552 02F5 E5 PO: PUSH H 553 02F6 21 00EB LXI H,POTB 554 02F9 3A 40ED LDA IOBYT 555 02FC 0F RRC 556 02FD 0F RRC 557 02FE C3 02F0 JMP RICOM 558 ; 559 0301 E5 LO: PUSH H 560 0302 21 00DB LXI H,LOTB 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-10 561 0305 3A 40ED LDA IOBYT 562 0308 07 RLC 563 0309 07 RLC 564 030A C3 05EB JMP IOCOM 565 ;---------------------------- 566 ; 567 030D CD 07B9 COLO: CALL LPR 568 0310 C3 06A4 JMP CRT 569 ;---------------------------- 570 ; 571 ; 572 ; RUN AND BREAK MODUL: 573 ; 574 0313 F3 RESTA: DI ;SAVE ALL 575 0314 22 4098 SHLD HLSAV 576 0317 F5 PUSH PSW 577 0318 21 0002 LXI H,2 ;OFSSET 578 031B 39 DAD SP 579 031C 22 409C SHLD SPSAV 580 031F F1 POP PSW 581 0320 E1 POP H ;PC 582 0321 31 4098 LXI SP,HLSAV 583 0324 D5 PUSH D 584 0325 C5 PUSH B 585 0326 F5 PUSH PSW 586 0327 EB XCHG 587 0328 1B DCX D ; PC-1 588 0329 21 409E LXI H,BRAD ;BREAK ? 589 032C 0E 02 MVI C,2 ; TWO BREAKS 590 032E C5 RST10: PUSH B ;COUNTER 591 032F 4E MOV C,M 592 0330 36 00 MVI M,0 593 0332 23 INX H 594 0333 46 MOV B,M 595 0334 36 00 MVI M,0 596 0336 23 INX H 597 0337 79 MOV A,C 598 0338 B0 ORA B ;0 ? 599 0339 CA 034A JZ RST20 ;NO BREAK 600 033C 7E MOV A,M ;RESTORE INSTR 601 033D 02 STAX B 602 033E 23 INX H 603 033F E5 PUSH H 604 0340 60 MOV H,B 605 0341 69 MOV L,C ;BREAK/INTR ? 606 0342 CD 0629 CALL COMPR 607 0345 E1 POP H 608 0346 C2 034A JNZ RST20 609 0349 1B DCX D ;PC-1 610 034A C1 RST20: POP B 611 034B 0D DCR C 612 034C C2 032E JNZ RST10 613 034F EB XCHG 614 0350 23 INX H ;RESTORE PC 615 0351 22 409A SHLD PCSAV 616 0354 37 STC 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-11 617 0355 CD 03AB CALL X+3 ;DISPLAY ALL REGISTERS 618 0358 C3 0526 JMP NEXT ;WAIT FOR COMMAND 619 ; 620 ; GO TO COMMAND 621 ; 622 035B CD 0013 GOTO: CALL EQUAL 623 035E CD 067B CALL CINCR ;COMMAND 624 0361 DA 0392 JC GO@ ;IF CR THEN GOTO FROM OLD PC 625 0364 CA 0374 JZ GO@BR ; OLD PC AND BREAK 626 0367 CD 05F0 CALL EXPRM ;START ADR 627 036A E1 POP H 628 036B 22 409A SHLD PCSAV ;SET NEW 629 036E 78 MOV A,B ;ONLY START ADR ? 630 036F FE 0D CPI CR 631 0371 CA 0392 JZ GO@ 632 0374 CD 062F GO@BR: CALL RADR ;READ BREAK ADR 633 0377 22 409E SHLD BRAD 634 037A 7E MOV A,M ;SAVE INSTR. CODE 635 037B 32 40A0 STA INSTR 636 037E 36 CF MVI M,RSTN ;SET RST 637 0380 3E 0D MVI A,CR 638 0382 B8 CMP B ;ONLY 1-BREAK ? 639 0383 CA 0392 JZ GO@ 640 ; SECOND BREAK 641 0386 CD 062F CALL RADR 642 0389 22 40A1 SHLD BRAD2 643 038C 7E MOV A,M 644 038D 32 40A3 STA INST2 645 0390 36 CF MVI M,RSTN 646 ; START PROGRAM 647 0392 CD 05DD GO@: CALL CRLF 648 0395 F3 DI 649 0396 31 4092 LXI SP,ACSAV ;REASTORE REGISTERS 650 0399 F1 POP PSW 651 039A C1 POP B 652 039B D1 POP D 653 039C 2A 409C LHLD SPSAV ;STACK 654 039F F9 SPHL 655 03A0 2A 409A LHLD PCSAV ; PC 656 03A3 E3 XTHL 657 03A4 2A 4098 LHLD HLSAV 658 03A7 C9 RET ;CONTINUE... 659 ; 660 ; EXAMINE REGISTRS 661 ; 662 03A8 CD 067B X: CALL CINCR ;COMMAND 663 03AB 21 0419 LXI H,RGNAM ;NAME TABLE 664 03AE 16 40 MVI D,HIGH ACSAV ;DATA 665 03B0 D2 03BE JNC X1 ;CHANGE 666 03B3 CD 05DD CALL CRLF 667 03B6 CD 03F6 X0: CALL XDISP 668 03B9 C8 RZ ;END 669 03BA 23 INX H 670 03BB C3 03B6 JMP X0 671 03BE CA 03D5 X1: JZ X2 ;NO CHANGE 672 03C1 5F MOV E,A ;SAVE NAME 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-12 673 03C2 01 DB 1 ; LXI B,## 674 03C3 23 X10: INX H 675 03C4 23 INX H 676 03C5 7E MOV A,M ; READ NAME REG. 677 03C6 E6 7F ANI 7FH 678 03C8 CA 0162 JZ ERROR ; NO FIND 679 03CB BB CMP E 680 03CC C2 03C3 JNZ X10 ; NEXT 681 03CF CD 0400 CALL XDIS1 ; DISPLAY IT 682 03D2 C3 03D8 JMP X2+3 683 ; 684 03D5 CD 03F9 X2: CALL XDISP+3 685 03D8 C8 RZ 686 03D9 CD 0678 CALL CIMIN ;- COMMAND 687 03DC D8 RC ;CR - END 688 03DD 5E MOV E,M ;LOW ADR 689 03DE 23 INX H 690 03DF CA 03D5 JZ X2 ;SP - NEXT 691 03E2 EB XCHG 692 03E3 D5 PUSH D 693 03E4 CD 0636 CALL RBYT ; READ NEW BYTE AND CHANGE 694 03E7 05 DCR B 695 03E8 CA 03EE JZ $+6 696 03EB 72 MOV M,D ; HIGH BYTE 697 698 03EC 2B DCX H 699 03ED 73 MOV M,E ;LOW 700 03EE D1 POP D 701 03EF EB XCHG 702 03F0 FE 0D CPI CR ;LAST? 703 03F2 C8 RZ ;+ 704 03F3 C3 03D5 JMP X2 ;NEXT 705 ; 706 03F6 CD 0697 XDISP: CALL SPACE 707 03F9 7E MOV A,M 708 03FA E6 7F ANI 7FH 709 03FC C8 RZ 710 03FD CD 04B8 CALL COA 711 0400 CD 0013 XDIS1: CALL EQUAL ;NAME= 712 0403 7E MOV A,M 713 0404 07 RLC 714 0405 3E 01 MVI A,1 715 0407 CE 00 ACI 0 ; COMPUTE LENGHT 716 0409 47 MOV B,A ; SAVE 717 040A 23 INX H 718 040B 5E MOV E,M ; LOW ADR 719 040C 1A LDAX D ;HIG BYTE 720 040D CD 0651 CALL DBYT 721 0410 78 MOV A,B ;SINGLE REG. ? 722 0411 3D DCR A 723 0412 1B DCX D 724 0413 1A LDAX D ;READ SECOND BYTE 725 0414 C4 0651 CNZ DBYT ;IF 2.BYTE REG. THEN DISP. 726 0417 B3 ORA E ;NZY (IN PAGE) 727 0418 C9 RET 728 ; 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-13 729 ; X: COMMAND TABLE 730 0419 41 93 RGNAM: DB 'A',LOW ACSAV+1 731 041B 46 92 DB 'F',LOW ACSAV 732 041D 42 95 DB 'B',LOW BCSAV+1 733 041F 43 94 DB 'C',LOW BCSAV 734 0421 44 97 DB 'D',LOW DESAV+1 735 0423 45 96 DB 'E',LOW DESAV 736 0425 48 99 DB 'H',LOW HLSAV+1 737 0427 4C 98 DB 'L',LOW HLSAV 738 0429 D0 9B DB 'P' OR 80H,LOW PCSAV+1 739 042B D3 9D DB 'S' OR 80H,LOW SPSAV+1 740 042D 00 DB 0 741 ; 742 ; DISPLAY CONTENS OF MEMORY 743 ; 744 042E CD 05B1 DISP: CALL EXPR ; FROM -TO 745 0431 D1 POP D 746 0432 E1 POP H 747 0433 E5 DI0: PUSH H ;FIRST ADR 748 0434 CD 0643 CALL DNADR ;NEW ADR 749 0437 7E DI1: MOV A,M 750 0438 CD 0694 CALL DBYTE 751 043B CD 0624 CALL HILO 752 043E DA 0447 JC DIA ;DISPLAY ASCII 753 0441 7D MOV A,L 754 0442 E6 07 ANI 7 755 0444 C2 0437 JNZ DI1 ;NEXT BYTE 756 0447 E1 DIA: POP H 757 0448 CD 0697 CALL SPACE 758 044B 7E DI2: MOV A,M 759 044C 0E 2E MVI C,'.' ;NO ASCII 760 044E FE 20 CPI ' ' 761 0450 D2 0454 JNC $+4 762 0453 79 MOV A,C 763 0454 FE 60 CPI 60H 764 0456 DA 045B JC $+5 765 0459 D6 20 SUI ' ' 766 045B CD 04B8 CALL COA 767 045E CD 0624 CALL HILO 768 0461 D8 RC 769 0462 7D MOV A,L 770 0463 E6 07 ANI 7 771 0465 C2 044B JNZ DI2 ;NEXT ASCII 772 0468 CD 01C6 CALL CSTS 773 046B CA 0433 JZ DI0 ;NEXT LINE 774 046E CD 0678 CALL CIMIN ;#VERS."F" - 775 0471 D8 RC ;#IF SPC WAIT 776 0472 C0 RNZ ;#ELSE BREAK. 777 0473 CD 067B CALL CINCR ;#CR? 778 0476 D2 0433 JNC DI0 ;#BREAK,IF CR 779 0479 C9 RET 780 ; 781 ; FILL MEMORY BLOCK WITH BYTE 782 ; 783 047A 0C FILL: INR C 784 047B CD 05B1 CALL EXPR ;FROM-TO-WITH 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-14 785 047E C1 POP B 786 047F D1 POP D 787 0480 E1 POP H 788 0481 71 FI1: MOV M,C 789 0482 CD 0624 CALL HILO 790 0485 D2 0481 JNC FI1 791 0488 C9 RET 792 ; 793 ; MOVE BLOCK MEMORY 794 ; 795 0489 0C MOVE: INR C 796 048A CD 05B1 CALL EXPR 797 048D C1 POP B 798 048E D1 POP D 799 048F E1 POP H 800 0490 7E MO1: MOV A,M 801 0491 02 STAX B 802 0492 03 INX B 803 0493 CD 0624 CALL HILO 804 0496 D2 0490 JNC MO1 805 0499 C9 RET 806 ; 807 ; SUBSTITUTE MEMORY 808 ; 809 049A CD 062F SUBS: CALL RADR ;ADR 810 049D 7E SU1: MOV A,M 811 049E CD 0651 CALL DBYT 812 04A1 CD 0678 CALL CIMIN ;- & CINCR 813 04A4 D8 RC ;CR 814 04A5 CA 04AC JZ SU2 815 04A8 CD 0636 CALL RBYT ;CHANGE 816 04AB C8 RZ ;END 817 04AC 23 SU2: INX H ;NEXT BYTE 818 04AD FE 2C CPI ',' ;IF , THEN DISPLAY ADR 819 04AF CC 0643 CZ DNADR 820 04B2 C3 049D JMP SU1 821 ; 822 ; CONSOLE MODUL 823 ; 824 ; 825 04B5 CD 005E ECHO: CALL CI 826 04B8 C5 COA: PUSH B 827 04B9 4F MOV C,A 828 04BA CD 05E4 CALL CO 829 04BD C1 POP B 830 04BE C9 RET 831 ; 832 IF SP1A 833 MINUS: MVI A,'-' 834 JMP COA 835 ; 836 EQUAL: MVI A,'=' 837 JMP COA 838 ; 839 QUES: MVI A,'?' 840 JMP COA 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-15 841 ; 842 ENDIF 843 ; 844 ;SET MODE. I/O FLAGS 845 ; 846 04BF 47 EXFLG: MOV B,A 847 04C0 79 MOV A,C 848 04C1 FE 0A CPI EXSER ; OVERFLOW ? 849 04C3 78 MOV A,B 850 04C4 D0 RNC 851 04C5 E5 PUSH H ; <A> .. COMMAND 852 ; <C> .. 0-N SLUZBA 853 04C6 06 00 MVI B,0 ; 0-MODE, 1-@IF1..4@OF2 854 04C8 21 40E3 LXI H,MODE ; 0=0 855 04CB 09 DAD B ; 5- RESERVE_LINE, 6-S@FLG 856 04CC 77 MOV M,A 857 04CD E1 POP H 858 04CE C9 RET 859 860 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 861 ; **** S T A R T M O N I T O R U **** 862 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 863 ; 864 04CF D3 13 COLD: OUT URES ; RESET 865 04D1 AF XRA A ;MONITORU 866 04D2 D3 10 OUT UMODE 867 04D4 3E 0D MVI A,0DH 868 04D6 D3 11 OUT MMODE 869 04D8 00 NOP ; RESERVA 870 04D9 00 NOP 871 04DA 00 NOP 872 04DB 00 NOP 873 ; 874 ;------------------------------------- 875 04DC F3 BEG: DI ; COMMAND "C" 876 04DD 21 4090 LXI H,MSTAK ; SET STACK POINTER 877 04E0 F9 SPHL 878 04E1 11 40FF LXI D,@R@+255 879 04E4 0E 00 MVI C,0 880 04E6 CD 0481 CALL FI1 ;CLEAR M-RAM 881 04E9 3E 55 MVI A,BEGIO ;SET IOBYTE 882 04EB 32 40ED STA IOBYT 883 04EE CD 069C CALL COINIT ;TV 884 04F1 CD 059A CALL EP2? ;M-PLUS ? 885 04F4 CC 0803 CZ EP2+3 ;INIT M-PLUS 886 04F7 21 4000 LXI H,RAM 887 04FA 24 MEM1: INR H ; NEXT PAGE 888 04FB 7C MOV A,H 889 IF HIGH ERAM NE 0FFH 890 CPI HIGH ERAM+1 891 ELSE 892 04FC FE 00 CPI 0 893 ENDIF 894 04FE CA 050A JZ MEM2 895 0501 7E MOV A,M 896 0502 2F CMA 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-16 897 0503 77 MOV M,A ; WRITE COMPLEMENT 898 0504 BE CMP M ; WRITE O.K. ? 899 0505 2F CMA 900 0506 77 MOV M,A ; RAM RESTORE 901 0507 CA 04FA JZ MEM1 902 050A 2B MEM2: DCX H ; LAST BYTE IN RAM 903 050B 22 40EE SHLD MEMTOP ; SAVE ADDRES 904 050E 3E 17 MVI A,17H ; LIN. KOD 'C' 905 0510 32 40A4 STA LASTC ; LAST CODE 906 0513 3E FF MVI A,0FFH 907 0515 32 40A8 STA FLAG ; ZAKAZ CSTS 908 0518 21 4070 LXI H,MSTAK-20H 909 051B 22 409C SHLD SPSAV 910 911 ; OHLASENI MONITORU 912 913 051E 21 00F3 INIC: LXI H,VERS ; TEXT OHLASENI 914 0521 16 0D MVI D,LVER ; DELKA TEXTU 915 0523 CD 068A CALL TEXT ; TEXT OHLASENI 916 ;------------------------------------ 917 ; * VYHODNOCENI POVELU OPERATORA * 918 ;------------------------------------ 919 920 0526 31 4090 NEXT: LXI SP,MSTAK ; SET STACK FOR MONITOR 921 0529 21 0526 LXI H,NEXT 922 052C E5 PUSH H ;RET. ADR 923 IF NOT CPM 924 052D 26 30 MVI H,30H ;INTERRUPT ENABLE 925 052F 36 02 MVI M,2 926 ENDIF 927 0531 CD 05DD CALL CRLF 928 0534 3E C3 MVI A,0C3H ; JMP 929 0536 32 4000 STA @R@ ; SET INTERUPT ADR "08CH" 930 0539 21 0313 LXI H,RESTA 931 053C 22 4001 SHLD @R@+1 932 053F 0E 2E MVI C,'.' 933 0541 CD 05E4 CALL CO 934 0544 CD 067B CALL CINCR ; POVEL 935 0547 6F XY: MOV L,A ; L-COMMAND 936 0548 E5 PUSH H ; SAVE 937 0549 D6 41 SUI 'A' 938 054B FA 0526 JM NEXT ; ASCII < "A" 939 054E 21 0561 LXI H,CTBL ; ZACATEK COMMAND TABLE 940 0551 01 1802 LXI B,(LCT SHL 8) OR 2 941 0554 B8 INJM@: CMP B 942 0555 D2 0162 JNC ERROR ;OVERFLOW 943 0558 87 INJMP: ADD A ;2* 944 0559 85 ADD L 945 055A 6F MOV L,A 946 055B 7E MOV A,M 947 055C 23 INX H 948 055D 66 MOV H,M 949 055E 6F MOV L,A 950 055F E3 XTHL ;SET HL 951 0560 C9 RET ;START 952 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-17 953 ;---------------------------------- 954 ; * TABULKA POVELU MOVITORU * 955 ;---------------------------------- 956 957 ; 958 0561 014E CTBL: DW ASIGN ; ASSING I/O RUTINE 959 0563 0591 DW EXROM ;B 960 0565 04DC DW BEG ; CLEAR 961 0567 042E DW DISP ; DISPLAY MEMORY 962 0569 0591 DW EXROM ; END OF FILE 963 056B 047A DW FILL ; FILL MEMORY 964 056D 035B DW GOTO ; GOTO WITH BREAK 965 056F 0591 DW EXROM 966 0571 0591 DW EXROM ;I 967 0573 0591 DW EXROM ;J 968 0575 0591 DW EXROM ;K 969 0577 0591 DW EXROM ;L 970 0579 0489 DW MOVE ; MOVE MEM. 971 057B 0591 DW EXROM ; N - BLANK 972 057D 0591 DW EXROM ;O 973 057F 0591 DW EXROM ;P 974 0581 0192 DW QUERY ; Q - MEMTOP & IOBYTE 975 0583 0591 DW EXROM ; READ TAPE 976 0585 049A DW SUBS ; SUBSTITUTE 977 0587 0591 DW EXROM 978 0589 0591 DW EXROM ;U 979 058B 0591 DW EXROM 980 058D 0591 DW EXROM ;WRITE TO TAPE 981 058F 03A8 DW X ;X - EXAMINE 982 0018 LCT EQU ($-CTBL)/2 983 984 985 ; 986 ; EXTEND ROM WITH MONIT-PLUS ? 987 ; 988 0591 CD 059A EXROM: CALL EP2? 989 0594 C2 0162 JNZ ERROR ;NO, ERROR 990 0597 C3 0806 JMP EP2 + 6 ;YES, EXECUTE COMMAND 991 ; 992 059A 3A 0800 EP2?: LDA EP2 993 059D FE C3 CPI 0C3H ;JMP? 994 059F C9 RET 995 ; 996 ; 997 998 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 999 ; * EXTERNAL RUTINES FOR MONITOR * 1000 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 1001 1002 1003 1004 ; HIGH NIBBLE 1005 05A0 0F HBYTE: RRC 1006 05A1 0F RRC 1007 05A2 0F RRC 1008 05A3 0F RRC 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-18 1009 05A4 E6 0F LBYTE: ANI 0FH 1010 ; PREVOD HEXADECIMALNI CIFRY NA ASCII V "C" REG 1011 1012 05A6 C6 90 HXASC: ADI 90H 1013 05A8 27 DAA 1014 05A9 CE 40 ACI 40H 1015 05AB 27 DAA 1016 05AC 4F MOV C,A 1017 05AD C9 RET 1018 1019 ; SKLADANI ADRES (VSTUP PARAMETRU) DO STACKU, POCET V C-REG 1020 1021 05AE DA 0162 EXPRO: JC ERROR ;# VERS."C" # 1022 05B1 CD 0013 EXPR: CALL EQUAL ; TISK = 1023 05B4 21 0000 LXI H,0 1024 05B7 CD 04B5 EX0: CALL ECHO 1025 05BA 47 EX1: MOV B,A 1026 05BB FE 27 CPI 27H ;' 1027 05BD CA 05F8 JZ EX4 1028 05C0 CD 0667 CALL ASHEX ; HEX CIFRA ? 1029 05C3 DA 05CF JC EX3 ; POSUV "HL" O 4 BITY VLEVO 1030 05C6 29 DAD H 1031 05C7 29 DAD H 1032 05C8 29 DAD H 1033 05C9 29 DAD H 1034 05CA B5 ORA L 1035 05CB 6F MOV L,A 1036 05CC C3 05B7 JMP EX0 ; DALSI ZNAK 1037 1038 05CF 78 EX3: MOV A,B 1039 05D0 CD 067E CALL ANAL 1040 05D3 C2 0162 JNZ ERROR ; NENI HEX CIFRA 1041 05D6 E3 XTHL 1042 05D7 E5 PUSH H 1043 05D8 0D DCR C ; CARKA, MEZERA 1044 05D9 C2 05AE JNZ EXPRO ; DALSI ADRESY 1045 05DC D0 RNC ;#VERS."F"# 1046 ; 1047 05DD 0E 0D CRLF: MVI C,CR 1048 05DF CD 05E4 CALL CO 1049 05E2 0E 0A MVI C,LF ; DO CR,LF 1050 ; 1051 05E4 E5 CO: PUSH H 1052 05E5 21 00CB LXI H,COTB 1053 05E8 3A 40ED LDA IOBYT 1054 05EB E6 03 IOCOM: ANI 3 1055 05ED C3 0558 JMP INJMP 1056 1057 1058 05F0 0E 01 EXPRM: MVI C,1 1059 05F2 21 0000 LXI H,0 1060 05F5 C3 05BA JMP EX1 1061 ; 1062 05F8 CD 067B EX4: CALL CINCR ;COMMAND 1063 05FB 47 MOV B,A ;SAVE 1064 05FC CA 05CF JZ EX3 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-19 1065 05FF 65 MOV H,L 1066 0600 6F MOV L,A 1067 0601 C3 05F8 JMP EX4 1068 1069 ; IODEF:... DEFINE USER I/O RUTINE 1070 1071 0604 C5 IODEF: PUSH B 1072 0605 E5 PUSH H 1073 0606 21 40EE LXI H,MEMTOP ;NEW FUNCTION 1074 0609 79 MOV A,C ; NUMBER 1075 060A FE 08 CPI 8 1076 060C CA 061E JZ IODEF1 1077 060F F2 0162 JP ERROR 1078 0612 81 ADD C 1079 0613 81 ADD C 1080 0614 4F MOV C,A 1081 0615 06 00 MVI B,0 ; OFFSET 1082 0617 21 40CB LXI H,CILOC ; COMPUTE ADR 1083 061A 09 DAD B 1084 061B 36 C3 MVI M,0C3H ; JMP 1085 061D 23 INX H 1086 061E 73 IODEF1: MOV M,E 1087 061F 23 INX H 1088 0620 72 MOV M,D ; ADR 1089 0621 E1 POP H ; UNSAVE 1090 0622 C1 POP B 1091 0623 C9 RET 1092 1093 1094 ; INKREMENTRUJE "HL" ,KONTROLUJE "HL"=0 NEBO 1095 ; "HL">"DE"...CARRY=1 1096 1097 0624 23 HILO: INX H 1098 0625 7C MOV A,H 1099 0626 B5 ORA L 1100 0627 37 STC 1101 0628 C8 RZ ; NAVRAT PO "HL"=0000 1102 0629 7A COMPR: MOV A,D 1103 062A BC CMP H 1104 062B C0 RNZ 1105 062C 7B MOV A,E 1106 062D BD CMP L 1107 062E C9 RET 1108 1109 ; READ ADR 1110 1111 062F 0E 01 RADR: MVI C,1 1112 0631 CD 05B1 CALL EXPR 1113 0634 E1 POP H 1114 0635 C9 RET 1115 1116 1117 ; READ NEW BYTE 1118 1119 0636 C5 RBYT: PUSH B 1120 0637 E5 PUSH H 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-20 1121 0638 CD 05F0 CALL EXPRM 1122 063B D1 POP D 1123 063C E1 POP H 1124 063D 73 MOV M,E 1125 063E 78 MOV A,B 1126 063F FE 0D CPI CR 1127 0641 C1 POP B 1128 0642 C9 RET 1129 1130 1131 ; DISPLAY NEW ADR 1132 1133 0643 CD 05DD DNADR: CALL CRLF 1134 0646 CD 064C DADR: CALL DADR0 1135 0649 C3 0697 JMP SPACE 1136 1137 1138 IF SP1A 1139 ; CHEK I/O STATUS BYTE 1140 1141 IOCHK: LDA IOBYT 1142 RET 1143 1144 1145 ; SET I/O STATUS BYTE 1146 1147 IOSET: MOV A,C 1148 STA IOBYT 1149 RET 1150 ENDIF 1151 1152 ; DISPLAY ADDRES INT0 "HL" 1153 1154 064C 7C DADR0: MOV A,H 1155 064D CD 0651 CALL DBYT 1156 0650 7D MOV A,L 1157 1158 ; DISPLAY BYTE INT0 ACC 1159 1160 0651 F5 DBYT: PUSH PSW 1161 0652 CD 05A0 CALL HBYTE 1162 0655 CD 05E4 CALL CO 1163 0658 F1 POP PSW 1164 0659 CD 05A4 CALL LBYTE 1165 065C C3 05E4 JMP CO 1166 1167 1168 ; CHEK SIZE RAM MEMORY 1169 1170 065F E5 MEMCK: PUSH H 1171 0660 2A 40EE LHLD MEMTOP 1172 0663 7D MOV A,L 1173 0664 44 MOV B,H 1174 0665 E1 POP H 1175 0666 C9 RET 1176 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-21 1177 ; PREVOD ZNAKU ASCII NA HEXADEC 1178 1179 0667 D6 30 ASHEX: SUI '0' ;#VERS."F"# 1180 0669 D8 RC ; <'0' 1181 066A FE 17 CPI 17H ; >'F' 1182 066C 3F CMC 1183 066D D8 RC 1184 066E FE 0A CPI 10 ; '0'..'9' 1185 0670 3F CMC 1186 0671 D0 RNC 1187 0672 FE 11 CPI 11H ; 0AH..10H 1188 0674 D8 RC 1189 0675 D6 07 SUI 7 ; 'A'..'F' 1190 0677 C9 RET 1191 1192 1193 0678 CD 000B CIMIN: CALL MINUS ;- 1194 ; 1195 067B CD 04B5 CINCR: CALL ECHO 1196 067E FE 2C ANAL: CPI ',' 1197 0680 C8 ANAL0: RZ 1198 0681 FE 20 CPI ' ' 1199 0683 C8 RZ 1200 0684 FE 0D CPI CR 1201 0686 37 STC 1202 0687 C8 RZ 1203 0688 B7 ORA A 1204 0689 C9 RET ; PO CR CARRY=1 1205 1206 ; VYPIS TEXTU - HL ADRESA, D DELKA 1207 1208 068A 4E TEXT: MOV C,M 1209 068B 23 INX H 1210 068C CD 05E4 CALL CO 1211 068F 15 DCR D 1212 0690 C2 068A JNZ TEXT 1213 0693 C9 RET 1214 1215 0694 CD 0651 DBYTE: CALL DBYT 1216 0697 0E 20 SPACE: MVI C,' ' ; DISPLAY MEZERY 1217 0699 C3 05E4 JMP CO 1218 ; 1219 ; 1220 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1221 ; I/O DEVICE 1222 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1223 ; 1224 ; T.V. PARAM. 1225 0028 WIDTH EQU 40 1226 0018 HEIGHT EQU 24 1227 0040 LINOF EQU 64 ;OFFSET 1228 0018 LREST EQU LINOF - WIDTH 1229 3DE7 TVEND EQU TVBEG + 5E7H 1230 001F ERS EQU 1FH ;ERASE SCREEN 1231 001E EOL EQU 1EH ;ERASE END OF LINE 1232 0011 CTRLQ EQU 11H ;^Q-RESERVE 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-22 1233 0010 CTRLP EQU 10H ;^P-LIST 1234 00A0 CURSOR EQU 0A0H ;CODE 1235 001D HOME EQU 1DH ;HOME 1236 ; 1237 ;------------------------------------------------- 1238 1239 069C 21 3800 COINIT: LXI H,TVBEG 1240 069F 22 40A5 SHLD CADR ;SET CURSOR ADR 1241 06A2 0E 1F MVI C,ERS ;CLEAR SCREEN 1242 ; 1243 ;%%%%%%%%%%%%%%%%%%%%%%%%%% 1244 ; CONSOLE OUTPUT 1245 ; <C>...WRITE ON SCREN 1246 ; 1247 06A4 D5 CRT: PUSH D 1248 06A5 E5 PUSH H 1249 06A6 21 073B LXI H,COEX ;RET-ADR 1250 06A9 E5 PUSH H ;PUT TO STACK 1251 06AA 2A 40A5 LHLD CADR ;CLEAR CURSOR 1252 06AD 3A 40A7 LDA CHAR ;ADR RESTORE 1253 06B0 77 MOV M,A ;CHART 1254 06B1 CD 075A CALL COADR ;COMPUTE ADR 1255 06B4 79 MOV A,C 1256 06B5 FE 20 CPI ' ' ;IF ' '...'Z' THEN WRITE 1257 06B7 D2 06DE JNC CRTWR ;ELSE DECODE CONTROL 1258 06BA FE 0D CPI CR ;CHARTS AND DO 1259 06BC CA 0791 JZ CR@ ;CHANGE ON SCREEN 1260 06BF FE 0A CPI LF 1261 06C1 CA 06FC JZ LF@ 1262 06C4 FE 1E CPI EOL 1263 06C6 CA 076F JZ EOL@ ;ERASE TO END LINE 1264 06C9 FE 08 CPI BACK 1265 06CB CA 077B JZ BACK@ ;LEFT SHIFT 1266 06CE FE 1D CPI HOME 1267 06D0 CA 0796 JZ HOME@ ;LEFT UP 1268 06D3 FE 1F CPI ERS 1269 06D5 CA 072A JZ ERS@ 1270 06D8 FE 07 CPI BELL 1271 06DA CA 0218 JZ BEEP 1272 06DD C9 RET 1273 ; 1274 06DE 3A 40E3 CRTWR: LDA MODE 1275 06E1 E6 C0 ANI 0C0H ;MODE 1276 06E3 57 MOV D,A ; SAVE 1277 06E4 79 MOV A,C ;6.BITS 1278 06E5 E6 3F ANI 3FH 1279 06E7 B2 ORA D ;COMPOSITE 1280 06E8 77 MOV M,A ;WRITE! 1281 06E9 D6 C0 SUI 0C0H ;DOUBLE ? 1282 06EB D4 06EE CNC CONXT ;+ 1283 06EE CD 075A CONXT: CALL COADR ;COMPUTE NEXT ADR 1284 06F1 7A MOV A,D 1285 06F2 3C INR A 1286 06F3 32 40E9 STA COLUM ;NEW POSITION 1287 06F6 D6 28 SUI WIDTH ;END LINE 1288 06F8 D8 RC ;NO 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-23 1289 06F9 32 40E9 STA COLUM ;SET POSITION AND COMPUTE 1290 ; NEXT LINE 1291 06FC 7B LF@: MOV A,E 1292 06FD 3C INR A 1293 06FE FE 18 CPI HEIGHT ;END OF SCREEN? 1294 0700 DA 079C JC LF@1 ;NO 1295 0703 2A 40EA LHLD RESL 1296 0706 26 00 MVI H,0 1297 0708 CD 075D CALL COADR+3 ;FIRST LINE 1298 070B C5 PUSH B 1299 070C 3A 40EA LDA RESL ;LINE COUNTER 1300 070F D6 18 SUI HEIGHT 1301 0711 2F CMA 1302 0712 4F MOV C,A 1303 0713 06 28 ROLL: MVI B,WIDTH 1304 0715 EB XCHG 1305 0716 21 0040 ROLL1: LXI H,LINOF ;OFFSET 1306 0719 19 DAD D 1307 071A 7E MOV A,M 1308 071B 12 STAX D ;COPY 1309 071C 13 INX D ;+ 1310 071D 05 DCR B 1311 071E C2 0716 JNZ ROLL1 ;ALL LINE 1312 0721 21 0018 LXI H,LREST ;NEW LINE 1313 0724 19 DAD D 1314 0725 0D DCR C 1315 0726 C2 0713 JNZ ROLL ;NEXT LINE 1316 0729 C1 POP B 1317 ; 1318 072A CD 076F ERS@: CALL EOL@ 1319 072D 11 0018 LXI D,LREST 1320 0730 19 DAD D 1321 0731 11 3DE6 LXI D,TVEND-1 1322 0734 CD 0629 CALL COMPR 1323 0737 D2 072A JNC ERS@ 1324 073A C9 RET 1325 ; 1326 ; 1327 ; "EXIT" AND SET CURSOR 1328 073B CD 075A COEX: CALL COADR ;WRITE CURSOR 1329 073E 3A 40E3 LDA MODE 1330 0741 0F RRC ;CY=1.. LIST 1331 0742 DC 07B9 CC LPR ;PRINT ECHO 1332 0745 7E MOV A,M 1333 0746 32 40A7 STA CHAR ;ADD SAVE CHAR 1334 0749 22 40A5 SHLD CADR 1335 074C 3A 40E3 LDA MODE ;#VERS."F"# 1336 074F E6 20 ANI 20H ;#SUPRESS CURSOR? 1337 0751 C2 0756 JNZ COEX1 ;# 1338 0754 36 A0 MVI M,CURSOR 1339 0756 E1 COEX1: POP H ;UNSAVE 1340 0757 D1 POP D 1341 0758 79 MOV A,C 1342 0759 C9 RET ;END OF CONSOLE OUTPUT 1343 1344 ; SUBROUTINES 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-24 1345 ;-------------------------------------------------- 1346 1347 075A 2A 40E8 COADR: LHLD LINE ;COMPARE ADR <HL> 1348 075D E5 PUSH H 1349 075E 26 00 MVI H,0 1350 0760 29 DAD H 1351 0761 29 DAD H 1352 0762 29 DAD H 1353 0763 29 DAD H 1354 0764 29 DAD H 1355 0765 29 DAD H ;64* 1356 0766 11 3800 LXI D,TVBEG ;TV-RAM 1357 0769 19 DAD D ;BEGIN LINE 1358 076A D1 POP D ;SET DE 1359 076B 7D MOV A,L ;D-COLUM 1360 076C B2 ORA D ;E-LINE 1361 076D 6F MOV L,A ;HL...ADR 1362 076E C9 RET 1363 1364 1365 ; ERASE FROM CURSOR TO END LINE 1366 076F 36 20 EOL@: MVI M,' ' 1367 0771 23 INX H 1368 0772 7D MOV A,L 1369 0773 E6 3F ANI 3FH 1370 0775 FE 28 CPI WIDTH 1371 0777 DA 076F JC EOL@ 1372 077A C9 RET 1373 1374 077B 7A BACK@: MOV A,D ;COLUMN:0 ? 1375 077C B7 ORA A 1376 077D C2 078F JNZ BAC@1 ;NO FINST POSITIONS 1377 0780 1C INR E ;IF LINE=0 THEN BEGIN 1378 0781 1D DCR E ;OF SCREEN 1379 0782 C8 RZ 1380 0783 3A 40EA LDA RESL ;SAVE "RESERVE" PARTIONS 1381 0786 BB CMP E 1382 0787 C8 RZ ;YES,GO OUT 1383 0788 7B MOV A,E ;NO SET NEW LINE 1384 0789 3D DCR A 1385 078A 32 40E8 STA LINE 1386 078D 3E 28 MVI A,WIDTH 1387 078F 3D BAC@1: DCR A 1388 0790 16 DB 16H ;MVI D,# 1389 0791 AF CR@: XRA A ;CARIG. RETURN 1390 0792 32 40E9 STA COLUM 1391 0795 C9 RET 1392 1393 ;SET CURSOR ON BEGIN "NORMAL" SCREEN 1394 0796 CD 0791 HOME@: CALL CR@ ;NULL 1395 0799 3A 40EA LDA RESL ;"RESERVE" LINE SET 1396 079C 32 40E8 LF@1: STA LINE 1397 079F C9 RET 1398 ; 1399 ; UNDERLINE 1400 07A0 3A 40EA UCMD: LDA RESL ;EMPTY ? 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-25 1401 07A3 B7 ORA A 1402 07A4 C8 RZ ;EMPTY 1403 07A5 3D DCR A 1404 07A6 6F MOV L,A 1405 07A7 26 00 MVI H,0 1406 07A9 CD 075D CALL COADR+3 1407 07AC 16 28 MVI D,WIDTH 1408 07AE 7E RESX: MOV A,M ;UNDER LINE 1409 07AF E6 3F ANI 3FH ;ASCII 1410 07B1 B0 ORA B ;PARAM 1411 07B2 77 MOV M,A 1412 07B3 23 INX H 1413 07B4 15 DCR D 1414 07B5 C2 07AE JNZ RESX 1415 07B8 C9 RET 1416 ;********************************************************** 1417 ; 1418 ; LINE PRINTER 1419 ; 1420 07B9 E5 LPR: PUSH H 1421 07BA 21 2C01 LXI H,2C01H 1422 07BD 71 MOV M,C 1423 07BE 25 DCR H 1424 07BF 75 MOV M,L 1425 07C0 24 INR H 1426 07C1 7E LPR1: MOV A,M 1427 07C2 87 ADD A 1428 07C3 F2 07C1 JP LPR1 1429 07C6 25 DCR H 1430 07C7 36 03 MVI M,3 1431 07C9 24 INR H 1432 07CA 7E LPR2: MOV A,M 1433 07CB 87 ADD A 1434 07CC FA 07CA JM LPR2 1435 07CF 25 DCR H 1436 07D0 75 MOV M,L 1437 07D1 E1 POP H 1438 07D2 C9 RET 1439 ; 1440 ; 1441 ; PUNCH OUTPUT 1442 ; 1443 07D3 C9 PUN: RET ; EMPTY 1444 07D4 DS 20 ; RESERVA 1445 ; 1446 ; READER INPUT 1447 ; 1448 07E8 37 RDR: STC ; CHYBA SNIMACE 1449 07E9 C9 RET 1450 ; 1451 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1452 ORG @R@ 1453 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1454 ; SYSTEM RAM SAPI-1 1455 ; 1456 4000 RST1: DS 21 ;RESTART VECTOR 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-26 1457 ;<<... USER & MONITOR STACK 1458 ; 1459 ; 1460 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1461 ORG @R@+090H 1462 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1463 ; MONITOR DATA 1464 ; 1465 4090 MSTAK: DS 2 ; SAVE REGISTERS 1466 4092 ACSAV: DS 2 1467 4094 BCSAV: DS 2 1468 4096 DESAV: DS 2 1469 4098 HLSAV: DS 2 1470 409A PCSAV: DS 2 1471 409C SPSAV: DS 2 1472 ; 1473 409E BRAD: DS 2 1474 40A0 INSTR: DS 1 1475 40A1 BRAD2: DS 2 1476 40A3 INST2: DS 1 1477 40A4 LASTC: DS 1 ;LAST CODE "REPEAT" 1478 40A5 CADR: DS 2 ; CURSOR ADR 1479 40A7 CHAR: DS 1 ; CODE 1480 40A8 FLAG: DS 1 ; FLAG MEMBR 1481 40A9 LIMIT: DS 2 ; TIME LIMIT FOR AUTO REPEAT 1482 40AB @BT: DS 1 1483 40AC @PED: DS 1 1484 40AD UADR: DS 2 ;USER ADR 1485 40AF SADR: DS 2 ; START ADR 1486 40B1 EADR: DS 2 ; END ADR 1487 40B3 SUM: DS 1 1488 1489 ;******************************* 1490 ;MONITOR PLUS DATA 1491 40B4 JOINT: DS 1 1492 40B5 FNAME: DS 11 1493 40C0 BNO: DS 1 ;BLOCK NUMSER,FILE NUMBER 1494 40C1 BTO: DS 1 1495 40C2 BNI: DS 1 ; --- " --- 1496 40C3 BTI: DS 1 1497 40C4 ADRO: DS 2 1498 40C6 ADRI: DS 2 1499 40C8 PBITM: DS 2 1500 40CA FND: DS 1 ; FIND FLAG 1501 1502 ;------------------------- 1503 ; USER I/O DEVICE 1504 ; IODEF NUMBER 1505 40CB CILOC: DS 3 ; (0) 1506 40CE COLOC: DS 3 ; (1) 1507 40D1 R1LOC: DS 3 ; (2) 1508 40D4 R2LOC: DS 3 ; (3) 1509 40D7 P1LOC: DS 3 ; (4) 1510 40DA P2LOC: DS 3 ; (5) 1511 40DD LILOC: DS 3 ; (6) 1512 40E0 CSLOC: DS 3 ; (7) 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE 1-27 1513 ;****************************** 1514 ;<< EXTERNE OVLADANE FLAGY: >> 1515 ;****************************** 1516 40E3 MODE: DS 1 ;CRT-MODE 1517 40E4 @IF1: DS 1 ;OPEN FLAGS 1518 40E5 @IF2: DS 1 1519 40E6 @OF1: DS 1 1520 40E7 @OF2: DS 1 1521 40E8 LINE: DS 1 ;LINE 1522 40E9 COLUM: DS 1 ;COLUMN 1523 40EA RESL: DS 1 ;RESERVE 1524 40EB UBYTE: DS 1 ;USER BYTE (REALTIME..) 1525 40EC @SFLG: DS 1 ;#0..NO STOP 1526 000A EXSER EQU $-MODE ;EXTERNAL SERVICE 1527 40ED IOBYT: DS 1 ;I/O CONTROL 1528 40EE MEMTOP: DS 2 ;MEMTOP "RAM" 1529 1530 ;------------------------- 1531 ; I/O BUFFERS 1532 40F0 DS 1 ;BLOCK LABEL 1533 40F1 BOUT: DS 255 ;BLOCK LENGHT 1534 41F0 BOEND EQU $ 1535 ; 1536 41F0 DS 1 ; BLOCK LABELS 1537 41F1 BIN: DS 255 ;BLOCK LENGHT 1538 42F0 BIEND EQU $ 1539 ; 1540 42F0 WRNM: DS 11 1541 ;============================= 1542 ORG @R@ + 300H 1543 ;============================= 1544 ; "MAT" ARRAY 1545 4300 DS 0FFH 1546 ;============================= 1547 ORG @R@ + 400H 1548 ;============================= 1549 ; SYSTEM OR USER PROGRAMS 1550 ;---->>>>>>>>>>> 1551 ; 1552 ; 1553 ; 1554 END 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE S Macros: Symbols: 40AB @BT 40E4 @IF1 40E5 @IF2 40E6 @OF1 40E7 @OF2 40AC @PED 4000 @R@ 40EC @SFLG 4092 ACSAV 40C6 ADRI 40C4 ADRO 0002 ALLINT 067E ANAL 0680 ANAL0 0667 ASHEX 014E ASIGN 0159 ASS0 016B ASS1 0175 ASS2 0186 ASS3 078F BAC@1 0008 BACK 077B BACK@ 0002 BATCH 4094 BCSAV 0218 BEEP 04DC BEG 0055 BEGIO 0007 BELL 42F0 BIEND 41F1 BIN 40C2 BNI 40C0 BNO 41F0 BOEND 40F1 BOUT 409E BRAD 40A1 BRAD2 40C3 BTI 40C1 BTO 40A5 CADR 003B CCPM 0001 CCRT 40A7 CHAR 005E CI 028B CICO 40CB CILOC 0678 CIMIN 067B CINCR 00D3 CITB 0228 CLCK1 022E CLCK2 0224 CLICK 00FC CMSK 02DB CNTRP 05E4 CO 04B8 COA 075A COADR 073B COEX 0756 COEX1 069C COINIT 04CF COLD 030D COLO 40CE COLOC 40E9 COLUM 0629 COMPR 06EE CONXT 00CB COTB 0000 CPM 000D CR 0791 CR@ 05DD CRLF 06A4 CRT 06DE CRTWR 40E0 CSLOC 01C6 CSTS 01C0 CSTS1 0561 CTBL 0010 CTRLP 0011 CTRLQ 0017 CTRLW 0000 CTTY 00A0 CURSOR 0003 CUSE 0646 DADR 064C DADR0 0651 DBYT 0694 DBYTE 4096 DESAV 0433 DI0 0437 DI1 044B DI2 0447 DIA 042E DISP 0643 DNADR 40B1 EADR 04B5 ECHO 001E EOL 076F EOL@ 0800 EP2 059A EP2? 0013 EQUAL FFFF ERAM 0162 ERROR 001F ERS 072A ERS@ 0003 ETX 05B7 EX0 05BA EX1 05CF EX3 05F8 EX4 04BF EXFLG 05B1 EXPR 05F0 EXPRM 05AE EXPRO 0591 EXROM 000A EXSER 0481 FI1 047A FILL 40A8 FLAG 40B5 FNAME 40CA FND 0392 GO@ 0374 GO@BR 035B GOTO 05A0 HBYTE 0018 HEIGHT 0624 HILO 4098 HLSAV 001D HOME 0796 HOME@ 0009 HT 05A6 HXASC 051E INIC 0554 INJM@ 0558 INJMP 40A3 INST2 40A0 INSTR 40ED IOBYT 0023 IOCHK 05EB IOCOM 0604 IODEF 061E IODEF1 018B IONEW 002B IOSET 00B3 IOTAB 40B4 JOINT 0265 KBR 0294 KBRD 0299 KBRD1 02A7 KBRD2 01CE KBSTS 0243 KEY 0233 KEYIN 40A4 LASTC 05A4 LBYTE 0040 LCRT 'MONITOR SAPI-1 V4.1F' MACRO-80 3.44 09-Dec-81 PAGE S-1 0018 LCT 000A LF 06FC LF@ 079C LF@1 40DD LILOC 40A9 LIMIT 40E8 LINE 0040 LINOF 0080 LLPT 003F LMSK 0301 LO 00DB LOTB 07B9 LPR 07C1 LPR1 07CA LPR2 0018 LREST 0000 LTTY 00C0 LUSE 000D LVER 04FA MEM1 050A MEM2 065F MEMCK 40EE MEMTOP 000B MINUS 0011 MMODE 0490 MO1 40E3 MODE 0100 MONIT 0489 MOVE 4090 MSTAK 0526 NEXT 024E NXKEY 023D NXLIN 40D7 P1LOC 40DA P2LOC 40C8 PBITM 409A PCSAV 00CF PMSK 02F5 PO 00EB POTB 0010 PPTR 0000 PTTY 07D3 PUN 0020 PUSE1 0030 PUSE2 0192 QUERY 001B QUES 40D1 R1LOC 40D4 R2LOC 062F RADR 4000 RAM 0636 RBYT 07E8 RDR 40EA RESL 0313 RESTA 07AE RESX 0419 RGNAM 02E9 RI 02F0 RICOM 00E3 RITB 00F3 RMSK 0713 ROLL 0716 ROLL1 0004 RPTR 4000 RST1 032E RST10 034A RST20 00CF RSTN 0000 RTTY 0008 RUSE1 000C RUSE2 40AF SADR FFFF SP1 0000 SP1A 0697 SPACE 0033 SPCL 409C SPSAV 049D SU1 04AC SU2 049A SUBS 40B3 SUM 0065 TABCOD 0046 TCPM 068A TEXT 3800 TVBEG 3DE7 TVEND 40AD UADR 40EB UBYTE 07A0 UCMD 0012 UDATA 0010 UMODE 0013 URES 0011 USTAT 00F3 VERS 0028 WIDTH 42F0 WRNM 03A8 X 03B6 X0 03BE X1 03C3 X10 03D5 X2 0400 XDIS1 03F6 XDISP 0547 XY No Fatal error(s) @BT 1482# @IF1 1517# @IF2 1518# @OF1 1519# @OF2 1520# @PED 1483# @R@ 29# 102 106 110 114 119 124 129 878 929 931 1452 1461 1542 1547 @SFLG 1525# ACSAV 649 664 730 731 1466# ADRI 1498# ADRO 1497# ALLINT 82# ANAL 1039 1196# ANAL0 1197# ASHEX 249 1028 1179# ASIGN 264# 958 ASS0 269# 273 ASS1 270 281# ASS2 286# 295 ASS3 288 296# BAC@1 1376 1387# BACK 36# 1264 BACK@ 1265 1374# BATCH 54# BCSAV 732 733 1467# BEEP 278 395# 1271 BEG 875# 960 BEGIO 41# 881 BELL 37# 1270 BIEND 1538# BIN 1537# BNI 1495# BNO 1493# BOEND 1534# BOUT 1533# BRAD 588 633 1473# BRAD2 642 1475# BTI 1496# BTO 1494# CADR 126 1240 1251 1334 1478# CCPM 101 131# CCRT 53# CHAR 1252 1333 1479# CI 138 145# 235 825 CICO 141 487# CILOC 208 1082 1505# CIMIN 264 686 774 812 1193# CINCR 255 623 662 777 934 1062 1195# CITB 146 207# CLCK1 405# 406 CLCK2 408# 409 CLICK 397 403# CMSK 46# CNTRP 522 524 526 528 537# CO 139 209 213 237 828 933 1048 1051# 1162 1165 1210 1217 COA 105 109 113 317 328 710 766 826# COADR 1254 1283 1297 1328 1347# 1406 COEX 1249 1328# COEX1 1337 1339# COINIT 883 1239# COLD 98 138 234 864# COLO 205 209 567# COLOC 206 1506# COLUM 1286 1289 1390 1522# COMPR 606 1102# 1322 CONXT 1282 1283# COTB 205# 1052 CPM 11# 20 92 95 225 351 495 923 CR 34# 217 630 637 702 1047 1126 1200 1258 CR@ 1259 1389# 1394 CRLF 246 647 666 927 1047# 1133 CRT 205 489 568 1247# CRTWR 1257 1274# CSLOC 343 1512# CSTS 143 240 347# 772 CSTS1 342# 350 CTBL 939 958# 982 CTRLP 537 1233# CTRLQ 469 1232# CTRLW 40# 467 CTTY 52# CURSOR 1234# 1338 CUSE 55# DADR 250 1134# DADR0 1134 1154# DBYT 251 720 725 811 1155 1160# 1215 DBYTE 750 1215# DESAV 734 735 1468# DI0 747# 773 778 DI1 749# 755 DI2 758# 771 DIA 752 756# DISP 744# 961 DNADR 748 819 1133# EADR 1486# ECHO 282 825# 1024 1195 EOL 1231# 1262 EOL@ 1263 1318 1366# 1371 EP2 27# 885 990 992 EP2? 884 988 992# EQUAL 108# 281 318 622 711 1022 ERAM 25# 889 ERROR 142 143 248 277# 293 678 942 989 1021 1040 1077 ERS 1230# 1241 1268 ERS@ 1269 1318# 1323 ETX 39# EX0 1024# 1036 EX1 1025# 1060 EX3 1029 1038# 1064 EX4 1027 1062# 1067 EXFLG 259 846# EXPR 247 744 784 796 1022# 1112 EXPRM 626 1058# 1121 EXPRO 1021# 1044 EXROM 959 962 965 966 967 968 969 971 972 973 975 977 978 979 980 988# EXSER 848 1526# FI1 788# 790 880 FILL 783# 963 FLAG 907 1480# FNAME 1492# FND 1500# GO@ 624 631 639 647# GO@BR 625 632# GOTO 622# 964 HBYTE 1005# 1161 HEIGHT 1226# 1293 1300 HILO 252 751 767 789 803 1097# HLSAV 575 582 657 736 737 1469# HOME 1235# 1266 HOME@ 1267 1394# HT 35# HXASC 258 1012# INIC 279 913# INJM@ 136 941# INJMP 943# 1055 INST2 644 1476# INSTR 635 1474# IOBYT 116 122 301 310 347 547 554 561 882 1053 1527# IOCHK 116# 141 241 IOCOM 147 550 564 1054# IODEF 244 1071# IODEF1 1076 1086# IONEW 301# IOSET 121# 142 242 IOTAB 194# 266 309 JOINT 1491# KBR 207 207 211 466# 468 485 KBRD 466 477 493# 542 KBRD1 504# 506 KBRD2 514# 516 KBSTS 355# 490 KEY 439# 446 KEYIN 429# LASTC 905 1477# LBYTE 1009# 1164 LCRT 71# LCT 940 982# LF 38# 217 1049 1260 LF@ 1261 1291# LF@1 1294 1396# LILOC 210 1511# LIMIT 1481# LINE 1347 1385 1396 1521# LINOF 1227# 1228 1305 LLPT 72# LMSK 49# LO 140 205 239 559# LOTB 209# 560 LPR 209 567 1331 1420# LPR1 1426# 1428 LPR2 1432# 1434 LREST 1228# 1312 1319 LTTY 70# LUSE 73# LVER 221# 914 MEM1 887# 901 MEM2 894 902# MEMCK 243 1170# MEMTOP 903 1073 1171 1528# MINUS 104# 1193 MMODE 79# 868 MO1 800# 804 MODE 518 539 541 854 1274 1329 1335 1516# 1526 MONIT 16# 228 MOVE 795# 970 MSTAK 876 908 920 1465# NEXT 253 618 920# 921 938 NXKEY 441 443 445# NXLIN 434# 449 P1LOC 213 1509# P2LOC 214 1510# PBITM 1499# PCSAV 615 628 655 738 1470# PMSK 48# PO 140 238 552# POTB 213# 553 PPTR 65# PTTY 64# PUN 213 1443# PUSE1 66# PUSE2 67# QUERY 309# 974 QUES 112# 277 R1LOC 211 1507# R2LOC 212 1508# RADR 632 641 809 1111# RAM 19# 886 RBYT 693 815 1119# RDR 211 1448# RESL 479 1295 1299 1380 1395 1400 1523# RESTA 465 574# 930 RESX 1408# 1414 RGNAM 663 730# RI 139 207 236 545# RICOM 548# 557 RITB 211# 546 RMSK 47# ROLL 1303# 1315 ROLL1 1305# 1311 RPTR 59# RST1 1456# RST10 590# 612 RST20 599 608 610# RSTN 30# 636 645 RTTY 58# RUSE1 60# RUSE2 61# SADR 1485# SP1 9# 85 SP1A 10# 832 1138 SPACE 254 315 706 757 1135 1216# SPCL 126# 245 SPSAV 579 653 739 909 1471# SU1 810# 820 SU2 814 817# SUBS 809# 976 SUM 1487# TABCOD 150# TCPM 134 138# TEXT 256 915 1208# 1212 TVBEG 26# 1229 1239 1356 TVEND 1229# 1321 UADR 1484# UBYTE 1524# UCMD 476 481 1400# UDATA 77# UMODE 80# 866 URES 81# 864 USTAT 78# VERS 217# 221 913 WIDTH 1225# 1228 1287 1303 1370 1386 1407 WRNM 1540# X 617 662# 981 X0 667# 670 X1 665 671# X10 674# 680 X2 671 682 684# 690 704 XDIS1 681 711# XDISP 667 684 706# XY 257 935# 1487# TABCOD 150# TCPM 134 138# TEXT 256 915 1208# 1212 TVBEG 26# 1229 1239 1356 TVEND 1229# 132
Ú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