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)
8 ENTRY OPEN /INITIALIZING AND FLAG SETTING ROUTINE
10 ENTRY EXIT /EXIT TO DISK MONITOR SYSTEM
12 ENTRY CKIO /USELESS ROUTINE
31 U17, 17 /*** MUST BE FIRST LOC IN PAGE ***
35 GENIO, BLOCK 2 /GENERAL INPUT/OUTPUT ROUTINE
43 DCA DSPACH /INDEX JUMP TABLE BY DEVICE NUMBER
48 KSF /CHECK FOR ^C ON TELETYPE
49 DSPACH, NOP /NO ^C - DISPATCH TO I/O ROUTINE
79 TAD U336 /TIME OUT-PRINT '^'
83 AND U200 /GET 200 INTO AC
86 SZA CLA /IS IT CONTROL C?
88 RFC /USER TYPED-TICKLE RDR-FALL THRU RFC
101 \fU377, 377 /MUST BE FIRST LOC IN THIS PAGE
104 SNA CLA /OPEN INPUT FILE?
107 JMS I FICHAR /GET A CHAR
108 JMP IOERR /INPUT ERROR
114 SNA CLA /OPEN OUTPUT FILE?
117 TAD 7 /GET CHAR TO BE OUTPUT
119 JMS I FOCHAR /PUT A CHARACTER
120 JMP IOERR /OUTPUT ERROR
123 IHNDLR, 122 /***ALL THESE LOCATIONS ARE VERY VOLATILE!! ***
126 FOCHAR, 651 /******************
127 BATIN, 5400 /**************************
128 BATOUT, 7400 /**************************
129 BATVFY, 5600 /**************************
130 BATVAL, -2214 /**************************
133 / INITIALIZING SUBROUTINE CALLED BY FORTRAN
134 / CLEARS FLOATING AC AND SETS FLAGS
142 DCAI OHNDLR /ZERO DEVICE-INDEPENDENT IO FLAGS
143 DCA TTFLAG /BEGINNING OF LINE
144 TADI (7777 /GET BATCH FIELD
148 TADI (7777 /GET BATCH RUNNING BIT
151 JMP IOERR /BATCH NOT RUNNING
153 TADI BATVFY /CHECK CRUCIAL LOCATION
154 TAD BATVAL /FOR RL'S INITIALS
162 RIF /MAKE A CDF TO HERE
170 JMSI BATIN /GET A CHAR
172 DCA 7 /SAVE KEYBOARD CHAR
174 TAD (-"$ /IS IT A "$"?
177 ISZ TTFLAG /WAS LAST CHAR <CR>?
178 JMP TTYEOF /YES - EOF
180 DCA TTFLAG /RESET FLAG FOR NON <CR>
184 DCA TTFLAG /CLEAR FLAG TO INDICATE <CR>
186 JMP GRTN2 /RETURN WITH CHAR IN AC
188 TTFLAG, 0 /INITIALLY AT BEGINNING OF LINE
191 TADI (7777 /GET WORD FROM FIELD 0
193 CLL CML RTL /SET BIT 10
194 DCAI (7777 /REPLACE IT
196 TTEOF1, JMP IOERR /WHAT TO DO?
202 JMSI BATOUT /SEND A CHAR TO THE BATCH OUTPUT STREAM
226 ERROR, BLOCK 2 /ERROR PROCESSOR
230 TEM1, NOP /SET DATA FIELD OF "CALL ERROR"
234 E60, CLA CMA CML /CML IS WINDOW DRESSING
238 TEM3, NOP /DATA FIELD OF MESSAGE&ENTRY POINT
239 DCA CKIO /ZERO "FATAL ERROR" FLAG
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
246 TADI 10 /SECOND WORD OF MESSAGE
251 DCA TEM3 /CALLING ADDRESS
268 JMS ERTTY /PRINT CALLING FIELD
284 TAD CKIO /GET THE FATAL ERROR FLAG
285 SNA CLA /WHADDOWEDO??
287 RETRN ERROR /HE SAYS ITS NON-FATAL - LET HIM HANDLE IT
289 ERTTY, 0 /DIGIT PRINTING ROUTINE
296 PR6BIT, 0 /6BIT TO 8BIT CONVERTOR
299 JMP PRLOC /MESSAGE OVER
304 CALL 0,GENIO /LOOK FOR ^C WHILE TYPING
308 /EXIT TO DISK MONITOR SYSTEM
313 JMPI U7600 /RETURN TO MONITOR
316 TEM2, 0 /DUMMY SUBROUTINE TO WAIT FOR I/O COMPLETE