Previous File   Multiple Pages   Next File

* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 1

0001 * O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 0002 * 0003 * 0004 * 0005 * COMPUTER: H316, DDP-516 0006 * 0007 * 0008 * PROGRAM CATEGORY: INPUT/OUTPUT 0009 * 0010 * 0011 * PROGRAM TITLE: ASR33IOL 0012 * ASR 33 FORTRAN AND STANDARD INPUT/OUTPUT LIBRARY USING 0013 * IOBUS 0014 * 0015 * 0016 * 0017 * 0018 * 0019 * 0020 * 0021 * 0022 * 0023 * 0024 * APPROVAL DATE 0025 * 0026 * 0027 * 0028 * PROG---------------------- ------------ 0029 * 0030 * 0031 * SUPR---------------------- ------------ 0032 * 0033 * 0034 * QUAL---------------------- ------------ 0035 * 0036 * 0037 * NO. OF PAGES 0038 * 0039 * 0040 * AUTHOR 0041 * 0042 * HONEYWELL - COMPUTER CONTROL DIVISION (EUROPE) 0043 * 0044 * 0045 * PURPOSE 0046 * 0047 * TO PROVIDE AN ASR 33 FORTRAN AND STANDARD INPUT/OUTPUT LIBRARY 0048 * USING IOBUS 0049 * 0050 *
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 2

0051 * RESTRICTIONS 0052 * 0053 * THIS LIBRARY WILL WORK ON AN H316 OR DDP-516 COMPUTER WITH AN 0054 * ASR 33 0055 * 0056 * 0057 * STORAGE 0058 * 0059 * SEE CONTENTS 0060 * 0061 * 0062 * CONTENTS 0063 * 0064 * MODULE STORAGE PAGE 0065 * NAME DEFINITION OCT DEC NO. 0066 * 0067 * F$R1 FORTRAN READ FROM ASR 30 24 0068 * 0069 * F$W1 FORTRAN OUTPUT ON ASR 0070 * F$AL FORTRAN ASR LINES/PAGE 74 60 0071 * 0072 * P$B1 FORTRAN REWIND ASR 0073 * F$F1 FORTRAN BACKSPACE ASR 6 6 0074 * 0075 * O$HA ASR LIST HEADING 4 4 0076 * 0077 * O$GHAP GENERAL HEADING ASR/HSP 0078 * O$ALHB ASR LIST HEADING BUFFER 0079 * O$PLHB HSP LIST HEADING BUFFER 0080 * O$ALPB ASR LIST PAGE NUMBER BUFFER 0081 * O$PLPB HSP LIST PAGE NUMBER BUFFER 0082 * O$ALPN ASR LIST PAGE NUMBER 0083 * O$PLPN HSP LIST PAGE NUMBER 0084 * O$ALLC ASR LIST LINE COUNT/PAGE 0085 * O$PLLC HSP LIST LINE COUNT/PAGE 0086 * O$ALLN ASR LIST LINE NUMBER 0087 * O$PLLN HSP LIST LINE NUMBER 70 56 0088 * 0089 * O$AE ASR LIST EJECT PAGE 44 36 0090 * 0091 * O$LL ASR LIST 26 22 0092 * 0093 * O$AE ASR LIST EJECT PAGE 2 2 0094 * (THIS IS A DEFAULT MODULE) 0095 * 0096 * O$ALHB ASR LIST HEADING BUFFER 0097 * O$ADHB ASR DEFAULT HEADING BUFFER 0098 * O$ALPB ASR LIST PAGE NUMBER BUFFER 44 36 0099 * (THIS IS A DEFAULT MODULE) 0100 *
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 3

