1 /UTILITY SUBROUTINE PACKAGE OS8 FORTRAN II LIBRARY
11 /COPYRIGHT (C) 1974,1977 BY DIGITAL EQUIPMENT CORPORATION
22 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
23 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
24 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
25 /FOR ANY ERRORS THAT MAY APPEAR IN THIS MANUAL.
27 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
28 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
29 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
30 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
45 /UTILITY SUBROUTINE PACKAGE OS8 FORTRAN II LIBRARY
46 \f/ VERSION 10A (APRIL 28, 1977)
47 / VERSION NUMBER IS AVAILABLE AT ENTRY POINTS
49 ENTRY OPEN /INITIALIZING AND FLAG SETTING ROUTINE
51 ENTRY EXIT /EXIT TO DISK MONITOR SYSTEM
53 ENTRY CKIO /USELESS ROUTINE
71 U17, 17 /*** MUST BE FIRST LOC IN PAGE ***
76 10 /GENERAL INPUT/OUTPUT ROUTINE
84 DCA DSPACH /INDEX JUMP TABLE BY DEVICE NUMBER
89 KSF /CHECK FOR ^C ON TELETYPE
90 DSPACH, NOP /NO ^C - DISPATCH TO I/O ROUTINE
102 TTYFUJ /FUDGE - SEE TELETYPE INPUT ROUTINE
120 CLA CLL CML RTR /****DEPENDS ON NUMBER OF DEVICES ****
121 JMP GENLP /TEST FOR ^C ONE LAST TIME
125 TAD U336 /TIME OUT-PRINT '^'
129 AND U200 /GET 200 INTO AC
132 SZA CLA /IS IT CONTROL C?
134 RFC /USER TYPED-TICKLE RDR-FALL THRU RFC
144 PCDRGC, CDRGCH /USED TO FORCE DF=CURRENT WHEN NECESSARY
148 PCDRTB, CDRTBL /CONVERSION FROM CARD CODE TO ASCII-240
153 JMP CDRNXT /NEW CARD NECESSARY
154 ISZ CDRCT /ADVANCE TO NEXT COLUMN
156 TAD CDR215 /NO MORE - SEND A CARRIAGE RETURN
163 JMP GENLP /CHECK FOR ^C WHILE WAITING FOR NEXT CARD
165 JMP CDRCOL /NOT END OF CARD YET
166 TAD CDRCT /END OF CARD - SET UP FOR EXTRACTION OF CHARS
170 TAD CDRLEN /FORM CHAR POINTER INTO TABLE AT 10100
174 JMSI PCDRGCH /INDEX TABLE AND PULL OUT CHAR (DF=10)
175 TAD CDR240 /CHANGE TO ASCII
177 CDRCOL, RCSF /ANYTHING YET?
178 JMP CDREST /KEEP LOOKING
182 JMS I PCDRGC /GET TABLE ENTRY, FORCING DATA FIELD CURRENT
183 DCA CDRLEN /SAVE IT TEMPORARILY
187 TAD CDR100 /INDEX TABLE AT LOC 10100
192 JMP CDNORT /RIGHT HALF
197 CDNORT, TADI DSPACH /ADD EXISTING LEFT HALF
198 DCAI DSPACH /SAVE UPDATED ENTRY
201 DCA CDRCT /UPDATE COLUMN POINTER
206 \fU377, 377 /MUST BE FIRST LOC IN THIS PAGE
209 SNA CLA /OPEN INPUT FILE?
212 JMS I FICHAR /GET A CHAR
213 JMP IOERR /INPUT ERROR
219 SNA CLA /OPEN OUTPUT FILE?
222 TAD 7 /GET CHAR TO BE OUTPUT
224 JMS I FOCHAR /PUT A CHARACTER
225 JMP IOERR /OUTPUT ERROR
228 IHNDLR, 122 /***ALL THESE LOCATIONS ARE VERY VOLATILE!! ***
231 FOCHAR, 651 /******************
234 / INITIALIZING SUBROUTINE CALLED BY FORTRAN
235 / CLEARS FLOATING AC AND SETS FLAGS
240 TLS /PUT LINE-FEED ON TTY
242 KCC /CLEAR KEYBOARD FLAG (AND AC)
248 DCAI OHNDLR /ZERO DEVICE-INDEPENDENT IO FLAGS
257 TAD (-1262 /LOOK FOR CONTROL CHARS IN PRINT POSITION 1
266 DCACH, SNA CLA /IF LINE FEED
267 CMA /SET "FIRST CHAR" SWITCH ON
274 DCA 7 /SAVE KEYBOARD CHAR
287 JMP GRTN2 /RETURN WITH CHAR IN AC
303 CDRTBL, 0021;2223;2425;2627
331 TEM1, NOP /SET DATA FIELD OF "CALL ERROR"
335 E60, CLA CMA CML /CML IS WINDOW DRESSING
339 TEM3, NOP /DATA FIELD OF MESSAGE&ENTRY POINT
340 DCA CKIO /ZERO "FATAL ERROR" FLAG
343 SZL /NON-FATAL BIT ON?
344 ISZ CKIO /YES - SET "FATAL FLAG" TO NON-FATAL
345 CLL RAR /STRIP NON-FATAL BIT FROM MESSAGE
347 TADI 10 /SECOND WORD OF MESSAGE
352 DCA TEM3 /CALLING ADDRESS
369 JMS ERTTY /PRINT CALLING FIELD
385 TAD CKIO /GET THE FATAL ERROR FLAG
386 SNA CLA /WHADDOWEDO??
388 RETRN ERROR /HE SAYS ITS NON-FATAL - LET HIM HANDLE IT
390 ERTTY, 0 /DIGIT PRINTING ROUTINE
397 PR6BIT, 0 /6BIT TO 8BIT CONVERTOR
400 JMP PRLOC /MESSAGE OVER
405 CALL 0,GENIO /LOOK FOR ^C WHILE TYPING
409 /EXIT TO DISK MONITOR SYSTEM
415 JMPI U7600 /RETURN TO MONITOR
418 TEM2, 10 /DUMMY SUBROUTINE TO WAIT FOR I/O COMPLETE
423 CDRGCH, 0 /GET A CHAR FROM A PACKED TABLE
424 DCA TEM2 /WORD PTR IN AC, LEFT/RIGHT SW IN LINK
425 TADI TEM2 /PRESERVE ENTRY FIELD
427 JMP CDRAND /RIGHT HALF
432 JMP I CDRGCH /RESTORE CURRENT FIELD AND GET OUT