ARGAD 0200 ARG1 0245 ARG2 0246 CALLEM 0237 COMMON 0214 DCAI 3400OP DEVIC 0253 EROR 0252 FCODE 0244 GETARG 0201 GTCDF1 0202 GTCDF2 0211 JMPI 5400OP NAMAD 0255 NAME 0256 NAME1 0260 RETRNM 0262 ROPEN 0276EXT ROPE1 0301 SPLIT 0307 TADI 1400OP USR 0254 WCLOS 0325EXT WOPEN 0315EXT /UTILITIES FOR RTAPE,WTAPE FOR THE TD8E CONTROLLER. / / (1) OPEN FILE FOR READ. / ROPEN(IUNIT,FILENAME,ISTARTBLOCK,INOBLOCKS,IER) / / (2) OPEN NEW FILE FOR WRITE. / WOPEN(IUNIT,FILENAME,ISTARTBLOCK,INOBLOCKS,IER) / / (3) CLOSE PREVIOUSLY OPENED FILE. / WCLOSE(IUNIT,FILENAME,INOBLOCKS,IER|) / / 1400 OPDEF TADI 1400 3400 OPDEF DCAI 3400 5400 OPDEF JMPI 5400 ENTRY ROPEN ENTRY WOPEN ENTRY WCLOS / PARAMETER UNPACKING ROUTINE.. 0200 0000 ARGAD, 0 0201 0000 GETARG, 0 /GETS NEXT ARGUMENT IN FORTRAN /GENERATED PARAMETER STRING. 0202 7402 GTCDF1, HLT /REPLACED BY CDF 0203 1677 TADI ROPEN# /GET PARAM DATA FIELD 0204 3211 DCA GTCDF2 0205 2277 INC ROPEN# /BUMP LIST ADDRESS 0206 1677 TADI ROPEN# /GET THE PARAMETER ADDRESS. 0207 3200 DCA ARGAD /SAVE FOR INDIRECT 0210 2277 INC ROPEN# 0211 7402 GTCDF2, HLT /REPLACED BY CDF 0212 1600 TADI ARGAD /PASS THE VALUE IN THE ACC 0213 5601 JMPI GETARG /ADIOS M.F....... /COMMON CODE FOR GETTING THE FIRST TWO PARAMS. 0214 0000 COMMON, 0 0215 4201 JMS GETARG /GET THE UNIT NUMBER 0216 7110 CLL RAR /DETERMINE WHICH UNIT 0217 7630 SZL CLA 0220 1377 TAD (3 /DTA1 IS LOGICAL #4 0221 7001 IAC /DTA0 IS LOGICAL #1 0222 3253 DCA DEVIC 0223 4201 JMS GETARG /NOW GET THE FILE NAME 0224 3256 DCA NAME 0225 2200 INC ARGAD /WHICH CONSISTS OF THREE 0226 1600 TADI ARGAD /WORDS AND AN ASSUMED 0227 3257 DCA NAME# /EXTENSION OF .DA 0230 2200 INC ARGAD 0231 1600 TADI ARGAD 0232 3260 DCA NAME1 0233 1255 TAD NAMAD /SET UP ADDRES POINTER 0234 3245 DCA ARG1 /TO THIS NAME IN ARG1. 0235 3252 DCA EROR /CLEAR ERROR STATUS 0236 5614 JMP I COMMON /EXEUNT THE PLACE / COMMON CALL TO THE USR FOR THE FUNCTION DESIRED.. 0237 0000 CALLEM, 0 0240 1253 TAD DEVIC /DEVICE NUMBER IN THE ACC 0241 6212 6212 /CHANGE INSTRUCTION FIELD TO 1 0242 6201 05 JMS I USR 0243 4654 0244 0000 FCODE, 0 /FUNCTION CODE WORD 0245 0000 ARG1, 0 0246 0000 ARG2, 0 0247 2252 INC EROR /SET ERROR FLAG 0250 6201 05 JMP I CALLEM /SO MUCH FOR THAT PART. 0251 5637 / A FEW DATA CELLS AND CONSTANTS. 0252 0000 EROR, 0 0253 0000 DEVIC, 0 /THE DEVICE NUMBER 0254 7700 USR, 7700 0255 0256 01 NAMAD, NAME 0256 0000 NAME, BLOCK 2 0257 0000 0260 0000 NAME1, 0 0261 0401 0401 /ASSUMED EXTENSION OF .DA / COMMON ROUTINE TO RETURN THE LAST TWO PARAMETERS. 0262 0000 RETRNM, 0 0263 7300 CLA CLL 0264 4201 JMS GETARG /GET IT ALL SET UP BY GETTING 0265 7200 CLA /THE PARAMETER, THEN JUST PUT 0266 1245 TAD ARG1 /IN THE RETURNED VALUE. 0267 3600 DCAI ARGAD /PASS BACK THE START BLOCK 0270 4201 JMS GETARG 0271 7200 CLA 0272 1246 TAD ARG2 /AND THE NUMBER OF BLOCKS. 0273 7041 CIA /AS A POSITIVE NUMBER 0274 3600 DCAI ARGAD 0275 5662 JMP I RETRNM /ZOOM ON GANG. / ENTRY FOR READ FILE OPEN (ROPEN) 0276 0000 ROPEN, BLOCK 2 0277 0000 0300 7305 CLA CLL IAC RAL /FUNCTION CODE IS 2 0301 3244 ROPE1, DCA FCODE 0302 1276 TAD ROPEN /SET UP PARAMETER FETCH 0303 3202 DCA GTCDF1 0304 4214 JMS COMMON /UNPACK THE PARAMETERS 0305 4237 JMS CALLEM /CALL THE USR 0306 4262 JMS RETRNM /RETURN THE FILE INFORMATION 0307 4201 SPLIT, JMS GETARG /AND THE ERROR STATUS 0310 7200 CLA 0311 1252 TAD EROR 0312 3600 DCAI ARGAD 0313 4040 RETRN ROPEN /AND SPLIT. 0314 0001 06 / ENTRY FOR WRITE FILE OPEN (WOPEN) 0315 0000 WOPEN, BLOCK 2 0316 0000 0317 1315 TAD WOPEN /MOVE CALLING PARAMETERS 0320 3276 DCA ROPEN 0321 1316 TAD WOPEN# 0322 3277 DCA ROPEN# 0323 1377 TAD (3 /FUNCTION CODE IS 3 0324 5301 JMP ROPE1 /AND THE REST IS THE SAME / ENTRY FOR CLOSING PREVIOUSLY OPENED WRITE FILE (WCLOS) 0325 0000 WCLOS, BLOCK 2 0326 0000 0327 1325 TAD WCLOS /JUGGLE THE CALLING PARAMS 0330 3276 DCA ROPEN 0331 1326 TAD WCLOS# 0332 3277 DCA ROPEN# 0333 7307 CLA CLL IAC RTL /FUNCTION CODE IS 4 0334 3244 DCA FCODE 0335 1276 TAD ROPEN /SET UP PARAMETER FETCH 0336 3202 DCA GTCDF1 0337 4214 JMS COMMON /GET FIRST TWO PARAMS 0340 4201 JMS GETARG /AND THE FILE LENGTH 0341 3246 DCA ARG2 0342 4237 JMS CALLEM /CALL THE USR 0343 5307 JMP SPLIT /THATS ALL.... 0377 0003 END