0101 * O$ALLC ASR LIST LINE COUNT/PAGE 0102 * O$ADLC ASR DEFAULT LINE COUNT/PAGE 0103 * O$ALLN ASR LIST LINE NUMBER 0104 * O$ADLN ASR DEFAULT LINE NUMBER 2 2 0105 * (THIS IS A DEFAULT MODULE) 0106 * 0107 * O$ALPN ASR LIST PAGE NUMBER 0108 * O$ADPN ASR DEFAULT PAGE NUMBER 2 2 0109 * (THIS IS A DEFAULT MODULE) 0110 * 0111 * O$AP ASR PRINT ROUTINE 10 8 0112 * 0113 * O$ALL ASR LIST LINE 24 20 0114 * 0115 * O$AC ASR OUTPUT CARRIAGE RETURN 6 6 0116 * 0117 * O$AF ASR OUTPUT LINE FEED 6 6 0118 * 0119 * I$AA ASR INPUT SOURCE RECORD 0120 * I$AAE ASR INPUT SOURCE RECORD 50 40 0121 * 0122 * O$AA ASR OUTPUT SOURCE RECORD 0123 * O$AAE ASR OUTPUT SOURCE RECORD 32 26 0124 * 0125 * O$AS ASR OUTPUT END OF TEXT 0126 * O$ASS ASR OUTPUT SOURCE END OF TEXT 0127 * O$ASE ASR OUTPUT SOURCE END OF TEXT 16 14 0128 * 0129 * I$AB ASR INPUT OBJECT LINK 14 12 0130 * 0131 * O$AB ASR OUTPUT OBJECT LINK 12 10 0132 * 0133 * O$ASO ASR OUTPUT OBJECT END OF TEXT 0134 * F$D1 FORTRAN WRITE FILE MARK ASR 14 12 0135 * 0136 * I$AO ASR INPUT OBJECT 102 66 0137 * 0138 * O$AO ASR OUTPUT OBJECT 36 30 0139 * 0140 * O$ALDR ASR PUNCH LEADER 16 14 0141 * 0142 * I$AINT ASR INITIALISE FOR INPUT 0143 * I$AK ASR INPUT CHARACTER 14 12 0144 * 0145 * I$AT ASR TIMING DELAY (ASR 33) 12 10 0146 * 0147 * O$AINT ASR INITIALISE FOR OUTPUT (ASR 33) 2 2 0148 * 0149 * O$AK ASR OUTPUT CHARACTER 10 8 0150 *
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 4

0151 * 0152 * USE 0153 * 0154 * INTERNAL MODULES 0155 * 0156 * NAME CALLING SEQUENCE CALLS ERRORS 0157 * 0158 * F$R1 CALL F$R1 F$IO EF END OF FILE 0159 * DAC FORMAT DESCRIPTOR LIST I$AO ERROR 0160 * RETURN I$AA 0161 * F$ER 0162 * 0163 * F$W1 CALL F$W1 F$IO NONE 0164 * DAC FORMAT DESCRIPTOR LIST C$SW 0165 * RETURN O$AO 0166 * O$AK 0167 * O$ALL 0168 * (LINKED WITH F$AL) 0169 * 0170 * F$AL XAC F$AL NONE 0171 * (LINKED WITH F$W1) 0172 * 0173 * F$B1 CALL F$B1 F$ER ID ILLEGAL DEVICE 0174 * RETURN 0175 * (IDENTICAL WITH F$F1) 0176 * 0177 * F$F1 0178 * (SEE F$B1) 0179 * 0180 * O$HH CALL O$HH O$GHAP NONE 0181 * DAC HEADING BUFFER O$AE 0182 * RETURN 0183 * 0184 * O$GHAP LDX RETURN PARAMETER NONE 0185 * CALL O$GHAP 0186 * (RETURN PARAMETER POINTS TO 0187 * BUFFER POINTER AND RETURN 0188 * IS MADE TO NEXT LOCATION) 0189 * (LINKED WITH O$ALHB, O$PLHB, O$ALPB, O$PLPB, O$ALPN, O$PLPN, 0190 * O$ALLC, O$PLLC, O$ALLN, O$PLLN) 0191 * 0192 * O$ALHB XAC O$ALHB NONE 0193 * (SIMILARLY FOR O$PLHB) 0194 * (LINKED WITH O$GHAP, O$ALPB, O$PLPB, O$ALPN, O$PLPN, O$ALLC, 0195 * O$PLLC, O$ALLN, O$PLLN) 0196 * 0197 * O$ALPB XAC O$ALPB NONE 0198 * (SIMILARLY FOR O$PLPB) 0199 * (LINKED WITH O$GHAP, O$ALHB, O$PLHB, O$ALPN, O$PLPN, DSALLC, 0200 * O$PLLC, O$ALLN, O$PLLN)
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 5

