Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | / |
2 | / COPYRIGHT 1971, DIGITAL EQUIPMENT CORPORATION, | |
3 | / MAYNARD, MASSACHUSETTS 01754 | |
4 | / UTILITY SUBROUTINE PACKAGE | |
5 | / VERSION UTILTY.V7A (OCTOBER 26,1971) | |
6 | / (VERS. CHG. V07 TO V7A 4/25/77 MH) | |
7 | / | |
8 | ENTRY OPEN /INITIALIZING AND FLAG SETTING ROUTINE | |
9 | ENTRY GENIO | |
10 | ENTRY EXIT /EXIT TO DISK MONITOR SYSTEM | |
11 | ENTRY ERROR | |
12 | ENTRY CKIO /USELESS ROUTINE | |
13 | OPDEF KRS 6034 | |
14 | OPDEF KCC 6032 | |
15 | OPDEF RIF 6224 | |
16 | OPDEF TADI 1400 | |
17 | OPDEF DCAI 3400 | |
18 | OPDEF JMSI 4400 | |
19 | OPDEF JMPI 5400 | |
20 | / CARD READER IOT'S | |
21 | OPDEF RCSE 6672 | |
22 | OPDEF RCSP 6671 | |
23 | OPDEF RCSF 6631 | |
24 | OPDEF RCRA 6632 | |
25 | /LINE PRINTER IOT'S | |
26 | OPDEF LLB 6666 | |
27 | OPDEF LSF 6661 | |
28 | ||
29 | LAP | |
30 | ||
31 | U17, 17 /*** MUST BE FIRST LOC IN PAGE *** | |
32 | ||
33 | IOER, 1117 | |
34 | 0522 /"IOER" ERROR | |
35 | GENIO, BLOCK 2 /GENERAL INPUT/OUTPUT ROUTINE | |
36 | DCA 7 /SAVE ENTRY AC | |
37 | GENLP, TAD 7 | |
38 | RTL | |
39 | RTL | |
40 | RAL | |
41 | U200, AND U17 | |
42 | TAD JMPITB | |
43 | DCA DSPACH /INDEX JUMP TABLE BY DEVICE NUMBER | |
44 | TAD U200 | |
45 | KRS | |
46 | TAD UM203 | |
47 | SNA CLA | |
48 | KSF /CHECK FOR ^C ON TELETYPE | |
49 | DSPACH, NOP /NO ^C - DISPATCH TO I/O ROUTINE | |
50 | CALL 0,EXIT | |
51 | ||
52 | JMPITB, JMPI DEVTAB | |
53 | DEVTAB, TTYOUT | |
54 | HSPOUT | |
55 | IOERR | |
56 | GENOUT | |
57 | TTYIN | |
58 | HSRIN | |
59 | IOERR | |
60 | GENIN | |
61 | IOERR | |
62 | IOERR | |
63 | IOERR | |
64 | IOERR | |
65 | IOERR | |
66 | IOERR | |
67 | IOERR | |
68 | IOERR | |
69 | ||
70 | HSPOUT, PSF | |
71 | JMP GENLP | |
72 | TAD 7 | |
73 | PLS | |
74 | GENRTN, CLA | |
75 | RETRN GENIO | |
76 | ||
77 | HSRIN, ISZ T1 | |
78 | JMP HSRSF | |
79 | TAD U336 /TIME OUT-PRINT '^' | |
80 | TLS | |
81 | HLP, KSF | |
82 | JMP HLP | |
83 | AND U200 /GET 200 INTO AC | |
84 | KRS /READ THE CHAR. | |
85 | TAD UM203 | |
86 | SZA CLA /IS IT CONTROL C? | |
87 | KCC /NO-CLEAR FLAG | |
88 | RFC /USER TYPED-TICKLE RDR-FALL THRU RFC | |
89 | HSRSF, RSF | |
90 | JMP GENLP | |
91 | DCA T1 | |
92 | RRB RFC | |
93 | JMP GENRTN# | |
94 | U336, 336 | |
95 | T1, 0 | |
96 | ||
97 | UM203, -203 | |
98 | ||
99 | ||
100 | PAGE | |
101 | \fU377, 377 /MUST BE FIRST LOC IN THIS PAGE | |
102 | GENIN, 6201 | |
103 | TADI IHNDLR | |
104 | SNA CLA /OPEN INPUT FILE? | |
105 | JMP IOERR /NO | |
106 | 6202 | |
107 | JMS I FICHAR /GET A CHAR | |
108 | JMP IOERR /INPUT ERROR | |
109 | UU200, AND U377 | |
110 | GRTN2, RETRN GENIO | |
111 | ||
112 | GENOUT, 6201 | |
113 | TADI OHNDLR | |
114 | SNA CLA /OPEN OUTPUT FILE? | |
115 | JMP IOERR /NO | |
116 | 6202 | |
117 | TAD 7 /GET CHAR TO BE OUTPUT | |
118 | AND U377 | |
119 | JMS I FOCHAR /PUT A CHARACTER | |
120 | JMP IOERR /OUTPUT ERROR | |
121 | JMP GRTN2 | |
122 | ||
123 | IHNDLR, 122 /***ALL THESE LOCATIONS ARE VERY VOLATILE!! *** | |
124 | FICHAR, 606 /******* | |
125 | OHNDLR, 121 /******* | |
126 | FOCHAR, 651 /****************** | |
127 | BATIN, 5400 /************************** | |
128 | BATOUT, 7400 /************************** | |
129 | BATVFY, 5600 /************************** | |
130 | BATVAL, -2214 /************************** | |
131 | ||
132 | / | |
133 | / INITIALIZING SUBROUTINE CALLED BY FORTRAN | |
134 | / CLEARS FLOATING AC AND SETS FLAGS | |
135 | / | |
136 | OPEN, BLOCK 2 | |
137 | PLS | |
138 | RFC | |
139 | CALL 0,CLEAR | |
140 | CDFX, 6201 | |
141 | DCAI IHNDLR | |
142 | DCAI OHNDLR /ZERO DEVICE-INDEPENDENT IO FLAGS | |
143 | DCA TTFLAG /BEGINNING OF LINE | |
144 | TADI (7777 /GET BATCH FIELD | |
145 | AND (70 | |
146 | TAD CDFX /MAKE A CDF | |
147 | DCA CDFB | |
148 | TADI (7777 /GET BATCH RUNNING BIT | |
149 | RAL | |
150 | SMA CLA | |
151 | JMP IOERR /BATCH NOT RUNNING | |
152 | CDFB, HLT | |
153 | TADI BATVFY /CHECK CRUCIAL LOCATION | |
154 | TAD BATVAL /FOR RL'S INITIALS | |
155 | SZA CLA | |
156 | JMP IOERR | |
157 | TAD CDFB | |
158 | IAC /MAKE A CIF | |
159 | DCA CIFB1 | |
160 | TAD CIFB1 | |
161 | DCA CIFB2 | |
162 | RIF /MAKE A CDF TO HERE | |
163 | TAD CDFX | |
164 | DCA CDFH | |
165 | RETRN OPEN | |
166 | ||
167 | ||
168 | TTYIN, | |
169 | CIFB1, 0 /CIF BATCH | |
170 | JMSI BATIN /GET A CHAR | |
171 | JMP TTEOF1 /EOF | |
172 | DCA 7 /SAVE KEYBOARD CHAR | |
173 | TAD 7 | |
174 | TAD (-"$ /IS IT A "$"? | |
175 | SZA CLA | |
176 | JMP TTFUJ1 /NO | |
177 | ISZ TTFLAG /WAS LAST CHAR <CR>? | |
178 | JMP TTYEOF /YES - EOF | |
179 | TTFUJ1, CLA CMA | |
180 | DCA TTFLAG /RESET FLAG FOR NON <CR> | |
181 | TAD 7 | |
182 | TAD (-215 | |
183 | SNA CLA | |
184 | DCA TTFLAG /CLEAR FLAG TO INDICATE <CR> | |
185 | TYRTN, TAD 7 | |
186 | JMP GRTN2 /RETURN WITH CHAR IN AC | |
187 | ||
188 | TTFLAG, 0 /INITIALLY AT BEGINNING OF LINE | |
189 | ||
190 | TTYEOF, 6201 /CDF | |
191 | TADI (7777 /GET WORD FROM FIELD 0 | |
192 | RTR | |
193 | CLL CML RTL /SET BIT 10 | |
194 | DCAI (7777 /REPLACE IT | |
195 | CDFH, 0 /CDF HERE | |
196 | TTEOF1, JMP IOERR /WHAT TO DO? | |
197 | ||
198 | ||
199 | TYPE, 0 | |
200 | TAD 7 | |
201 | CIFB2, 0 /CIF BATCH | |
202 | JMSI BATOUT /SEND A CHAR TO THE BATCH OUTPUT STREAM | |
203 | JMPI TYPE | |
204 | ||
205 | TTYOUT, JMS TYPE | |
206 | JMP GRTN2 | |
207 | ||
208 | IOERR, CALL 1,ERROR | |
209 | ARG IOER | |
210 | ||
211 | ||
212 | PAGE | |
213 | \f | |
214 | PMESG, MESG | |
215 | MESG, 7777 | |
216 | 7777 | |
217 | 4005 | |
218 | 2222 | |
219 | 1722 | |
220 | 4001 | |
221 | 2440 | |
222 | 1417 | |
223 | 0340 | |
224 | LIT7, 0007 | |
225 | ||
226 | ERROR, BLOCK 2 /ERROR PROCESSOR | |
227 | U7600, 7600 | |
228 | TAD ERROR | |
229 | DCA TEM1 | |
230 | TEM1, NOP /SET DATA FIELD OF "CALL ERROR" | |
231 | TADI ERROR# | |
232 | DCA TEM3 | |
233 | INC ERROR# | |
234 | E60, CLA CMA CML /CML IS WINDOW DRESSING | |
235 | TADI ERROR# | |
236 | DCA 10 | |
237 | INC ERROR# | |
238 | TEM3, NOP /DATA FIELD OF MESSAGE&ENTRY POINT | |
239 | DCA CKIO /ZERO "FATAL ERROR" FLAG | |
240 | TADI 10 | |
241 | RAL | |
242 | SZL /NON-FATAL BIT ON? | |
243 | ISZ CKIO /YES - SET "FATAL FLAG" TO NON-FATAL | |
244 | CLL RAR /STRIP NON-FATAL BIT FROM MESSAGE | |
245 | DCA MESG | |
246 | TADI 10 /SECOND WORD OF MESSAGE | |
247 | DCA MESG# | |
248 | TADI 10 | |
249 | DCA TEM1 | |
250 | TADI 10 | |
251 | DCA TEM3 /CALLING ADDRESS | |
252 | TAD PMESG | |
253 | DCA TEM2 | |
254 | ||
255 | ERLP, TAD I TEM2 | |
256 | RTR | |
257 | RTR | |
258 | RTR | |
259 | JMS PR6BIT | |
260 | TAD I TEM2 | |
261 | JMS PR6BIT | |
262 | INC TEM2 | |
263 | JMP ERLP | |
264 | ||
265 | PRLOC, TAD TEM1 | |
266 | RTR | |
267 | RTR | |
268 | JMS ERTTY /PRINT CALLING FIELD | |
269 | TAD (-4 | |
270 | DCA TEM2 | |
271 | NUMLP, TAD TEM3 | |
272 | RTL | |
273 | RAL | |
274 | DCA TEM3 | |
275 | TAD TEM3 | |
276 | JMS ERTTY | |
277 | ISZ TEM2 | |
278 | JMP NUMLP | |
279 | TAD (215 | |
280 | DCA 7 | |
281 | JMS TYPE | |
282 | CLA CLL CMA RTL | |
283 | JMS TYPE | |
284 | TAD CKIO /GET THE FATAL ERROR FLAG | |
285 | SNA CLA /WHADDOWEDO?? | |
286 | JMP EXITX | |
287 | RETRN ERROR /HE SAYS ITS NON-FATAL - LET HIM HANDLE IT | |
288 | ||
289 | ERTTY, 0 /DIGIT PRINTING ROUTINE | |
290 | RAL | |
291 | AND LIT7 | |
292 | TAD E60 | |
293 | JMS PR6BIT | |
294 | JMP I ERTTY | |
295 | ||
296 | PR6BIT, 0 /6BIT TO 8BIT CONVERTOR | |
297 | AND (77 | |
298 | SNA | |
299 | JMP PRLOC /MESSAGE OVER | |
300 | TAD (7740 | |
301 | SPA | |
302 | TAD (100 | |
303 | TAD (240 | |
304 | CALL 0,GENIO /LOOK FOR ^C WHILE TYPING | |
305 | JMP I PR6BIT | |
306 | ||
307 | / | |
308 | /EXIT TO DISK MONITOR SYSTEM | |
309 | / | |
310 | EXIT, BLOCK 2 | |
311 | EXITX, CALL 0,CKIO | |
312 | 6203 | |
313 | JMPI U7600 /RETURN TO MONITOR | |
314 | ||
315 | CKIO, 0 | |
316 | TEM2, 0 /DUMMY SUBROUTINE TO WAIT FOR I/O COMPLETE | |
317 | RETRN CKIO | |
318 | ||
319 | ||
320 | END | |
321 | \f |