ARGAD 0200 ARG1 0254 ARG2 0255 ARG3 0256 DCAI 3400OP DOIT 0252 EROR 0262 GETARG 0202 GTCDF1 0203 GTCDF2 0212 HANDT 0201 HANDTD 0263 JMPI 5400OP RTAPE 0301EXT TADI 1400OP THEART 0215 WTAPE 0264EXT WTPRS 0267 /RTAPE,WTAPE FOR THE TD8E DECTAPE CONTROLLER. / /CALLED BY: CALL WTAPE(IUNIT,IBLOCK,IWORDS,IBUF,IER) / / 3400 OPDEF DCAI 3400 1400 OPDEF TADI 1400 5400 OPDEF JMPI 5400 ENTRY RTAPE /READ TAPE ENTRY ENTRY WTAPE /WRITE TAPE ENTRY /PARAMETER UNPACKING ROUTINE.... 0200 0000 ARGAD, 0 0201 0000 HANDT, 0 0202 0000 GETARG, 0 /GETS NEXT ARGUMENT IN FORTRAN /GENERATED PARAMETER STRING 0203 7402 GTCDF1, HLT /REPLACED BY CDF 0204 1665 TADI WTAPE# /GET PARAM DATA FIELD 0205 3212 DCA GTCDF2 0206 2265 INC WTAPE# /BUMP LIST ADDRESS 0207 1665 TADI WTAPE# /GET PARAMETER ADDRESS 0210 3200 DCA ARGAD /SAVE FOR INDIRECT (OR ARRAY) 0211 2265 INC WTAPE# 0212 7402 GTCDF2, HLT /REPLACED BY CDF 0213 1600 TADI ARGAD /PASS VALUE IN ACC 0214 5602 JMPI GETARG /EXIT QUIETLY.... /GENERAL DECODING AND PROCESSING (COMMON) DONE HERE. 0215 0000 THEART, 0 0216 4202 JMS GETARG /GET THE UNIT NUMBER 0217 0377 AND (1 /MUST BE 0 OR 1, SO.... 0220 7110 CLL RAR /FORCE TO ZERO OR ONE. 0221 1263 TAD HANDTD /COMPUTE THE ENTRY POINT TO /THE SYSTEM HANDLER ROUTINE. 0222 7430 SZL /DTA0 OR DTA1....? 0223 1376 TAD (5 0224 3201 DCA HANDT 0225 4202 JMS GETARG /GET THE BLOCK NUMBER. 0226 7510 SPA /IF NEGATIVE VALUED THEN SET 0227 2254 ISZ ARG1 /FLAG IN THE FUNCTION WORD 0230 7510 SPA /TO START THE SEARCH IN THE 0231 7041 CIA /FORWARD DIRECTION. 0232 3256 DCA ARG3 /BLOCK NUMBER = ARG3 0233 4202 JMS GETARG /GET THE NUMBER OF WORDS 0234 0375 AND (3700 /CONVERT TO NUMBER OF BLOCKS 0235 7110 CLL RAR 0236 1254 TAD ARG1 /MASK INTO THE FUNCTION WORD 0237 3254 DCA ARG1 0240 4202 JMS GETARG /FINALLY GET THE BUFFER 0241 7200 CLA 0242 1212 TAD GTCDF2 /MASK THE DATA FIELD INTO THE 0243 0374 AND (0070 /FUNCTION WORD. 0244 1254 TAD ARG1 0245 3254 DCA ARG1 0246 1200 TAD ARGAD /AND SET UP THE BUFFER ADDRESS 0247 3255 DCA ARG2 0250 3262 DCA EROR / NOW CALL THE SYSTEM HANDLER.... 0251 6202 6202 /CHANGE TO FIELD 0 0252 6201 05 DOIT, JMS I HANDT 0253 4601 0254 0000 ARG1, 0 /FUNCTION WORD 0255 0000 ARG2, 0 /BUFFER ADDRESS 0256 0000 ARG3, 0 /BLOCK NUMBER 0257 3262 DCA EROR /ERROR EXIT 0260 6201 05 JMP I THEART /SEEMS RATHER PAINLESS.... 0261 5615 0262 0000 EROR, 0 0263 7607 HANDTD, 7607 / ENTRY POINT FOR WRITE FUNCTION (WTAPE) 0264 0000 WTAPE, BLOCK 2 0265 0000 0266 7130 CLL CML RAR /SET WRITE FLAG 0267 3254 WTPRS, DCA ARG1 /INTO FUNCTION WORD 0270 1264 TAD WTAPE /SET UP DATA FIELD CHANGE 0271 3203 DCA GTCDF1 /FOR GETTING PARAMETERS 0272 4215 JMS THEART /GO DO IT.... 0273 4202 JMS GETARG /PASS BACK ERROR STSTUS 0274 7200 CLA 0275 1262 TAD EROR 0276 3600 DCAI ARGAD 0277 4040 RETRN WTAPE 0300 0002 06 / ENTRY POINT FOR READ FUNCTION (RTAPE) 0301 0000 RTAPE, BLOCK 2 0302 0000 0303 1301 TAD RTAPE /MOVE CALLING SEQ TO WTAPE 0304 3264 DCA WTAPE 0305 1302 TAD RTAPE# 0306 3265 DCA WTAPE# /ONLY DIFFERENCE IS THAT THE 0307 5267 JMP WTPRS /FUNCTION FLAG IS FOR READ. 0374 0070 0375 3700 0376 0005 0377 0001 END