0201 * 0202 * O$ALPN XAC O$ALPN NONE 0203 * (SIMILARLY FOR O$PLPN) 0204 * (LINKED WITH O$GHAP, O$ALHB, O$PLHB, O$ALPB, O$PLPB, O$ALLC, 0205 * O$PLLC, O$ALLN, O$PLLN) 0206 * 0207 * O$ALLC XAC O$ALLC NONE 0208 * (SIMILARLY FOR O$PLLC) 0209 * (LINKED WITH O$GHAP, O$ALHB, O$PLHB, O$ALPB, O$PLPB, O$ALPN, 0210 * O$PLPN, O$ALLN, O$PLLN) 0211 * 0212 * O$ALLN XAC O$ALLN NONE 0213 * (SIMILARLY FOR O$PLLN) 0214 * (LINKED WITH O$GHAP, O$ALHB, O$PLHB, O$ALPB, O$PLPB, DSALPN, 0215 * O$PLPN, O$ALLC, O$PLLC) 0216 * 0217 * O$AE CALL O$AE O$AK NONE 0218 * RETURN C$BB 0219 * O$ALPB 0220 * O$ALL 0221 * O$ALHB 0222 * O$ALPN 0223 * O$ALLC 0224 * O$ALLN 0225 * 0226 * O$LL CALL O$LL O$AE NONE 0227 * DAC BUFFER ADDRESS O$AK 0228 * RETURN O$ALL 0229 * O$ALLC 0230 * O$ALLN 0231 * 0232 * O$AE CALL O$AE NONE 0233 * RETURN 0234 * (THIS IS A DEFAULT MODULE) 0235 * 0236 * O$ALHB XAC O$ALHB NONE 0237 * (THIS IS A DEFAULT MODULE) 0238 * (LINKED WITH O$ALPB DEFAULT MODULE) 0239 * (IDENTICAL WITH O$ADHB) 0240 * 0241 * O$ADHB 0242 * (SEE O$ALHB) 0243 * 0244 * O$ALPB XAC O$ALPB NONE 0245 * (THIS IS A DEFAULT MODULE) 0246 * (LINKED WITH O$ALHB DEFAULT MODULE) 0247 * 0248 * O$ALLC XAC O$ALLC NONE 0249 * (THIS IS A DEFAULT MODULE) 0250 * (LINKED WITH O$ALLN DEFAULT MODULE)
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 6

0251 * (IDENTICAL WITH O$ADLC) 0252 * 0253 * O$ADLC 0254 * (SEE O$ALLC) 0255 * 0256 * O$ALLN XAC O$ALLN NONE 0257 * (THIS IS A DEFAULT MODULE) 0258 * (LINKED WITH O$ALLC DEFAULT MODULE) 0259 * (IDENTICAL WITH O$ADLN) 0260 * 0261 * O$ADLN 0262 * (SEE O$ALLN) 0263 * 0264 * O$ALPN XAC O$ALPN NONE 0265 * (THIS IS A DEFAULT MODULE) 0266 * (IDENTICAL WITH O$ADRN) 0267 * 0268 * O$ADPN 0269 * (SEE O$ALPN) 0270 * 0271 * O$AP CALL O$AP O$ALL NONE 0272 * DAC BUFFER ADDRESS 0273 * RETURN 0274 * 0275 * O$ALL LDX MINUS NO. BUFFER WORDS C$SW NONE 0276 * CALL O$ALL O$AK 0277 * DAC BUFFER ADDRESS 0278 * RETURN 0279 * 0280 * O$AC CALL O$AC O$AK NONE 0281 * RETURN 0282 * 0283 * O$AF CALL O$AF O$AK NONE 0284 * RETURN 0285 * 0286 * I$AA CALL I$AA C$II PE PARITY ERROR 0287 * DAC BUFFER ADDRESS I$AINT 0288 * END OF TEXT RETURN I$AK 0289 * NORMAL RETURN C$IP 0290 * C$ER 0291 * C$TF 0292 * C$IF 0293 * C$IT 0294 * I$AT 0295 * (IDENTICAL WITH I$AAE) 0296 * 0297 * I$AAE 0298 * (SEE I$AA) 0299 * 0300 * O$AA CALL O$AA O$AINT NONE
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 7

