Ú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
BASIMS může běžet pouze pod MONITORem V4.x a !!! MIKOSem V4.0F !!! a to kvůli tomu že přílepek pro podporu IMS-2 přes desku DPS-1 se přímo odkazuje na několik podprogramů v MIKOSu V4.0F.
ROZSIRENI BASICU V4.0 PRO SPOLUPRACI S DESKOU DPS-1 PRO IMS-2 (IEEE 488) ======================================================================== PREDEM BYCH RAD UPOZORNIL VSECHNY UZIVATELE, ZE JAK BYLO KONSTATOVANO V AR ING.SMUTNYM, DESKA DPS-1 MUZE PRACOVAT V SYSTEMU SAPI-1 POUZE JAKO RIDIC (CONTROLER) A NEMUZE BYT POUZITA JAKO STANDARTNI PERIFERIE PRO SBERNI- CI IMS-2. PRI UVAHACH O SIRI SOFTWARE JSME POSTUPNE DOSPELI K NAZORU, ZE 90 % UZIVATELU POSTACUJE DESKA I S TIMTO OMEZENIM, TZN. ZE JE SCHOPNA PRISTROJE S NI SPOLUPRACUJICI NAADRESOVAT, VYSLAT JIM POTREBNE PRIKAZY A PREVZIT OD NICH NAMERENA DATA. PRIKAZY PRO IMS-2 V BASICU V4.0 =============================== ABYCHOM SE VYHNULI SLOZITYM UPRAVAM BASICU, NAHRADILI JSME KLICOVE SLOVO E D I T KLICOVYM SLOVEM I M S #. (EDITACNI FUNKCE LZE TEDY NADALE VOLAT POUZE POMOCI KLICOVEHO SLOVA @ ).PRIKAZY PRO IMS-2 TEDY VYPADAJI TAKTO - KLICOVE SLOVO NASLEDOVANE PISMENEM FUNKCE A PRIPADNYMI PARAMETRY. 1. - IMS# N -PROVEDE NULOVANI SBERNICE POMOCI SIGNALU IFC 2. - IMS# O ADR ; SEZNAM - O (OUTPUT) - ADR - V ROZSAHU 0-30 (PRI PREKROCENI MEZI JE HLA- SENO SN ERROR) - SEZNAM - STEJNE JAKO V PRIKAZU PRINT - TENTO PRIKAZ ZPUSOBI NAADRESOVANI PRISTROJE S ADRE- SOU (ADR) JAKO POSLUCHACE A VYSLANI POZADOVANEHO PRIKAZU NEBO DAT 3. - IMS# T ADR - TENTO PRIKAZ PROVEDE NAADRESOVANI PRISTRIJE S ADRE- SOU (ADR) JAKO MLUVCIHO A DESKY DPS-1 JAKO POSLUCHACE 4. - IMS# I SEZNAM STRINGOVYCH PROMENNYCH - I (INPUT) - SEZNAM S T R I N G O V Y C H PROMENNYCH !!! DATA VSTUPUJICI DO POCITACE JSOU NACITANA JAKO RETEZCE ZNAKU ASCII A LZE JE PROTO PRIRADIT POUZE RETEZCOVYM PROMENNYM (POLIM RET. PROMENNYCH) A DAL- SI ZPRACOVANI PROVEST V BASICU POMOCI RETEZCOVYCH FUNKCI (JEDNA-LI SE O ZNAKOVE UDAJE) CI POMOCI FUNKCE V A L (JEDNA-LI SE O CISELNE UDAJE) VSECHNY PRIKAZY KROME IMS# I LZE POUZIT I V DIALOGOVEM REZIMU. PRIKLAD PROGRAMU PRO SPOLUPRACI SAPI-1 S VOLTMETREM M1T330 ========================================================== 1000 REM IMS-2<==>M1T330 -ADR 3 1010 IMS# N 1020 IMS# O3;"R4D0E" ! R4-AUT.VOLBA ROZSAHU,D0-BEZ FILTRU,E-1 MERENI 1030 IMS# T3 1040 IMS# I A$ ! VSTUP NAMERENEHO UDAJE 1050 PRINT A$ PO RUN V+1.2564E+1 - MERENE NAPETI JE 12.564 V MOZNE PROGRAMOVE CHYBY ====================== - JE NUTNE PRECIST Z PRISTROJE PRESNE STEJNY POCET UDAJU, KTERY JSME OD NEJ NAPROGRAMOVANIM VYZADALI - BUDEME-LI POZADOVAT VETSI POCET UDAJU - PROGRAM SE ZABLOKUJE ! - BUDEME-LI VYZADOVAT MENSI POCET UDAJU - MUZE U NEKTERYCH PRISTROJU DOJIT PRI DALSIM CTENI KE SPATNEMU PRIRAZENI DAT - POZOR NA SPRAVNE ADRESY - VYSLEME-LI PROGRAMOVACI PRIKAZY NA NEEXISTUJICI ADRESU SYSTEM SE SICE NE- ZABLOKUJE ALE TAKE SE NIC NEDOZVIME - BUDEMELI VYZADOVAT DATA OD NEEXISTUJICIHO MLUVCIHO - SYSTEM SE ZABLOKUJE !
MACRO-80 3.44 09-Dec-81 PAGE 1 1 ;############################## 2 ;# S B E R N I C E I M S - 2 # 3 ;############################## 4 ; 5 0030 IMSPA EQU 30H ;VST.RIDICI PORT A 6 0031 IMSPB EQU 31H ;VST.RIDICI PORT B 7 0032 IMSPC EQU 32H ;VYST.RIDICI PORT C 8 0033 IMSCW EQU 33H ;RID.REG.OBVODU PRO RIZENI 9 0034 DATPA EQU 34H ;VST.DATOV7 PORT A 10 0035 DATPB EQU 35H ;VYST.DATOVY PORT B 11 0036 DATPC EQU 36H ;STAV.REG.,PORT C 12 0037 DATCW EQU 37H ;RID.REG.OBVODU QRO DATA 13 000D CR EQU 0DH ;CR 14 000A LF EQU 0AH ;LF 15 0003 EXT EQU 03H ;KONEC DAT 16 3000 INIPR EQU 3000H ;INICIAL.PRER.SYSTEMU 17 4012 ADRPR EQU 4012H ;ADR/SKOK.INSTR.DO PODPR. 18 ;OBSLUHY PRERUSENI 19 0F98 TIME EQU 0F98H ;CEKANI !! PRIMI SKOK DO MIKOS V4.0F !! 20 51BF VYRAZ EQU 51BFH ;VYHODN.VYRAZU V BASICU 21 47D1 SNERR EQU 47D1H ;SN CHYBA 22 50AA READ EQU 50AAH ;ULOZENI PRECTENICH HODNOT 23 4C56 INT EQU 4C56H ;PREVOD NA INTEGER 24 4F97 PRINT EQU 4F97H ;VYSLE ZADANE HODNOTY 25 ; 26 ;HLAVNI PROGRAM 27 ;-------------- 28 ; 29 ORG 6102H 30 ; 31 6102 7E IMSHL: MOV A,M 32 6103 FE 4F CPI 'O ;VYSTUP NA IMS 33 6105 CA 611A JZ VYST 34 6108 FE 54 CPI 'T ;ADR.PRO VSTUP Z IMS2 35 610A CA 6148 JZ ADRTA 36 610D FE 49 CPI 'I ;VSTUP Z IMS 37 610F CA 6159 JZ VSTUP 38 6112 FE 4E CPI 'N ;NULOVANI 39 6114 CA 6185 JZ NULO 40 6117 C3 47D1 JMP SNERR ;SYNT.CHYBA 41 ; 42 ;VYSTUP NA IMS-2 43 ;--------------- 44 ; 45 611A 32 60C6 VYST: STA 60C6H ;IOBIT 46 611D 23 INX H 47 611E CD 51BF CALL VYRAZ 48 6121 E5 PUSH H 49 6122 CD 4C56 CALL INT 50 6125 4B MOV C,E 51 6126 CD 6199 CALL IMS+3 ;OUADR 52 ;--------- 53 6129 E1 POP H 54 612A DA 47D1 JC SNERR ;CHYBA 55 612D 7E MOV A,M 56 612E FE 00 CPI 0 MACRO-80 3.44 09-Dec-81 PAGE 1-1 57 6130 C8 RZ 58 6131 FE 3B CPI ';' 59 6133 C2 47D1 JNZ SNERR ;SYNT.CHYBA 60 6136 23 INX H 61 6137 7E MOV A,M 62 6138 FE 00 CPI 0 63 613A C3 4F97 JMP PRINT ;VYSLE ZADANE ZNAKY 64 ;ODSKOK Z BASICU 65 ; 66 613D FE 42 CPI 'B' 67 613F C8 RZ 68 6140 FE 4F CPI 'O' 69 6142 CA 619F JZ IMS+9 ;OUIMS 70 ;------- 71 6145 C3 449C JMP 449CH 72 ;ADRESOVANI PRO VSTUP Z IMS-2 73 ;---------------------------- 74 ; 75 6148 23 ADRTA: INX H 76 6149 CD 51BF CALL VYRAZ 77 614C E5 PUSH H 78 614D CD 4C56 CALL INT 79 6150 4B MOV C,E 80 6151 CD 619C CALL IMS+6 ;INADR 81 ;--------- 82 6154 DA 47D1 JC SNERR ;CHYBA 83 6157 E1 POP H 84 6158 C9 RET 85 ; 86 ;VSTUP Z IMS-2 87 ;------------- 88 ; 89 6159 VSTUP: 90 6159 CD 618E CALL MEZ ;VYNACHAT MEZERY 91 615C FE 00 CPI 0 92 615E CA 47D1 JZ SNERR ;CHYBA 93 6161 E5 PUSH H 94 6162 21 6009 LXI H,6009H ;ADR.BUFFERU PRO VSTUP.RETEZEC 95 6165 06 01 MVI B,1 96 6167 CD 61A2 VS1: CALL IMS+12 ;INIMS 97 ;---------- 98 616A FE 2C CPI ', ;KONEC DAT (,) 99 616C CA 617B JZ VS2 100 616F 77 MOV M,A 101 6170 04 INR B 102 6171 23 INX H 103 6172 79 MOV A,C ;V REG. C JE 'EXT' 104 6173 FE 03 CPI EXT ;KONEC DAT (EOI) 105 6175 CA 617B JZ VS2 106 6178 C3 6167 JMP VS1 107 617B 36 00 VS2: MVI M,0 108 617D 21 6008 LXI H,6008H 109 6180 36 2C MVI M,', ;CARKA 110 6182 C3 50AA JMP READ ;ULOZENI PRECTEN.HODNOTY 111 ; 112 ;NULOVANI MACRO-80 3.44 09-Dec-81 PAGE 1-2 113 ;-------- 114 ; 115 6185 CD 618E NULO: CALL MEZ ;MEZERY 116 6188 E5 PUSH H 117 6189 CD 6196 CALL IMS ;NULOVANI IMS-2 118 ;--------- 119 618C E1 POP H 120 618D C9 RET 121 ; 122 ;VYNECHA MEZERY 123 ; 124 618E 23 MEZ: INX H 125 618F 7E MOV A,M 126 6190 FE 20 CPI ' ' 127 6192 C0 RNZ 128 6193 C3 618E JMP MEZ 129 ; 130 ;IMS PRO BASIC 131 ;============= 132 6196 C3 6298 IMS: JMP KONVS ;NULOVANI IMS-2 133 6199 C3 61EF JMP OUADR ;ADRESOVANI PRO VSTUP <C> 134 619C C3 61FE JMP INADR ;ADRESOVANI PRO VYSTUP <C> 135 619F C3 61C1 JMP OUIMS ;VSTUP NA IMS-2 <C> 136 61A2 C3 61D6 JMP INIMS ;VYSTUP Z IMS-2 <A> 137 ; 138 ;INICIALIZACE 139 ;------------ 140 ; 141 61A5 32 6091 INIT: STA 6091H 142 61A8 3E C3 MVI A,0C3H ;KOD INSTR.JMP 143 61AA 32 4012 STA ADRPR 144 61AD 21 62C2 LXI H,PRER ;ADRESA.PODPR.OBSL.PRERUSENI 145 61B0 22 4013 SHLD ADRPR+1 146 ; 147 61B3 3E 92 MVI A,10010010B ;NASTAVENI RID.PORTU 148 61B5 D3 33 OUT IMSCW 149 61B7 3E 0B MVI A,00001011B ;NAHODI CEN 150 61B9 D3 33 OUT IMSCW 151 61BB 3A 6091 LDA 6091H 152 61BE C3 440B JMP 440BH 153 ; 154 ;VYSTUP NA IMS-2 (POSILANY ZNAK V REG.C 155 ;------------------------------------------ 156 ; 157 61C1 79 OUIMS: MOV A,C 158 61C2 CD 624F CALL OUTDAT ;POSILA DATA NA IMS 159 61C5 DA 47D1 JC SNERR ;CHYBA 160 61C8 79 MOV A,C ;POSLANY ZNAK 161 61C9 FE 0A CPI LF ;KONEC PRIKAZU 162 61CB 37 STC 163 61CC 3F CMC ;CY=0 164 61CD C0 RNZ 165 ; 166 61CE CD 62AD CALL KONDA ;KONEC VYSTUP.DAT 167 61D1 CD 628A CALL KONVY ;KONEC NYSTUPU 168 61D4 B7 ORA A ;CY=0 MACRO-80 3.44 09-Dec-81 PAGE 1-3 169 61D5 C9 RET 170 ; 171 ;VSTUP Z IMS-2 (CTENY ZNAK DO REG.A) 172 ;----------------------------------- 173 ; 174 61D6 CD 6268 INIMS: CALL INDAT ;VSTUP DAT Z IMS-2 175 61D9 E6 7F ANI 7FH ;NULUJE 8.BIT 176 61DB 4F MOV C,A ;PRECTENY ZNAK 177 61DC 3E 1E MVI A,30 178 61DE 3D CEK: DCR A ;CEKANI 179 61DF C2 61DE JNZ CEK 180 61E2 DB 30 IN IMSPA 181 61E4 E6 04 ANI 4 ;TEST EIO 182 61E6 79 MOV A,C 183 61E7 C8 RZ 184 ; 185 61E8 CD 6298 CALL KONVS ;KONEC VSTUP.DAT 186 61EB 79 MOV A,C 187 61EC 0E 03 MVI C,EXT ;KONEC DAT 188 61EE C9 RET 189 ; 190 ;ADRESOVANI POSLUCHACE (BIN.ADR.PRISTROJE V REG.C) 191 ;-------------------------------------------------- 192 ; 193 61EF CD 621F OUADR: CALL INITA ;INICIAL.MLUVCIHO 194 61F2 16 20 MVI D,20H ;KOD POSLUCHACE 195 61F4 CD 6228 CALL ADROU ;VYSLANI ADRESY 196 61F7 D8 RC ;PRI CHYBE 197 61F8 3E 06 MVI A,6 ;SHODI ATN 198 61FA D3 33 OUT IMSCW 199 61FC B7 ORA A ;CY=0 200 61FD C9 RET 201 ; 202 ;ADRESOVANI MLUVCIHO (BIN.ADR.PRISTROJE V REG.C) 203 ;------------------------------------------------ 204 ; 205 61FE CD 621F INADR: CALL INITA ;INICIAL.MLUVCIHO 206 6201 16 40 MVI D,40H ;KOD MLUVCIHO 207 6203 CD 6233 CALL ADRIN ;VYSLANI ADRESY 208 6206 D8 RC ;PRI CHYBE 209 6207 CD 6210 CALL INILI ;INICIAL.POSUCHACE 210 620A 3E 06 MVI A,6 ;SHODI ATN 211 620C D3 33 OUT IMSCW 212 620E B7 ORA A ;CY=0 213 620F C9 RET 214 ; 215 ;INICIALIZACE POSLUCHACE 216 ; 217 6210 3E 0F INILI: MVI A,00001111B ;UVOLNENI SIG.NDAC 218 6212 D3 33 OUT IMSCW 219 6214 3E B0 MVI A,10110000B ;NASTAVENI DAT PORTU 220 6216 D3 37 OUT DATCW 221 6218 3E 03 MVI A,00000011B ;ZABLOKOVANI SIGNALU DAV 222 621A D3 37 OUT DATCW 223 621C DB 34 IN DATPA 224 621E C9 RET MACRO-80 3.44 09-Dec-81 PAGE 1-4 225 ; 226 ;INICIALIZACE MLUVCIHO 227 ; 228 621F 3E 0E INITA: MVI A,00001110B ;ZABLOKOVANI SIG.NDAC 229 6221 D3 33 OUT IMSCW 230 6223 3E 94 MVI A,10010100B ;STROB.VYST.DAT.PORTU B 231 6225 D3 37 OUT DATCW 232 6227 C9 RET 233 ; 234 ;VYSTUP ADRESY 235 ; 236 6228 79 ADROU: MOV A,C ;KONTROLA ADRESY 237 6229 FE 1F CPI 1FH 238 622B 3F CMC 239 622C DC 627C CC ERRAO ;CHYBA ADRESY 240 622F D8 RC ;PRI CHYBE 241 6230 C3 623B JMP ADR 242 6233 79 ADRIN: MOV A,C ;KONTROLA ADRESY 243 6234 FE 1F CPI 1FH 244 6236 3F CMC 245 6237 DC 6283 CC ERRAI ;CHIBA ADRSY 246 623A D8 RC 247 ; 248 623B 3E 07 ADR: MVI A,7H ;NAHODI ATV 249 623D D3 33 OUT IMSCW 250 623F 3E 03 MVI A,03H ;NAHODI REN 251 6241 D3 33 OUT IMSCW 252 6243 3E 01 MVI A,1 ;CAS T8 253 6245 CD 0F98 CALL TIME 254 6248 79 MOV A,C ;ADR.PREV.DO.BINARU 255 6249 B2 ORA D ;PRIDA ADR.KE KODU 256 624A CD 624F CALL OUTDAT ;VYSTUP 1 BYTU 257 624D D8 RC ;PRI CHYBE 258 624E C9 RET 259 ; 260 ;VYSTUP 1 BYTU DAT NA IMS-2 261 ; 262 624F 57 OUTDAT: MOV D,A 263 6250 DB 31 OU: IN IMSPB ;VYST.RIDICI PORT B 264 6252 E6 60 ANI 60H 265 6254 CC 6272 CZ ERRLI ;CHYBA PRI NAHOZ.NDAT 266 6257 D8 RC ;PRI CHYBE 267 6258 FE 40 CPI 40H 268 625A C2 6250 JNZ OU ;SKOK PRI SHOZEN.NDAC 269 625D 7A MOV A,D 270 625E D3 35 OUT DATPB ;VYST.DAYOVY. PORT B 271 6260 DB 36 OU1: IN DATPC ;STAV.REG.,PORTU C 272 6262 E6 02 ANI 2 273 6264 CA 6260 JZ OU1 274 6267 C9 RET 275 ; 276 ;VSTUP 1 BYTE DAT Z IMS-2 277 ; 278 6268 DB 36 INDAT: IN DATPC ;STAV.REG.,PORTU C 279 626A E6 20 ANI 20H ;TEST IBFA 280 626C CA 6268 JZ INDAT MACRO-80 3.44 09-Dec-81 PAGE 1-5 281 626F DB 34 IN DATPA ;VSTUP.DAT.PORT A 282 6271 C9 RET 283 ; 284 ;ULOZENI CISLA CHYBY DO REG.A 285 ; 286 6272 CD 628A ERRLI: CALL KONVY ;KONEC VYSTUPU 287 6275 CD 6298 CALL KONVS ;KONEC VSTUP.DAT 288 6278 3E 01 MVI A,1 ;CHYBA ADRESY 289 627A 37 STC 290 627B C9 RET 291 ; 292 627C CD 628A ERRAO: CALL KONVY ;KONEC VYSTUPU 293 627F 3E 00 MVI A,0 ;CHYBA PRISTROJE 294 6281 37 STC 295 6282 C9 RET 296 ; 297 6283 CD 6298 ERRAI: CALL KONVS ;KONEC VSTUP.DAT 298 6286 3E 00 MVI A,0 ;CHYBA PRISTROJE 299 6288 37 STC 300 6289 C9 RET 301 ; 302 ;KONEC VYSTUPU 303 ; 304 628A 3E 07 KONVY: MVI A,7 ;NAHODI ATN 305 628C D3 33 OUT IMSCW 306 628E 3E 3F MVI A,3FH ;KOD UNL 307 6290 CD 624F CALL OUTDAT 308 6293 3E 06 MVI A,6 ;SHODI ATN 309 6295 D3 33 OUT IMSCW 310 6297 C9 RET 311 ; 312 ;KONEC VYSTUPNICH DAT 313 ; 314 6298 CD 621F KONVS: CALL INITA ;INICIAL.MLUVCIHO 315 629B 3E 02 MVI A,2 ;SHODI REN 316 629D D3 33 OUT IMSCW 317 629F 3E 01 MVI A,1 ;NAHODI IFC 318 62A1 D3 33 OUT IMSCW 319 62A3 3E 01 MVI A,1 320 62A5 CD 0F98 CALL TIME ;CEKANI 321 62A8 3E 00 MVI A,0 322 62AA D3 33 OUT IMSCW 323 62AC C9 RET 324 ; 325 ;KONEC VYSTUPNICH DAT 326 ; 327 62AD 3E 05 KONDA: MVI A,5H ;NAHODI EOI 328 62AF D3 33 OUT IMSCW 329 62B1 3E 0A MVI A,10 330 62B3 CD 0F98 CALL TIME 331 62B6 3E 0A MVI A,LF ;VYSTUP LF 332 62B8 CD 624F CALL OUTDAT 333 62BB 3E 04 MVI A,4H ;SHODI EOI 334 62BD D3 33 OUT IMSCW 335 62BF C9 RET 336 ; MACRO-80 3.44 09-Dec-81 PAGE 1-6 337 62C0 ULSP: DS 2 ;UKLADA REG.SP 338 339 62C2 PRER:Dále následuje obsluha přerušení, která vyžívá tyto podprogramy START, NULBF, STOP a WOB z MIKOSu V4.0F. Ovladač vyžívá z MIKOSu V4.0F podprogram TIME.
Ovladače se liší v podprogramech VSTUP a INIMS.
MACRO-80 3.44 09-Dec-81 PAGE 1 1 ;############################## 2 ;# S B E R N I C E I M S - 2 # 3 ;############################## 4 ; 5 0030 IMSPA EQU 30H ;VST.RIDICI PORT A 6 0031 IMSPB EQU 31H ;VST.RIDICI PORT B 7 0032 IMSPC EQU 32H ;VYST.RIDICI PORT C 8 0033 IMSCW EQU 33H ;RID.REG.OBVODU PRO RIZENI 9 0034 DATPA EQU 34H ;VST.DATOV7 PORT A 10 0035 DATPB EQU 35H ;VYST.DATOVY PORT B 11 0036 DATPC EQU 36H ;STAV.REG.,PORT C 12 0037 DATCW EQU 37H ;RID.REG.OBVODU QRO DATA 13 000D CR EQU 0DH ;CR 14 000A LF EQU 0AH ;LF 15 0003 EXT EQU 03H ;KONEC DAT 16 3000 INIPR EQU 3000H ;INICIAL.PRER.SYSTEMU 17 4012 ADRPR EQU 4012H ;ADR/SKOK.INSTR.DO PODPR. 18 ;OBSLUHY PRERUSENI 19 0F98 TIME EQU 0F98H ;CEKANI !! PRIMI SKOK DO MIKOS V4.0F !! 20 51BF VYRAZ EQU 51BFH ;VYHODN.VYRAZU V BASICU 21 47D1 SNERR EQU 47D1H ;SN CHYBA 22 50AA READ EQU 50AAH ;ULOZENI PRECTENICH HODNOT 23 4C56 INT EQU 4C56H ;PREVOD NA INTEGER 24 4F97 PRINT EQU 4F97H ;VYSLE ZADANE HODNOTY 25 ; 26 ;HLAVNI PROGRAM 27 ;-------------- 28 ; 29 ORG 6102H 30 ; 31 6102 7E IMSHL: MOV A,M 32 6103 FE 4F CPI 'O ;VYSTUP NA IMS 33 6105 CA 611A JZ VYST 34 6108 FE 54 CPI 'T ;ADR.PRO VSTUP Z IMS2 35 610A CA 6148 JZ ADRTA 36 610D FE 49 CPI 'I ;VSTUP Z IMS 37 610F CA 6159 JZ VSTUP 38 6112 FE 4E CPI 'N ;NULOVANI 39 6114 CA 6191 JZ NULO 40 6117 C3 47D1 JMP SNERR ;SYNT.CHYBA 41 ; 42 ;VYSTUP NA IMS-2 43 ;--------------- 44 ; 45 611A 32 60C6 VYST: STA 60C6H ;IOBIT 46 611D 23 INX H 47 611E CD 51BF CALL VYRAZ 48 6121 E5 PUSH H 49 6122 CD 4C56 CALL INT 50 6125 4B MOV C,E 51 6126 CD 61A5 CALL IMS+3 ;OUADR 52 ;--------- 53 6129 E1 POP H 54 612A DA 47D1 JC SNERR ;CHYBA 55 612D 7E MOV A,M 56 612E FE 00 CPI 0 MACRO-80 3.44 09-Dec-81 PAGE 1-1 57 6130 C8 RZ 58 6131 FE 3B CPI ';' 59 6133 C2 47D1 JNZ SNERR ;SYNT.CHYBA 60 6136 23 INX H 61 6137 7E MOV A,M 62 6138 FE 00 CPI 0 63 613A C3 4F97 JMP PRINT ;VYSLE ZADANE ZNAKY 64 ;ODSKOK Z BASICU 65 ; 66 613D FE 42 CPI 'B' 67 613F C8 RZ 68 6140 FE 4F CPI 'O' 69 6142 CA 61AB JZ IMS+9 ;OUIMS 70 ;------- 71 6145 C3 449C JMP 449CH 72 ;ADRESOVANI PRO VSTUP Z IMS-2 73 ;---------------------------- 74 ; 75 6148 23 ADRTA: INX H 76 6149 CD 51BF CALL VYRAZ 77 614C E5 PUSH H 78 614D CD 4C56 CALL INT 79 6150 4B MOV C,E 80 6151 CD 61A8 CALL IMS+6 ;INADR 81 ;--------- 82 6154 DA 47D1 JC SNERR ;CHYBA 83 6157 E1 POP H 84 6158 C9 RET 85 ; 86 ;VSTUP Z IMS-2 87 ;------------- 88 ; 89 6159 VSTUP: 90 6159 CD 619A CALL MEZ ;VYNACHAT MEZERY 91 615C FE 00 CPI 0 92 615E CA 47D1 JZ SNERR ;CHYBA 93 6161 E5 PUSH H 94 6162 21 6009 LXI H,6009H ;ADR.BUFFERU PRO VSTUP.RETEZEC 95 6165 3E 0C MVI A,0CH ;NASTAV ZS A POP 96 6167 D3 33 OUT IMSCW 97 6169 3E 0D MVI A,0DH 98 616B D3 33 OUT IMSCW 99 616D 3E 0C MVI A,0CH 100 616F D3 33 OUT IMSCW 101 6171 06 01 MVI B,1 102 6173 CD 61AE VS1: CALL IMS+12 ;INIMS 103 ;---------- 104 6176 FE 2C CPI ', ;KONEC DAT (,) 105 6178 CA 6187 JZ VS2 106 617B 77 MOV M,A 107 617C 04 INR B 108 617D 23 INX H 109 617E 79 MOV A,C ;V REG. C JE 'EXT' 110 617F FE 03 CPI EXT ;KONEC DAT (EOI) 111 6181 CA 6187 JZ VS2 112 6184 C3 6173 JMP VS1 MACRO-80 3.44 09-Dec-81 PAGE 1-2 113 6187 36 00 VS2: MVI M,0 114 6189 21 6008 LXI H,6008H 115 618C 36 2C MVI M,', ;CARKA 116 618E C3 50AA JMP READ ;ULOZENI PRECTEN.HODNOTY 117 ; 118 ;NULOVANI 119 ;-------- 120 ; 121 6191 CD 619A NULO: CALL MEZ ;MEZERY 122 6194 E5 PUSH H 123 6195 CD 61A2 CALL IMS ;NULOVANI IMS-2 124 ;--------- 125 6198 E1 POP H 126 6199 C9 RET 127 ; 128 ;VYNECHA MEZERY 129 ; 130 619A 23 MEZ: INX H 131 619B 7E MOV A,M 132 619C FE 20 CPI ' ' 133 619E C0 RNZ 134 619F C3 619A JMP MEZ 135 ; 136 ;IMS PRO BASIC 137 ;============= 138 61A2 C3 62A4 IMS: JMP KONVS ;NULOVANI IMS-2 139 61A5 C3 61FB JMP OUADR ;ADRESOVANI PRO VSTUP <C> 140 61A8 C3 620A JMP INADR ;ADRESOVANI PRO VYSTUP <C> 141 61AB C3 61CD JMP OUIMS ;VSTUP NA IMS-2 <C> 142 61AE C3 61E2 JMP INIMS ;VYSTUP Z IMS-2 <A> 143 ; 144 ;INICIALIZACE 145 ;------------ 146 ; 147 61B1 32 6091 INIT: STA 6091H 148 61B4 3E C3 MVI A,0C3H ;KOD INSTR.JMP 149 61B6 32 4012 STA ADRPR 150 61B9 21 62CE LXI H,PRER ;ADRESA.PODPR.OBSL.PRERUSENI 151 61BC 22 4013 SHLD ADRPR+1 152 ; 153 61BF 3E 92 MVI A,10010010B ;NASTAVENI RID.PORTU 154 61C1 D3 33 OUT IMSCW 155 61C3 3E 0B MVI A,00001011B ;NAHODI CEN 156 61C5 D3 33 OUT IMSCW 157 61C7 3A 6091 LDA 6091H 158 61CA C3 440B JMP 440BH 159 ; 160 ;VYSTUP NA IMS-2 (POSILANY ZNAK V REG.C 161 ;------------------------------------------ 162 ; 163 61CD 79 OUIMS: MOV A,C 164 61CE CD 625B CALL OUTDAT ;POSILA DATA NA IMS 165 61D1 DA 47D1 JC SNERR ;CHYBA 166 61D4 79 MOV A,C ;POSLANY ZNAK 167 61D5 FE 0A CPI LF ;KONEC PRIKAZU 168 61D7 37 STC MACRO-80 3.44 09-Dec-81 PAGE 1-3 169 61D8 3F CMC ;CY=0 170 61D9 C0 RNZ 171 ; 172 61DA CD 62B9 CALL KONDA ;KONEC VYSTUP.DAT 173 61DD CD 6296 CALL KONVY ;KONEC NYSTUPU 174 61E0 B7 ORA A ;CY=0 175 61E1 C9 RET 176 ; 177 ;VSTUP Z IMS-2 (CTENY ZNAK DO REG.A) 178 ;----------------------------------- 179 ; 180 61E2 CD 6274 INIMS: CALL INDAT ;VSTUP DAT Z IMS-2 181 61E5 E6 7F ANI 7FH ;NULUJE 8.BIT 182 61E7 4F MOV C,A ;PRECTENY ZNAK 183 61E8 3E 1E MVI A,30 184 61EA 3D CEK: DCR A ;CEKANI 185 61EB C2 61EA JNZ CEK 186 61EE DB 30 IN IMSPA 187 61F0 E6 80 ANI 80H ;TEST ZS 188 61F2 79 MOV A,C 189 61F3 C8 RZ 190 ; 191 61F4 CD 62A4 CALL KONVS ;KONEC VSTUP.DAT 192 61F7 79 MOV A,C 193 61F8 0E 03 MVI C,EXT ;KONEC DAT 194 61FA C9 RET 195 ; 196 ;ADRESOVANI POSLUCHACE (BIN.ADR.PRISTROJE V REG.C) 197 ;-------------------------------------------------- 198 ; 199 61FB CD 622B OUADR: CALL INITA ;INICIAL.MLUVCIHO 200 61FE 16 20 MVI D,20H ;KOD POSLUCHACE 201 6200 CD 6234 CALL ADROU ;VYSLANI ADRESY 202 6203 D8 RC ;PRI CHYBE 203 6204 3E 06 MVI A,6 ;SHODI ATN 204 6206 D3 33 OUT IMSCW 205 6208 B7 ORA A ;CY=0 206 6209 C9 RET 207 ; 208 ;ADRESOVANI MLUVCIHO (BIN.ADR.PRISTROJE V REG.C) 209 ;------------------------------------------------ 210 ; 211 620A CD 622B INADR: CALL INITA ;INICIAL.MLUVCIHO 212 620D 16 40 MVI D,40H ;KOD MLUVCIHO 213 620F CD 623F CALL ADRIN ;VYSLANI ADRESY 214 6212 D8 RC ;PRI CHYBE 215 6213 CD 621C CALL INILI ;INICIAL.POSUCHACE 216 6216 3E 06 MVI A,6 ;SHODI ATN 217 6218 D3 33 OUT IMSCW 218 621A B7 ORA A ;CY=0 219 621B C9 RET 220 ; 221 ;INICIALIZACE POSLUCHACE 222 ; 223 621C 3E 0F INILI: MVI A,00001111B ;UVOLNENI SIG.NDAC 224 621E D3 33 OUT IMSCW MACRO-80 3.44 09-Dec-81 PAGE 1-4 225 6220 3E B0 MVI A,10110000B ;NASTAVENI DAT PORTU 226 6222 D3 37 OUT DATCW 227 6224 3E 03 MVI A,00000011B ;ZABLOKOVANI SIGNALU DAV 228 6226 D3 37 OUT DATCW 229 6228 DB 34 IN DATPA 230 622A C9 RET 231 ; 232 ;INICIALIZACE MLUVCIHO 233 ; 234 622B 3E 0E INITA: MVI A,00001110B ;ZABLOKOVANI SIG.NDAC 235 622D D3 33 OUT IMSCW 236 622F 3E 94 MVI A,10010100B ;STROB.VYST.DAT.PORTU B 237 6231 D3 37 OUT DATCW 238 6233 C9 RET 239 ; 240 ;VYSTUP ADRESY 241 ; 242 6234 79 ADROU: MOV A,C ;KONTROLA ADRESY 243 6235 FE 1F CPI 1FH 244 6237 3F CMC 245 6238 DC 6288 CC ERRAO ;CHYBA ADRESY 246 623B D8 RC ;PRI CHYBE 247 623C C3 6247 JMP ADR 248 623F 79 ADRIN: MOV A,C ;KONTROLA ADRESY 249 6240 FE 1F CPI 1FH 250 6242 3F CMC 251 6243 DC 628F CC ERRAI ;CHIBA ADRSY 252 6246 D8 RC 253 ; 254 6247 3E 07 ADR: MVI A,7H ;NAHODI ATV 255 6249 D3 33 OUT IMSCW 256 624B 3E 03 MVI A,03H ;NAHODI REN 257 624D D3 33 OUT IMSCW 258 624F 3E 01 MVI A,1 ;CAS T8 259 6251 CD 0F98 CALL TIME 260 6254 79 MOV A,C ;ADR.PREV.DO.BINARU 261 6255 B2 ORA D ;PRIDA ADR.KE KODU 262 6256 CD 625B CALL OUTDAT ;VYSTUP 1 BYTU 263 6259 D8 RC ;PRI CHYBE 264 625A C9 RET 265 ; 266 ;VYSTUP 1 BYTU DAT NA IMS-2 267 ; 268 625B 57 OUTDAT: MOV D,A 269 625C DB 31 OU: IN IMSPB ;VYST.RIDICI PORT B 270 625E E6 60 ANI 60H 271 6260 CC 627E CZ ERRLI ;CHYBA PRI NAHOZ.NDAT 272 6263 D8 RC ;PRI CHYBE 273 6264 FE 40 CPI 40H 274 6266 C2 625C JNZ OU ;SKOK PRI SHOZEN.NDAC 275 6269 7A MOV A,D 276 626A D3 35 OUT DATPB ;VYST.DAYOVY. PORT B 277 626C DB 36 OU1: IN DATPC ;STAV.REG.,PORTU C 278 626E E6 02 ANI 2 279 6270 CA 626C JZ OU1 280 6273 C9 RET MACRO-80 3.44 09-Dec-81 PAGE 1-5 281 ; 282 ;VSTUP 1 BYTE DAT Z IMS-2 283 ; 284 6274 DB 36 INDAT: IN DATPC ;STAV.REG.,PORTU C 285 6276 E6 20 ANI 20H ;TEST IBFA 286 6278 CA 6274 JZ INDAT 287 627B DB 34 IN DATPA ;VSTUP.DAT.PORT A 288 627D C9 RET 289 ; 290 ;ULOZENI CISLA CHYBY DO REG.A 291 ; 292 627E CD 6296 ERRLI: CALL KONVY ;KONEC VYSTUPU 293 6281 CD 62A4 CALL KONVS ;KONEC VSTUP.DAT 294 6284 3E 01 MVI A,1 ;CHYBA ADRESY 295 6286 37 STC 296 6287 C9 RET 297 ; 298 6288 CD 6296 ERRAO: CALL KONVY ;KONEC VYSTUPU 299 628B 3E 00 MVI A,0 ;CHYBA PRISTROJE 300 628D 37 STC 301 628E C9 RET 302 ; 303 628F CD 62A4 ERRAI: CALL KONVS ;KONEC VSTUP.DAT 304 6292 3E 00 MVI A,0 ;CHYBA PRISTROJE 305 6294 37 STC 306 6295 C9 RET 307 ; 308 ;KONEC VYSTUPU 309 ; 310 6296 3E 07 KONVY: MVI A,7 ;NAHODI ATN 311 6298 D3 33 OUT IMSCW 312 629A 3E 3F MVI A,3FH ;KOD UNL 313 629C CD 625B CALL OUTDAT 314 629F 3E 06 MVI A,6 ;SHODI ATN 315 62A1 D3 33 OUT IMSCW 316 62A3 C9 RET 317 ; 318 ;KONEC VYSTUPNICH DAT 319 ; 320 62A4 CD 622B KONVS: CALL INITA ;INICIAL.MLUVCIHO 321 62A7 3E 02 MVI A,2 ;SHODI REN 322 62A9 D3 33 OUT IMSCW 323 62AB 3E 01 MVI A,1 ;NAHODI IFC 324 62AD D3 33 OUT IMSCW 325 62AF 3E 01 MVI A,1 326 62B1 CD 0F98 CALL TIME ;CEKANI 327 62B4 3E 00 MVI A,0 328 62B6 D3 33 OUT IMSCW 329 62B8 C9 RET 330 ; 331 ;KONEC VYSTUPNICH DAT 332 ; 333 62B9 3E 05 KONDA: MVI A,5H ;NAHODI EOI 334 62BB D3 33 OUT IMSCW 335 62BD 3E 0A MVI A,10 336 62BF CD 0F98 CALL TIME MACRO-80 3.44 09-Dec-81 PAGE 1-6 337 62C2 3E 0A MVI A,LF ;VYSTUP LF 338 62C4 CD 625B CALL OUTDAT 339 62C7 3E 04 MVI A,4H ;SHODI EOI 340 62C9 D3 33 OUT IMSCW 341 62CB C9 RET 342 ; 343 62CC ULSP: DS 2 ;UKLADA REG.SP 344 345 62CE PRER:Dále následuje obsluha přerušení, která vyžívá tyto podprogramy START, NULBF, STOP a WOB z MIKOSu V4.0F. Ovladač vyžívá z MIKOSu V4.0F podprogram TIME.
Ovladače se liší v podprogramech VSTUP a INIMS.
Ú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