1 /LIBSET - LIBRARY BUILDER PROGRAM 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 /COPYRIGHT (C) 1974,1977 BY DIGITAL EQUIPMENT CORPORATION 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 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. 26 / 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. 31 / 32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE 33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY 34 /DIGITAL. 35 / 36 / 37 / 38 / 39 / 40 / 41 / 42 / 43 / 44 / 45 FIELD 1 46 HILOC=20 47 INFPTR=21 48 IFPTR=22 49 TEMP=23 50 NAMPTR=24 51 /VERSION=3 52 /PATCH="A 53 54 *2600 55 012600 7410 START, SKP 56 012601 5205 JMP .+4 57 012602 4777 CALLCD, JMS I (200 58 012603 0005 5 59 012604 2214 RL, 2214 60 012605 0000 0 /DON'T RESET OUTPUT FILES 61 012606 2331 ISZ FIRST 62 012607 5253 JMP NOTFST 63 012610 1776 TAD I (7604 64 012611 7450 SNA 65 012612 1204 TAD RL 66 012613 3776 DCA I (7604 67 012614 1775 TAD I (7600 68 012615 7640 SZA CLA /IS THERE AN OUTPUT FILE? 69 012616 5244 JMP OUTYES /YES 70 012617 7201 CLA IAC 71 012620 3775 DCA I (7600 /NO - MAKE SYS:LIB8.RL THE OUTPUT FILE 72 012621 1374 TAD (1411 73 012622 3773 DCA I (7601 74 012623 1372 TAD (0270 75 012624 3771 DCA I (7602 76 012625 1770 TAD I (7617 77 012626 7650 SNA CLA /HOW ABOUT INPUT FILES? 78 012627 1767 TAD I (MPARAM+1 79 012630 0366 AND (40 /IF NO INPUT FILES, 80 012631 7650 SNA CLA /AND /S OPTION IS ON, 81 012632 5244 JMP OUTYES 82 012633 3237 DCA PTRCOD /USE PTR: FOR INPUT 83 012634 4777 JMS I (200 84 012635 0012 12 85 012636 4224 4224 86 012637 0000 PTRCOD, 0 87 012640 0000 0 88 012641 5742 JMP I PERROR /NO PTR - BAD 89 012642 1237 TAD PTRCOD 90 012643 3770 DCA I (7617 91 012644 4765 OUTYES, JMS I (XOPEN 92 012645 4764 JMS I (OCHAR 93 012646 4763 JMS I (DMPREC /PUT OUT NOTHIN IN FIRST RECORD 94 012647 1362 TAD (7000 95 012650 3024 DCA NAMPTR 96 012651 1361 TAD (7376 97 012652 3021 DCA INFPTR 98 012653 1370 NOTFST, TAD (7617 99 012654 3022 DCA IFPTR 100 012655 1422 FILELP, TAD I IFPTR 101 012656 7650 SNA CLA 102 012657 5312 JMP NEXTCD 103 012660 1022 TAD IFPTR 104 012661 4760 JMS I (IOPEN 105 012662 7240 READLP, CLA CMA 106 012663 1757 TAD I (OUCCNT 107 012664 3332 DCA FLEN 108 012665 3020 DCA HILOC 109 012666 4756 JMS I (IREAD /READ AND COPY A RELOCATABLE PROGRAM 110 012667 7640 SZA CLA /TEST CHECKSUM 111 012670 5742 JMP I PERROR 112 012671 1020 TAD HILOC 113 012672 0375 AND (7600 114 012673 1332 TAD FLEN 115 012674 3421 DCA I INFPTR 116 012675 4763 JMS I (DMPREC 117 012676 2021 ISZ INFPTR 118 012677 3421 DCA I INFPTR 119 012700 7346 CLA CLL CMA RTL 120 012701 1021 TAD INFPTR 121 012702 3021 DCA INFPTR 122 012703 1767 TAD I (MPARAM+1 123 012704 0366 AND (40 124 012705 7640 SZA CLA 125 012706 5262 JMP READLP /IF /S SWITCH ON , CONTINUE READING TAPES UNTIL A ^Z 126 012707 2022 NXFIL, ISZ IFPTR 127 012710 2022 ISZ IFPTR 128 012711 5255 JMP FILELP 129 012712 1755 NEXTCD, TAD I (MPARAM-1 130 012713 7700 SMA CLA 131 012714 5202 JMP CALLCD 132 012715 3424 DCA I NAMPTR 133 012716 2024 ISZ NAMPTR 134 012717 2024 ISZ NAMPTR 135 012720 2024 ISZ NAMPTR 136 012721 3424 DCA I NAMPTR 137 012722 1024 TAD NAMPTR 138 012723 7041 CMA IAC 139 012724 1021 TAD INFPTR 140 012725 7700 SMA CLA 141 012726 5754 JMP I (FINISH 142 012727 5730 JMP I .+1 143 012730 3250 TOOBIG 144 145 012731 7777 FIRST, -1 146 012732 0000 FLEN, 0 147 148 012733 3053 JTABL, DATAWD 149 012734 3053 DATAWD 150 012735 3251 ERROR 151 012736 3066 SYMDEF 152 012737 3120 ORIGIN 153 012740 3053 DATAWD 154 012741 3053 DATAWD 155 012742 3251 PERROR, ERROR 156 012743 3145 ENDTAP 157 012744 3251 ERROR 158 012745 3127 COMMON 159 012746 3251 ERROR 160 012747 3251 ERROR 161 012750 3251 ERROR 162 012751 3251 ERROR 163 012752 3132 TRANVC 164 165 012753 6301 VERSON, 6301 /VERSION AND PATCH LEVEL 166 012754 3231 *3000 012755 7642 012756 3000 012757 2331 012760 2001 012761 7376 012762 7000 012763 3221 012764 2411 012765 3200 012766 0040 012767 7644 012770 7617 012771 7602 012772 0270 012773 7601 012774 1411 012775 7600 012776 7604 012777 0200 167 013000 0000 IREAD, 0 168 013001 1377 TAD (200 169 013002 3360 DCA LOC 170 013003 4776 ILEADR, JMS I (ICHAR 171 013004 3364 DCA CKSM 172 013005 1364 TAD CKSM 173 013006 0375 AND (177 174 013007 7650 SNA CLA 175 013010 5203 JMP ILEADR 176 013011 1364 TAD CKSM 177 013012 1374 TAD (-232 178 013013 7650 SNA CLA 179 013014 5773 JMP I (NXFIL 180 013015 1377 TAD (200 181 013016 4772 JMS I (OCHAR 182 013017 1364 TAD CKSM 183 013020 4772 JMS I (OCHAR 184 013021 1364 TAD CKSM 185 013022 7410 SKP 186 013023 4241 NXTFRM, JMS RCHAR 187 013024 7112 CLL RTR 188 013025 7012 RTR 189 013026 7010 RAR 190 013027 3361 DCA CHAR1 191 013030 1361 TAD CHAR1 192 013031 7004 RAL 193 013032 0371 AND (17 194 013033 1240 TAD JMPTAB 195 013034 3363 DCA BTMP 196 013035 1763 TAD I BTMP 197 013036 3363 DCA BTMP 198 013037 5763 JMP I BTMP 199 013040 2733 JMPTAB, JTABL 200 201 013041 0000 RCHAR, 0 202 013042 4776 JMS I (ICHAR 203 013043 3362 DCA CHAR 204 013044 1364 TAD CKSM 205 013045 1362 TAD CHAR 206 013046 3364 DCA CKSM 207 013047 1362 TAD CHAR 208 013050 4772 JMS I (OCHAR 209 013051 1362 TAD CHAR 210 013052 5641 JMP I RCHAR 211 212 013053 4241 DATAWD, JMS RCHAR 213 013054 7300 CLA CLL 214 013055 1360 TAD LOC 215 013056 7040 CMA 216 013057 1020 TAD HILOC 217 013060 7630 SZL CLA 218 013061 5264 JMP .+3 219 013062 1360 TAD LOC 220 013063 3020 DCA HILOC 221 013064 2360 ISZ LOC 222 013065 5223 JMP NXTFRM 223 224 013066 4241 SYMDEF, JMS RCHAR 225 013067 7346 CLA CLL CMA RTL 226 013070 3361 DCA CHAR1 227 013071 4241 GTNMLP, JMS RCHAR 228 013072 0370 AND (77 229 013073 7106 CLL RTL 230 013074 7006 RTL 231 013075 7006 RTL 232 013076 3363 DCA BTMP 233 013077 4241 JMS RCHAR 234 013100 0370 AND (77 235 013101 1363 TAD BTMP 236 013102 3424 DCA I NAMPTR 237 013103 2024 ISZ NAMPTR 238 013104 2361 ISZ CHAR1 239 013105 5271 JMP GTNMLP 240 013106 1021 TAD INFPTR 241 013107 0367 AND (377 242 013110 3424 DCA I NAMPTR 243 013111 2024 ISZ NAMPTR 244 013112 1024 TAD NAMPTR 245 013113 7041 CIA 246 013114 1021 TAD INFPTR 247 013115 7750 SPA SNA CLA 248 013116 5766 JMP I (TOOBIG 249 013117 5223 JMP NXTFRM 250 251 013120 4241 ORIGIN, JMS RCHAR 252 013121 7200 CLA 253 013122 1361 TAD CHAR1 254 013123 0365 AND (7400 255 013124 1362 TAD CHAR 256 013125 3360 DCA LOC 257 013126 5223 JMP NXTFRM 258 259 013127 4241 COMMON, JMS RCHAR 260 013130 7200 CLA 261 013131 5223 JMP NXTFRM 262 263 013132 4241 TRANVC, JMS RCHAR 264 013133 7104 CLL RAL 265 013134 1362 TAD CHAR 266 013135 7104 CLL RAL 267 013136 7041 CIA 268 013137 3363 DCA BTMP 269 013140 4241 JMS RCHAR 270 013141 7200 CLA 271 013142 2363 ISZ BTMP 272 013143 5340 JMP .-3 273 013144 5223 JMP NXTFRM 274 275 013145 1364 ENDTAP, TAD CKSM 276 013146 7041 CIA 277 013147 1362 TAD CHAR 278 013150 3363 DCA BTMP 279 013151 4241 JMS RCHAR 280 013152 7200 CLA 281 013153 1361 TAD CHAR1 282 013154 0365 AND (7400 283 013155 1362 TAD CHAR 284 013156 1363 TAD BTMP 285 013157 5600 JMP I IREAD 286 287 013160 0000 LOC, 0 288 013161 0000 CHAR1, 0 289 013162 0000 CHAR, 0 290 013163 0000 BTMP, 0 291 013164 0000 CKSM, 0 292 293 013165 7400 *3200 013166 3250 013167 0377 013170 0077 013171 0017 013172 2411 013173 2707 013174 7546 013175 0177 013176 2013 013177 0200 294 013200 0000 XOPEN, 0 295 013201 1377 TAD (7577 296 013202 3010 DCA 10 297 013203 1376 TAD (FILENM-1 298 013204 3011 DCA 11 299 013205 1375 TAD (-5 300 013206 3012 DCA 12 301 013207 1410 TAD I 10 302 013210 3411 DCA I 11 303 013211 2012 ISZ 12 304 013212 5207 JMP .-3 305 013213 4774 JMS I (OOPEN 306 013214 1773 TAD I (OUBLK 307 013215 3236 DCA CTLWRI 308 013216 1772 TAD I (OUHNDL 309 013217 3247 DCA ODVH 310 013220 5600 JMP I XOPEN 311 312 013221 0000 DMPREC, 0 313 013222 4771 JMS I (OCHAR 314 013223 4771 JMS I (OCHAR 315 013224 1770 TAD I (OUDWCT 316 013225 1367 TAD (200 317 013226 7640 SZA CLA 318 013227 5223 JMP .-4 319 013230 5621 JMP I DMPREC 320 321 013231 4766 FINISH, JMS I (OCLOSE 322 013232 6202 CIF 0 323 013233 4647 JMS I ODVH 324 013234 4210 4210 325 013235 7000 7000 326 013236 0000 CTLWRI, 0 327 013237 5252 JMP OUTERR 328 013240 6203 CDF CIF 0 329 013241 5765 JMP I (7605 330 013242 0000 FILENM, ZBLOCK 5 013243 0000 013244 0000 013245 0000 013246 0000 331 013247 0000 ODVH, 0 332 333 013250 2313 TOOBIG, ISZ ERRNO 334 013251 2313 ERROR, ISZ ERRNO 335 013252 2313 OUTERR, ISZ ERRNO 336 013253 2313 INERR, ISZ ERRNO 337 013254 1313 ERR, TAD ERRNO 338 013255 1364 TAD (ERR0 339 013256 3276 DCA EPCH 340 013257 3313 DCA ERRNO 341 013260 1676 TAD I EPCH 342 013261 3247 DCA ODVH 343 013262 1647 ERRLP, TAD I ODVH 344 013263 7012 RTR 345 013264 7012 RTR 346 013265 7012 RTR 347 013266 4276 JMS EPCH 348 013267 1647 TAD I ODVH 349 013270 4276 JMS EPCH 350 013271 2247 ISZ ODVH 351 013272 5262 JMP ERRLP 352 013273 6203 ERXIT, CDF CIF 0 353 013274 5675 JMP I .+1 354 013275 7605 7605 355 356 013276 0000 EPCH, 0 357 013277 0363 AND (77 358 013300 7450 SNA 359 013301 5273 JMP ERXIT 360 013302 1362 TAD (-40 361 013303 7510 SPA 362 013304 1361 TAD (100 363 013305 1360 TAD (240 364 013306 6046 6046 365 013307 6041 6041 366 013310 5307 JMP .-1 367 013311 7200 CLA 368 013312 5676 JMP I EPCH 369 370 013313 0000 ERRNO, 0 371 013360 0240 *3400 013361 0100 013362 7740 013363 0077 013364 3400 013365 7605 013366 2300 013367 0200 013370 2465 013371 2411 013372 2242 013373 2211 013374 2200 013375 7773 013376 3241 013377 7577 372 /ERROR MESSAGES 373 013400 3405 ERR0, HELP 374 013401 3410 INPER 375 013402 3416 OUPER 376 013403 3436 RELER 377 013404 3460 BIGER 378 379 013405 1005 HELP, TEXT /HELP!/ /THIS ERROR CANNOT OCCUR 013406 1420 013407 4100 380 013410 1116 INPER, TEXT /INPUT ERROR/ 013411 2025 013412 2440 013413 0522 013414 2217 013415 2200 381 013416 0522 OUPER, TEXT /ERROR WHILE WRITING OUTPUT FILE/ 013417 2217 013420 2240 013421 2710 013422 1114 013423 0540 013424 2722 013425 1124 013426 1116 013427 0740 013430 1725 013431 2420 013432 2524 013433 4006 013434 1114 013435 0500 382 013436 0201 RELER, TEXT /BAD FORMAT OR CHECKSUM - TRY AGAIN./ 013437 0440 013440 0617 013441 2215 013442 0124 013443 4017 013444 2240 013445 0310 013446 0503 013447 1323 013450 2515 013451 4055 013452 4024 013453 2231 013454 4001 013455 0701 013456 1116 013457 5600 383 013460 1411 BIGER, TEXT /LIBRARY DIRECTORY OVERFLOW - TOUGH/ 013461 0222 013462 0122 013463 3140 013464 0411 013465 2205 013466 0324 013467 1722 013470 3140 013471 1726 013472 0522 013473 0614 013474 1727 013475 4055 013476 4024 013477 1725 013500 0710 013501 0000 384 INBUF=0 385 INCTL=2400 386 OUBUF=6000 387 OUCTL=4200 388 INDEVH=6400 389 OUDEVH=7000 390 INRECS=12 391 MPARAM=7643 392 DCB=7760 393 INFLD=INCTL&70 /GET FIELD OF INPUT BUFFER 394 OUFLD=OUCTL&70 /DITTO OUTPUT BUFFER 395 *2000 396 012000 7400 IN7400, 7400 397 012001 0000 IOPEN, 0 398 012002 3325 DCA INXPTR 399 012003 7240 CLA CMA 400 012004 3327 DCA INCHCT /SET INCHCT TO FORCE A READ 401 012005 2326 ISZ INEOF /SET END-OF-FILE FLAG TO FORCE A NEW FILE 402 012006 6214 RDF 403 012007 1245 TAD INCDIF 404 012010 3211 DCA .+1 405 012011 7402 INPTR, HLT /RESTORE CALLING FIELDS 406 012012 5601 JMP I IOPEN 407 408 012013 0000 ICHAR, 0 409 012014 7600 IN7600, 7600 410 012015 6214 RDF 411 012016 1245 TAD INCDIF 412 012017 3323 DCA INRTRN /SAVE CALLING FIELDS 413 012020 6201 INCHAR, CDF INFLD 414 012021 2277 ISZ INJMP /BUMP THREE-WAY UNPACK SWITCH 415 012022 2327 ISZ INCHCT 416 012023 5277 INJMPP, JMP INJMP 417 012024 1326 TAD INEOF 418 012025 7650 SNA CLA /DID LAST READ YIELD END-OF-FILE? 419 012026 5231 JMP INGBUF /NO - DO ANOTHER 420 012027 4327 GETNEW, JMS INNEWF /OPEN A NEW INPUT FILE 421 012030 5777 JMP I (ERROR 422 012031 1201 INGBUF, TAD INCTR 423 012032 7100 CLL 424 012033 1376 TAD (INRECS 425 012034 7420 SNL 426 012035 3201 DCA INCTR /RESTORE INCTR IF IT HASN'T OVERFLOWED 427 012036 7430 SZL /IS THIS THE LAST READ? 428 012037 2326 ISZ INEOF /YES - SET END-OF-FILE FLAG 429 012040 7172 CLL CML CMA RTR /CONSTRUCT A CONTROL WORD FOR THE READ 430 012041 7012 RTR /FROM THE AMOUNT OF THE OVERFLOW 431 012042 7012 RTR /(IF ANY) AND THE STANDARD CONTROL WORD 432 012043 1375 TAD (INCTL+1 433 012044 3250 DCA INCTLW 434 012045 6203 INCDIF, CDF CIF 0 435 012046 6211 CDF 10 436 012047 4740 JMS I INHNDL /CALL THE DEVICE HANDLER 437 012050 0000 INCTLW, 0 438 012051 0000 INBUFP, INBUF 439 012052 0000 INREC, 0 440 012053 5273 JMP INERRX /SOME KIND OF HANDLER ERROR 441 012054 1252 INBREC, TAD INREC 442 012055 1376 TAD (INRECS 443 012056 3252 DCA INREC /UPDATE THE RECORD NUMBER 444 012057 1250 TAD INCTLW 445 012060 0214 AND IN7600 446 012061 7104 CLL RAL 447 012062 1250 TAD INCTLW 448 012063 0214 AND IN7600 449 012064 7040 CMA 450 012065 3327 DCA INCHCT /COMPUTE THE NEW CHARACTER COUNT 451 012066 1223 TAD INJMPP 452 012067 3277 DCA INJMP /RESET THE CHARACTER SWITCH 453 012070 1251 TAD INBUFP 454 012071 3211 DCA INPTR /AND THE WORD POINTER 455 012072 5220 JMP INCHAR /GO BACK AND MAKE BELIEVE THIS NEVER HAPPENED 456 012073 2326 INERRX, ISZ INEOF /EITHER AN END-OF-FILE OR A BADDIE 457 012074 7700 SMA CLA /WHICH TYPE WAS IT? 458 012075 5254 JMP INBREC /END OF FILE - RESUME THY PROCESSING 459 012076 5774 JMP I (INERR 460 012077 7402 INJMP, HLT /THIS IS THE THREE - WAY CHARACTER SWITCH 461 012100 5321 JMP ICHAR1 462 012101 5315 JMP ICHAR2 463 012102 1223 ICHAR3, TAD INJMPP 464 012103 3277 DCA INJMP 465 012104 1611 TAD I INPTR 466 012105 0200 IN200, AND IN7400 467 012106 7112 CLL RTR 468 012107 7012 RTR /COMBINE THE HIGH-ORDER FOUR BITS OF 469 012110 1250 TAD INCTLW 470 012111 7012 RTR /THE TWO WORD TO FORM THE THIRD CHARACTER 471 012112 7012 RTR 472 012113 2211 ISZ INPTR 473 012114 5322 JMP INCOMN 474 012115 1611 ICHAR2, TAD I INPTR 475 012116 0200 AND IN7400 476 012117 3250 DCA INCTLW /SAVE THE HIGH-ORDER BITS FOR THE THIRD CHAR 477 012120 2211 ISZ INPTR /BUMP THE WORD POINTER 478 012121 1611 ICHAR1, TAD I INPTR 479 012122 0373 INCOMN, AND (377 480 012123 0000 INRTRN, 0 /RESTORE CALLING FIELDS 481 012124 5613 JMP I ICHAR /AND RETURN 482 012125 0000 INXPTR, 0 483 012126 0001 INEOF, 1 /THESE PARAMETERS ARE SET UP SO THAT 484 /IOPEN IS UNNECESSARY. 485 012127 7777 INNEWF, -1 486 INCHCT=INNEWF 487 012130 6211 CDF 10 488 012131 1372 TAD (INDEVH+1 489 012132 3340 DCA INHNDL /INITIALIZE HANDLER ADDRESS 490 012133 1725 TAD I INXPTR 491 012134 7450 SNA /ANY MORE? 492 012135 5727 JMP I INNEWF /NO - OUT OF INPUT 493 012136 4705 JMS I IN200 494 012137 0001 1 /ASSIGN, FETCH HANDLER 495 012140 0000 INHNDL, 0 496 012141 7402 HLT /HUH? 497 012142 1725 TAD I INXPTR 498 012143 0371 AND (7760 /GET LENGTH PART OF WORD 499 012144 7440 SZA /LENGTH OF 0 MEANS LENGTH >=256 500 012145 1370 TAD (17 /ADD HIGH-ORDER BITS 501 012146 7132 CLL CML RTR 502 012147 7012 RTR 503 012150 3201 DCA INCTR /STORE LENGTH OF FILE 504 012151 2325 ISZ INXPTR 505 012152 1725 TAD I INXPTR 506 012153 3252 DCA INREC /STORE STARTING RECORD NUMBER OF FILE 507 012154 2325 ISZ INXPTR 508 012155 3326 DCA INEOF /ZERO END-OF-FILE FLAG 509 012156 2327 ISZ INNEWF 510 012157 5727 JMP I INNEWF 511 INCTR=IOPEN 512 PTP=20 513 012170 0017 *2200 012171 7760 012172 6401 012173 0377 012174 3253 012175 2401 012176 0012 012177 3251 514 012200 0000 OOPEN, 0 515 012201 7600 OU7600, 7600 516 012202 6214 RDF 517 012203 1270 TAD OUCDIF 518 012204 3216 DCA OORETN 519 012205 4230 JMS OUASGN 520 012206 1601 OUENTR, TAD I OU7600 521 012207 4777 JMS I (200 522 012210 0003 3 /ENTER OUTPUT FILE 523 012211 3243 OUBLK, FILENM+1 524 012212 0000 OUELEN, 0 /REPLACED WITH LENGTH OF HOLE 525 012213 5220 JMP OEFAIL /FAILED - MAYBE WE ASKED TOO MUCH 526 012214 3331 DCA OUCCNT 527 012215 4776 JMS I (OUSETP 528 012216 7402 OORETN, HLT /RESTORE CALLING FIELDS 529 012217 5600 JMP I OOPEN 530 012220 1601 OEFAIL, TAD I OU7600 531 012221 0375 AND (7760 /GET REQUESTED LENGTH 532 012222 7650 SNA CLA /WAS IT AN INDEFINITE REQUEST 533 012223 5774 JMP I (OUTERR 534 012224 1601 TAD I OU7600 535 012225 0373 AND (17 /MAKE THE REQUESTED LENGTH ZERO 536 012226 3601 DCA I OU7600 537 012227 5206 JMP OUENTR /TRY, TRY AGAIN 538 012230 0000 OUASGN, 0 539 012231 1372 TAD (OUDEVH+1 540 012232 3242 DCA OUHNDL 541 012233 6211 CDF 10 542 012234 1771 TAD I (FILENM 543 012235 0373 AND (17 /STRIP OFF ANY LENGTH INFO 544 012236 7450 SNA /IS THERE AN OUTPUT DEVICE? 545 012237 5774 JMP I (OUTERR 546 012240 4777 JMS I (200 547 012241 0001 1 /ASSIGN, FETCH HANDLER 548 012242 0000 OUHNDL, 0 /OUTPUT DEVICE HANDLER ENTRY 549 012243 7402 HLT /HUH? 550 012244 5630 JMP I OUASGN 551 012245 0000 OUTDMP, 0 552 012246 3273 DCA OUCTLW /STORE THE CONTROL WORD 553 012247 1331 TAD OUCCNT 554 012250 7450 SNA 555 012251 2273 ISZ OUCTLW 556 012252 1211 TAD OUBLK 557 012253 3275 DCA OUREC /COMPUTE THE STARTING BLOCK NUMBER OF THIS TRANSFER 558 012254 1273 TAD OUCTLW 559 012255 7106 CLL RTL 560 012256 7006 RTL 561 012257 7006 RTL 562 012260 0373 AND (17 /COMPUTE THE NUMBER OF RECORDS 563 012261 1331 TAD OUCCNT /UPDATE THE NUMBER OF BLOCKS IN THE FILE 564 012262 3331 DCA OUCCNT 565 012263 1331 TAD OUCCNT 566 012264 7120 CLL CML 567 012265 1212 TAD OUELEN 568 012266 7660 SNL SZA CLA /DOES THE LENGTH EXCEED THE GIVEN LENGTH? 569 012267 5774 JMP I (OUTERR 570 012270 6203 OUCDIF, CDF CIF 0 571 012271 6211 CDF 10 572 012272 4642 JMS I OUHNDL 573 012273 0000 OUCTLW, 0 574 012274 6000 OUBUF 575 012275 0000 OUREC, 0 576 012276 5774 JMP I (OUTERR 577 012277 5645 JMP I OUTDMP 578 012300 0000 OCLOSE, 0 579 012301 6214 RDF 580 012302 1270 TAD OUCDIF 581 012303 3333 DCA OCRET 582 012304 4770 JMS I (OCHAR 583 012305 4770 JMS I (OCHAR 584 012306 4770 FILLLP, JMS I (OCHAR 585 012307 4767 JMS I (OTYPE /GET TYPE OF OUTPUT DEVICE 586 012310 7710 SPA CLA 587 012311 1366 TAD (100 /IF ITS A DIRECTORY DEVICE FORCE A RECORD 588 012312 1365 TAD (77 /BOUNDARY - OTHERWISE A HALF-RECORD 589 012313 0764 AND I (OUDWCT 590 012314 7640 SZA CLA /UP TO THE BOUNDARY YET? 591 012315 5306 JMP FILLLP /NO - FILL WITH ZEROS 592 012316 1764 TAD I (OUDWCT /GET DOUBLEWORD COUNT LEFT 593 012317 1377 TAD (OUCTL&3700 594 012320 7450 SNA /A FULL WRITE LEFT? 595 012321 5324 JMP NODUMP /YES - DON'T DO IT - THE ^Z IS ALREADY OUT 596 012322 1363 TAD (4000+OUFLD /PUT IN THE FIELD BITS AND THE WRITE BIT 597 012323 4245 JMS OUTDMP 598 012324 4230 NODUMP, JMS OUASGN /REASSIGN OUTPUT HANDLER 599 012325 1771 TAD I (FILENM 600 012326 4777 JMS I (200 601 012327 0004 4 /CLOSE THE OUTPUT FILE 602 012330 3243 OU7601, FILENM+1 603 012331 0000 OUCCNT, 0 604 012332 5774 JMP I (OUTERR 605 012333 7402 OCRET, HLT /RESTORE CALLING FIELDS 606 012334 5700 JMP I OCLOSE 607 012363 4000 *2400 012364 2465 012365 0077 012366 0100 012367 2467 012370 2411 012371 3242 012372 7001 012373 0017 012374 3252 012375 7760 012376 2400 012377 0200 608 012400 0000 OUSETP, 0 /ROUTINE TO INITIALIZE CHARACTER POINTERS 609 012401 1377 TAD (OUCTL&3700 /GET SIZE OF BUFFER IN DOUBLEWORDS 610 012402 7041 CIA /NEGATE IT 611 012403 3265 DCA OUDWCT 612 012404 1376 TAD (OUBUF 613 012405 3263 DCA OUPTR /INITIALIZE WORD POINTER 614 012406 1264 TAD OUJMPE 615 012407 3221 DCA OUJMP /INITIALIZE THREE-WAY CHARACTER SWITCH 616 012410 5600 JMP I OUSETP 617 618 012411 0000 OCHAR, 0 619 012412 0375 AND (377 620 012413 3261 DCA OUTEMP 621 012414 6214 RDF 622 012415 1374 TAD (CDF CIF 0 623 012416 3257 DCA OUCRET 624 012417 6201 OUCHAR, CDF OUFLD /SET DATA FIELD TO BUFFER'S FIELD 625 012420 2221 ISZ OUJMP /BUMP THE CHARACTER SWITCH 626 012421 7402 OUJMP, HLT /THREE WAY CHARACTER SWITCH 627 012422 5255 JMP OCHAR1 628 012423 5252 JMP OCHAR2 629 012424 1261 OCHAR3, TAD OUTEMP 630 012425 7106 CLL RTL 631 012426 7006 RTL 632 012427 0373 AND (7400 633 012430 1662 TAD I OUPOLD 634 012431 3662 DCA I OUPOLD /UPDATE FIRST WORD OF TWO WITH HIGH 635 /ORDER 4 BITS OF THIRD CHAR 636 012432 1261 TAD OUTEMP 637 012433 7112 CLL RTR 638 012434 7012 RTR 639 012435 7010 RAR 640 012436 0373 AND (7400 641 012437 1663 TAD I OUPTR 642 012440 3663 DCA I OUPTR /UPDATE SECOND WORD FROM LOW ORDER 4 BITS 643 012441 1264 TAD OUJMPE 644 012442 3221 DCA OUJMP /RESET SWITCH 645 012443 2263 ISZ OUPTR 646 012444 2265 ISZ OUDWCT /BUMP DOUBLEWORD COUNTER EVERY 3 CHARS 647 012445 5257 JMP OUCOMN 648 012446 1372 TAD (OUCTL /LOAD CONTROL WORD FOR A FULL WRITE 649 012447 4771 JMS I (OUTDMP /DUMP THE BUFFER 650 012450 4200 JMS OUSETP /RE-INITIALIZE THE POINTERS 651 012451 5257 JMP OUCOMN 652 012452 1263 OCHAR2, TAD OUPTR 653 012453 3262 DCA OUPOLD /SAVE POINTER TO FIRST WORD OF TWO 654 012454 2263 ISZ OUPTR /BUMP WORD POINTER TO SECOND WORD 655 012455 1261 OCHAR1, TAD OUTEMP 656 012456 3663 DCA I OUPTR 657 OUCOMN, 658 012457 7402 OUCRET, HLT /RESTORE CALLING FIELDS 659 012460 5611 JMP I OCHAR 660 012461 0000 OUTEMP, 0 661 012462 0000 OUPOLD, 0 662 012463 0000 OUPTR, 0 663 012464 5221 OUJMPE, JMP OUJMP 664 012465 0000 OUDWCT, 0 665 012466 0000 OUTINH, 0 666 667 012467 0000 OTYPE, 0 668 012470 6214 RDF 669 012471 1374 TAD (CDF CIF 0 670 012472 3301 DCA OTRTN 671 012473 6211 CDF 10 672 012474 1770 TAD I (7600 673 012475 0367 AND (17 674 012476 1366 TAD (DCB-1 675 012477 3261 DCA OUTEMP 676 012500 1661 TAD I OUTEMP 677 012501 7402 OTRTN, HLT 678 012502 5667 JMP I OTYPE 679 012503 0000 CTCTST, 0 680 012504 6034 KRS 681 012505 1365 TAD (-203 682 012506 7650 SNA CLA /IS THE TELETYPE BUFFER A ^C 683 012507 6031 KSF /WITH THE TELETYPE FLAG ON? 684 012510 5703 JMP I CTCTST /NO 685 012511 6203 CDF CIF 0 /YES - GO TO MONITOR 686 012512 5764 JMP I (7605 /THROUGH THE "DON'T SAVE CORE" RETURN 687 012564 7605 $ 012565 7575 012566 7757 012567 0017 012570 7600 012571 2245 012572 4200 012573 7400 012574 6203 012575 0377 012576 6000 012577 0200 BIGER 3460 BTMP 3163 CALLCD 2602 CHAR 3162 CHAR1 3161 CKSM 3164 COMMON 3127 CTCTST 2503 CTLWRI 3236 DATAWD 3053 DCB 7760 DMPREC 3221 ENDTAP 3145 EPCH 3276 ERR 3254 unreferenced ERR0 3400 ERRLP 3262 ERRNO 3313 ERROR 3251 ERXIT 3273 FILELP 2655 FILENM 3242 FILLLP 2306 FINISH 3231 FIRST 2731 FLEN 2732 GETNEW 2027 unreferenced GTNMLP 3071 HELP 3405 HILOC 0020 ICHAR 2013 ICHAR1 2121 ICHAR2 2115 ICHAR3 2102 unreferenced IFPTR 0022 ILEADR 3003 IN200 2105 IN7400 2000 IN7600 2014 INBREC 2054 INBUF 0000 INBUFP 2051 INCDIF 2045 INCHAR 2020 INCHCT 2127 INCOMN 2122 INCTL 2400 INCTLW 2050 INCTR 2001 INDEVH 6400 INEOF 2126 INERR 3253 INERRX 2073 INFLD 0000 INFPTR 0021 INGBUF 2031 INHNDL 2140 INJMP 2077 INJMPP 2023 INNEWF 2127 INPER 3410 INPTR 2011 INREC 2052 INRECS 0012 INRTRN 2123 INXPTR 2125 IOPEN 2001 IREAD 3000 JMPTAB 3040 JTABL 2733 LOC 3160 MPARAM 7643 NAMPTR 0024 NEXTCD 2712 NODUMP 2324 NOTFST 2653 NXFIL 2707 NXTFRM 3023 OCHAR 2411 OCHAR1 2455 OCHAR2 2452 OCHAR3 2424 unreferenced OCLOSE 2300 OCRET 2333 ODVH 3247 OEFAIL 2220 OOPEN 2200 OORETN 2216 ORIGIN 3120 OTRTN 2501 OTYPE 2467 OU7600 2201 OU7601 2330 unreferenced OUASGN 2230 OUBLK 2211 OUBUF 6000 OUCCNT 2331 OUCDIF 2270 OUCHAR 2417 unreferenced OUCOMN 2457 OUCRET 2457 OUCTL 4200 OUCTLW 2273 OUDEVH 7000 OUDWCT 2465 OUELEN 2212 OUENTR 2206 OUFLD 0000 OUHNDL 2242 OUJMP 2421 OUJMPE 2464 OUPER 3416 OUPOLD 2462 OUPTR 2463 OUREC 2275 OUSETP 2400 OUTDMP 2245 OUTEMP 2461 OUTERR 3252 OUTINH 2466 unreferenced OUTYES 2644 PERROR 2742 PTP 0020 unreferenced PTRCOD 2637 RCHAR 3041 READLP 2662 RELER 3436 RL 2604 START 2600 unreferenced SYMDEF 3066 TEMP 0023 unreferenced TOOBIG 3250 TRANVC 3132 VERSON 2753 unreferenced XOPEN 3200