0301 * DAC BUFFER ADDRESS C$OI 0302 * RETURN C$OP 0303 * O$AK 0304 * C$OE 0305 * (IDENTICAL WITH O$AAE) 0306 * 0307 * O$AAE 0308 * (SEE O$AA) 0309 * 0310 * O$AS CALL O$AS O$AINT NONE 0311 * RETURN C$OP 0312 * (IDENTICAL WITH O$ASS AND O$ASE) O$AK 0313 * 0314 * O$ASS 0315 * (SEE O$AS) 0316 * 0317 * O$ASE 0318 * (SEE O$AS) 0319 * 0320 * I$AB CALL I$AB I$AO CK CHECKSUM ERROR 0321 * DAC BUFFER ADDRESS C$ER 0322 * END OF TEXT RETURN 0323 * NORMAL RETURN 0324 * 0325 * O$AB CALL O$AB O$AO NONE 0326 * DAC BUFFER ADDRESS 0327 * RETURN 0328 * (THE FIRST WORD OF THE BUFFER 0329 * CONTAINS THE NUMBER OF DATA 0330 * WORDS FOLLOWING) 0331 * 0332 * O$ASO CALL O$ASO D$AINT NONE 0333 * RETURN O$AK 0334 * (IDENTICAL WITH F$D1) 0335 * 0336 * F$D1 0337 * (SEE O$ASO) 0338 * 0339 * I$AO LDA BUFFER ADDRESS I$AINT BL BLOCK LENGTH 0340 * CALL I$AO I$AK ERROR 0341 * END OF TEXT RETURN C$ER 0342 * NORMAL RETURN I$AT 0343 * C$IS 0344 * A-REGISTER ON RETURN:- 0345 * ZERO = CHECKSUM AGREED 0346 * NON-ZERO = CHECKSUM VIOLATION 0347 * 0348 * O$AO LDX MINUS NO. DATA WORDS O$AINT NONE 0349 * LDA BUFFER ADDRESS O$AK 0350 * CALL O$AO C$SI
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 8

0351 * RETURN 0352 * 0353 * O$ALDR CALL O$ALDR O$AINT NONE 0354 * RETURN O$AK 0355 * 0356 * I$AINT CALL I$AINT O$AK NONE 0357 * RETURN 0358 * (LINKED WITH I$AK) 0359 * 0360 * I$AK CALL I$AK NONE 0361 * RETURN 0362 * 0363 * A-REGISTER ON RETURN 0364 * EQUALS CHARACTER INPUT 0365 * (LINKED WITH I$AINT) 0366 * 0367 * I$AT CALL I$AT NONE 0368 * RETURN 0369 * 0370 * O$AINT CALL O$AINT NONE 0371 * RETURN 0372 * 0373 * O$AK LDA CHARACTER NONE 0374 * CALL O$AK 0375 * RETURN 0376 * 0377 * 0378 * EXTERNAL MODULES 0379 * 0380 * NAME DEFINITION 0381 * 0382 * C$BB CONVERT BINARY TO BCI 0383 * 0384 * C$ER CONTROL ERROR ROUTINE 0385 * 0386 * C$IF CHARACTER INPUT FILL 0387 * 0388 * C$II CHARACTER INPUT INITIALISE 0389 * 0390 * C$IP INPUT PARITY 0391 * 0392 * C$IS CONVERT FROM INVISIBLE TO 6 BIT CODE 0393 * 0394 * C$IT CHARACTER INPUT TAB 0395 * 0396 * C$OE CHARACTER OUTPUT EXTRACT 0397 * 0398 * C$OI CHARACTER OUTPUT INITIALISE 0399 * 0400 * C$OP OUTPUT PARITY
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 9

