Ú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