1 /IOPEN SUBROUTINE 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
46 / VERSION NUMBER IS AVAILABLE AT ENTRY POINTS
47 / SUBROUTINES TO MANIPULATE OS/8 FILES
50 ENTRY IOPEN /OPEN AN INPUT FILE
51 ENTRY OOPEN /OPEN AN OUTPUT FILE
52 ENTRY OCLOS /CLOSE AN OUTPUT FILE
53 ENTRY CHAIN /CHAIN TO A PROGRAM
60 LAP /LEAVE AUTOMATIC PAGING - WE NEED THE 2 LOCATIONS
62 IOER, 1117;0522 /"IOER" ERROR MESSAGE
66 JMS SETUP /PUT 2 WORDS OF FIRST ARGUMENT INTO "ASDEV"
67 TADI INHNDL /DATA FIELD IS 0 HERE - GET INPUT HANDLER PAGE
69 JMP IOERR /NO /I GIVEN - ERROR
70 DCAI 10 /STORE IN "ASPAGE"
71 JMS GFILNM /MOVE FILE NAME INTO LOCS 00000-00003
72 TAD FLUKUP /LOAD POINTER TO "FLUKUP" IN RUN-TIME ROUTINES
74 JMS I FASIGN /SET DF=CURRENT AND GO LOOKUP FILE
75 RETRN IOPEN /** FASIGN SKIPS BUT SECOND WORD IS SMALL **
76 IOERR, CALL 1,ERROR /I-O ERROR - GIVE MESSAGE AND QUIT
83 JMP CALASN /SEE "IOPEN" FOR COMMENTS
85 OOCOMN, 0 /COMMON SUBR BETWEEN "OOPEN" AND "OCLOS"
89 DCA IOPEN# /MOVE CALLING ADDRESS TO IOPEN
91 JMS SETUP /SET UP DEVICE NAME IN FIELD 0
94 JMP IOERR /NO /O GIVEN - ERROR
95 DCAI 10 /STORE IN "ASPAGE"
96 JMS GFILNM /PUT FILE NAME INTO 00000-3
101 JMS OOCOMN /SET UP DEVICE AND FILE NAME
105 DCA IOPEN# /SET UP IOPEN FOR RETURN
108 OCLOOP, TAD CHAIN# /=1632 =^Z ON DEVICE 4 OUTPUT
111 JMP OCLOOP /FORCE OUT THE LAST BUFFER
113 JMP CALASN /DO WORK AND LEAVE
119 SETDF, 0 /SET CALLING DATA FIELD
121 DCA GETWD# /SAVE FIELD OF ARGUMENT
124 DCA SETDF /SAVE ADDRESS OF ARGUMENT
126 JMS GETWD /TRANSFER TWO WORDS FROM THE
127 JMS GETWD /ARGUMENT LIST TO WHERE XR 10 POINTS
128 JMPI SETUP /RETURN WITH DATA FIELD =0
131 NOP /SET ARGUMENT FIELD
136 JMPI GETWD /DO NOT RESTORE DATA FIELD
140 JMS SETUP /MOVE TWO WORDS TO 00000 AND 00001
141 JMS GETWD /MOVE THE THIRD WORD
143 DCAI 10 /SUPPLY AN EXTENSION
146 DA, 0401 /.DA EXTENSION
149 FASIGN, 541 /*****************
150 ASDVM1, 552 / CAUTION!
151 FLUKUP, 567 /ALL THESE LOCATIONS ARE VERY VOLATILE!!
152 FENTER, 741 /WATCH OUT IF YOU REASSEMBLE THE LOADER!
153 FCLOSE, 757 /*****************
155 CHAIN, 7177 /USE "CHAIN" TO STORE CONSTANTS
156 1632 /SINCE IT IS ONLY CALLED TERMINALLY
159 CALL 0,CKIO /WAIT FOR DEVICE
162 JMS GFILNM /GET FILE NAME INTO 00000-00003
163 ISZI INHNDL /FORCE INHNDL NONZERO SO IOPEN WONT FAIL
164 TAD SV /CHANGE ASSUMED EXTENSION
165 DCA DA /FROM .DA TO .SV
167 DCA IOER /IF IOPEN FAILS GIVE "CHER" MESSAGE
169 ARG SYS /CHAIN WORKS FROM THE SYSTEMS DEVICE ONLY
171 0 /"ARG 0" POINTING TO 00000!
174 DCAI K2 /MODIFY "LOOKUP" INTO "CHAIN"
175 DCAI ZRONAM /ALSO KILL LOC WHICH ZEROS FILE NAME PTR
176 JMP CALOPN /GO BACK - THIS TIME IOPEN WILL CHAIN.
178 SYS, 2303 /***** 2303+2326 =4631 = "SYS"! WATCH IT!
180 K2, 571 /**** SUPER VOLATILE LOCATION ****
181 ZRONAM, 557 /**** DITTO ****