0401 * 0402 * C$SI CONVERT FROM 6 BIT TO INVISIBLE CODE 0403 * 0404 * C$SW STRIP TRAILING WORDS 0405 * 0406 * C$TF TEST FRAME 0407 * 0408 * F$ER FORTRAN ERROR ROUTINE 0409 * 0410 * F$IO FORTRAN SCANNER AND CONVERSIONS 0411 * 0412 * 0413 * ERRORS 0414 * 0415 * BL BLOCK LENGTH ERROR 0416 * CK CHECKSUM ERROR 0417 * 0418 * THESE ERRORS ARE REPORTED THROUGH C$ER (CONTROL ERROR 0419 * ROUTINE). 0420 * 0421 * EF END OF FILE ERROR 0422 * ID ILLEGAL DEVICE 0423 * 0424 * THIS ERROR IS REPORTED THROUGH F$ER (FORTRAN ERROR ROUTINE). 0425 * 0426 * PE PARITY ERROR 0427 * 0428 * THIS ERROR IS REPORTED THROUGH C$ER (CONTROL ERROR ROUTINE). 0429 * 0430 * CONTINUATION AFTER ANY OF THE ABOVE ERRORS EXCEPT ID PROCESSES THE 0431 * NEXT RECORD. CONTINUATION AFTER AN ID ERROR RETURNS CONTROL TO 0432 * THE CALLING PROGRAM. 0433 * 0434 * 0435 * METHOD 0436 * 0437 * THE MODULES ARE ORDERED SO THAT HIGHER LEVEL MODULES PRECEDE LOWER 0438 * LEVEL MODULES. 0439 * 0440 * NO REGISTER PRESERVATION IS ATTEMPTED. IT IS ASSUMED THAT THE 0441 * MODULES C$IS, C$OP, C$SI, I$AK, AND O$AK WILL NOT USE THE 0442 * X-REGISTER. 0443 * 0444 * THE FOLLOWING RECORD FORMAT IS ASSUMED: 0445 * 0446 * SOURCE: 0447 * 0448 * LINEFEED, TEXT, CARRIAGE RETURN, DC3, DEL 0449 * 0450 * (DC3 AND DEL ARE ONLY ESSENTIAL FOR PAPERTAPE)
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 10

0451 * BLANK TAPE ('00O OR '200) AND DEL ARE IGNORED. TAB 0452 * CHARACTERS ('134 OR '334) PROCESS SPACE CHARACTERS ('240) TO 0453 * A PREDETERMINED POSITION. CONTROL H ('210) CHARACTER 0454 * DELETES THE PREVIOUS CHARACTER AND LEFT-ARROW ('137 OR '337) 0455 * DELETES THE CURRENT RECORD ENTIRELY AND PROCESSES THE NEXT 0456 * RECORD. 0457 * A CARRIAGE RETURN TERMINATES THE RECORD. ONLY TEXT 0458 * CHARACTERS ARE RELATED TO THE CONTENTS OF THE BUFFER. OTHER 0459 * CHARACTERS ARE FOR CONTROL ONLY. THE BUFFER LENGTH WITH 0460 * TAB POSITIONS IS PRE-SET (SEE C$CC, C$TC AND C$TT) BUT CAN BE 0461 * INITIALISED USING THE INITIALISATION MODULE (SEE C$IN). 0462 * CHARACTERS IN EXCESS OF THE BUFFER LENGTH ARE DISCARDED AND 0463 * EXCESS TAB CHARACTERS ARE CHANGED TO SPACES. THE BUFFER IS 0464 * POST FILLED WITH SPACES FOR INPUT. 0465 * 0466 * OBJECT:* 0467 * 0468 * SOH('201), DATA WORDS (UP TO 60), DC3, DEL 0469 * 0470 * THE DATA WORDS ARE IN INVISIBLE FORMAT. 0471 * A CHECKSUM VALUE WHICH IS THE EXCLUSIVE OR OF ALL THE DATA 0472 * WORDS IS CALCULATED DURING OBJECT READ BUT ONLY ACTIONED 0473 * BY I$AB. 0474 * 0475 * END OF TEXT RECORD: 0476 * 0477 * END OF TEXT ('003 OR '203), DC3, DEL 0478 * 0479 * NOTE THAT AN END OF TEXT CHARACTER IN ANY CHARACTER POSITION 0480 * WILL CAUSE THE END OF TEXT RETURN TO BE TAKEN. 0481 * 0482 * 0483 * ASR LISTING FORMAT IS SET AT 72 LINES PER PAGE OF WHICH 60 ARE 0484 * AVAILABLE FOR LISTING INCLUDING HEADING EXCEPT UNDER FORTRAN 0485 * CONTROL WHEN PAGENATION IS ACTIONED BY THE CALLING PROGRAM. 0486 * 0487 * PARITY IS DETERMINED BY THE INPUT AND OUTPUT PARITY ROUTINES USED. 0488 * 0489 * 0490 * 0491 EJCT
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 11

0492 * 0493 * 0494 SUBR F$R1 FORTRAN READ FROM ASR 0495 * 0496 * 0497 CF5 H316 AND DDP-516 0498 REL RELOCATABLE 0499 * 0500 * 0501 00000 -0 000000 F$R1 DAC* ** RETURN PARAMETER 0502 00001 0 10 00000 CALL F$IO FORTRAN SCANNER AND CONVERSIONS 0503 00002 0 000000 RETN DAC ** RETURN 0504 00003 -0 02 00002 RSTR LDA* RETN RETURN 0505 00004 0 04 00021 STA BUFF BUFFER 0506 00005 0 02 00000 LDA F$R1 RETURN PARAMETER 0507 00006 140100 SSP ADDRESS OF FORMAT 0508 00007 0 04 00000 STA 0 INDEX 0509 00010 -0 02 00000 LDA* 0 FORMAT 0510 00011 100040 SZE TEST FOR FORMAT 0511 00012 0 01 00020 JMP FRED FORMATTED READ 0512 * 0513 * UNFORMATTED READ 0514 00013 0 02 00021 LDA BUFF BUFFER 0515 00014 0 10 00000 CALL I$AO ASR INPUT OBJECT 0516 00015 0 01 00024 JMP EROR ERROR 0517 00016 0 12 00002 EXIT IRS RETN RETURN 0518 00017 -0 01 00002 JMP* RETN RETURN 0519 * 0520 * FORMATTED READ 0521 00020 0 10 00000 FRED CALL I$AA ASR INPUT SOURCE RECORD 0522 00021 000000 BUFF BSZ 1 BUFFER 0523 00022 0 01 00024 JMP EROR ERROR 0524 00023 0 01 00016 JMP EXIT EXIT 0525 * 0526 * ERROR 0527 00024 0 10 00000 EROR CALL F$ER FORTRAN ERROR ROUTINE 0528 00025 0 000027 DAC EFMG END OF FILE MESSAGE 0529 00026 0 01 00003 JMP RSTR RESTART 0530 * 0531 * 0532 * ERROR MNEMONIC 0533 * 0534 00027 142706 EFMG BCI 1,EF END OF FILE MESSAGE 0535 * 0536 * 0537 END END OF F$R1 16.MAR.70 P.J.VYSE BUFF 000021 EFMG 000027 EROR 000024 EXIT 000016 F$R1 000000 FRED 000020 RETN 000002 RSTR 000003
* O070-001-H001 (ASR33IOL) DRAWING NO. 41286032-001-01 PAGE 12

0000 WARNING OR ERROR FLAGS DAP-16 MOD 2 REV. C 01-26-71
Previous File   Multiple Pages   Next File