THIS FILE IS DAMAGED 7550 17 319 sta arg,7 and place in arg buffer 000351 aa 000001 6270 17 320 eax7 1,7 step to next 000352 aa 000020 1070 03 321 cmpx7 confl,du 000353 0a 000347 6040 00 322 tmi ul1 loop until card copied  323  000354 aa 012040 2350 00 324 lda arg card keyword in A 000355 0a 000362 7020 00 325 tsx2 acr perform "config c" operation 326  000356 aa 000020 6200 10 327 unext: eax0 confl,0 step to next card  000357 aa 004000 1000 03 328 cmpx0 econf-conf,du until finished 000360 0a 000335 6040 00 329 tmi ulp  000361 0a 000471 7100 00 330 tra exit return to BOS  331  332 " 333  000362 0a 000433 7420 00 334 acr: stx2 acrx2 utility routine to perform "a", "c", or "r".  335  000363 0a 000561 2340 00 336 szn esw if append then get free slot without looking  000364 0a 000422 6040 00 337 tmi fndslt 338  000365 aa 012264 7020 00 339 tsx2 getconf find old entry in table  000366 0a 000401 7100 00 340 tra nocard 000367 aa 012041 2360 00 341 ldq arg+1 get the second word 000370 aa 6 00001 1161 17 342 cmpq com|1,7 does the second word match too?  000371 0a 000425 6000 00 343 tze gotcard if so, go use this card  000372 aa 012265 7020 00 344 tsx2 getmore else see if any more cards like it  000373 0a 000423 7100 00 345 tra usefirst no, get the first one again and use it  346  000374 aa 6 00001 1161 17 347 chk_nxt: cmpq com|1,7 see if the current card is correct one  000375 0a 000425 6000 00 348 tze gotcard  349  000376 aa 012265 7020 00 350 tsx2 getmore else get another card  000377 0a 000401 7100 00 351 tra nocard if not found, go get a free slot  000400 0a 000374 7100 00 352 tra chk_nxt and if found, go see if this is the card  353  000401 0a 000433 6230 00 354 nocard: eax3 acrx2 set return address in case this is replace  000402 0a 000561 2340 00 355 szn esw make sure this isn't a replace  000403 0a 000507 6010 00 356 tnz notfound if replace and card not found, complain  000404 aa 6 02020 2341 00 357 szn com|quietsw see if quiet switch is on  000405 0a 000422 6010 00 358 tnz fndslt dont print a message if so 000406 aa 012241 7020 00 359 tsx2 erpt else tell the operator we are adding a card 000407 aa 046 136 141 040 360 acc "^a card appended to configuration deck"  000410 aa 143 141 162 144 000411 aa 040 141 160 160 000412 aa 145 156 144 145 000413 aa 144 040 164 157 000414 aa 040 143 157 156 000415 aa 146 151 147 165 000416 aa 162 141 164 151 000417 aa 157 156 040 144 000420 aa 145 143 153 000 000421 aa 012040 0000 00 361 arg arg  362  000422 aa 000001 3350 07 363 fndslt: lca 1,dl we come here to get a free slot in the table  000423 aa 012264 7020 00 364 usefirst: tsx2 getconf  000424 0a 000462 7100 00 365 tra conful no room if fail  366  000425 aa 777760 6260 00 367 gotcard: eax6 -confl get a loop counter  000426 aa 012060 2350 16 368 cpycard: lda arg+confl,6 get word from card 000427 aa 6 00000 7551 17 369 sta com|0,7 save it in the config deck  000430 aa 000001 6270 17 370 eax7 1,7 bump the counts  000431 aa 000001 6260 16 371 eax6 1,6  000432 0a 000426 6040 00 372 tmi cpycard and loop until done 21 aa 144 145 143 153 000522 aa 012040 0000 00 431 arg arg  000523 aa 000000 7100 13 432 tra 0,3 after printing message, go back  433  000524 aa 012241 7020 00 434 noconfig: tsx2 erpt 000525 aa 034 165 156 141 435 acc "unable to locate config deck" 000526 aa 142 154 145 040 000527 aa 164 157 040 154 000530 aa 157 143 141 164 000531 aa 145 040 143 157 000532 aa 156 146 151 147 000533 aa 040 144 145 143 000534 aa 153 000 000 000 000535 0a 000471 7100 00 436 tra exit  437  000536 aa 012241 7020 00 438 errconfig:tsx2 erpt 000537 aa 031 145 162 162 439 acc "error copying config deck"  000540 aa 157 162 040 143 000541 aa 157 160 171 151 000542 aa 156 147 040 143 000543 aa 157 156 146 151 000544 aa 147 040 144 145 000545 aa 143 153 000 000 000546 0a 000471 7100 00 440 tra exit  441  000547 aa 012241 7020 00 442 notc: tsx2 erpt 000550 aa 031 143 157 156 443 acc "config deck ^g not found."  000551 aa 146 151 147 040 000552 aa 144 145 143 153 000553 aa 040 136 147 040 000554 aa 156 157 164 040 000555 aa 146 157 165 156 000556 aa 144 056 000 000 000557 0a 000603 0000 00 444 arg cname  000560 0a 000471 7100 00 445 tra exit  446  447 " 448  000561 aa 000000 000000 449 esw: oct 0  000562 aa 000000 000000 450 punchsw: oct 0  000563 aa 000000 000000 451 svcount: oct 0  000564 452 svbuff: bss ,arglen 000603 453 cname: bss ,1  000604 aa 000000 000000 454 n_fields: oct 0 000605 455 config_namel:  000605 aa 000000 000013 456 dec 11 000606 457 config_name:  000606 aa 143 157 156 146 458 aci 'config_deck ' 000607 aa 151 147 137 144 000610 aa 145 143 153 040 000611 aa 000000 000000 459 types: oct 0  460 even  000612 461 config_sdw: 000612 462 bss ,2 000614 aa 777777 777777 463 ones: dec -1 two words of -1  000615 aa 777777 777777 464 dec -1 465  000616 466 savem: bss ,1  000617 467 saveq: bss ,1  468  469  470 " 471  472 include eis_micro_ops  000020 4-1 bool insm,020  000040 4-2 bool enf,040  000060 4-3 bool ses,060  000100 4-4 bool mvzb,100  000120 4-5 bool mvza,120  000140 4-6 bool mfls,140  000160 4-7 bool mflc,160  000200 4-8 bool insb,200  000220 4-9 bool insa,220  000240 4-10 bool insn,240  000260 4-11 bool insp,260  000300 4-12 bool ign,300  000320 4-13 bool mvc,320  000340 4-14 bool mses,340  000360 4-15 bool mors,360  000400 4-16 bool lte,400  000420 4-17 bool cht,420  4-18 "  000010 4-19 bool if0,10  000004 4-20 bool if1,4 000002 4-21 bool if2,2 000001 4-22 bool if3,1 473 include configp  5-1 " 5-2 " Begin include file ...... configp.incl.alm  5-3 " Created 9/15/75 by Noel I. Morris 5-4  5-5 " eax0 offset " X0 -> config card  5-6 " lda com|conf,0 " Card name in A.  5-7 " tsx2 config_print " Convert config card for printing. 5-8  000620 5-9 config_print:  000620 0a 000720 7420 00 5-10 stx2 pcd_x2 " Save XR's.  000621 aa 020000 1004 00 5-11 mlr (),(),fill(20) " Blank output line.  000622 0a 000622 020000 5-12 desc6a *,0 000623 aa 012001 020124 5-13 desc6a line,84 5-14  000624 aa 000000 6270 10 5-15 eax7 0,0 " Get address of config card.  000625 aa 000000 6260 00 5-16 eax6 0 " Current position in output buffer.  000626 aa 6 03017 2361 17 5-17 ldq com|conf+confl-1,7 " Two bits per field indicating original type.  000627 0a 000722 7560 00 5-18 stq pcd_types  000630 aa 000000 6250 06 5-19 eax5 0,ql " Parameter count in X5.  000631 aa 000077 3650 03 5-20 anx5 =o77,du " Mask count.  000632 0a 000673 7100 00 5-21 tra pcd_ascii " Convert card name.  5-22  000633 5-23 pcd_next:  000633 aa 6 03000 2351 17 5-24 lda com|conf,7 " Next raw item.  000634 0a 000722 2360 00 5-25 ldq pcd_types  000635 aa 000002 7760 00 5-26 qlr 2  000636 0a 000722 7560 00 5-27 stq pcd_types  000637 aa 000003 3760 07 5-28 anq 3,dl " Type code for this item.  5-29  000640 0a 000641 7100 06 5-30 tra *+1,ql " Dispatch on it.  000641 0a 000645 7100 00 5-31 tra pcd_oct " Octal number.  000642 0a 000667 7100 00 5-32 tra pcd_tag " Tag (A - H).  000643 0a 000673 7100 00 5-33 tra pcd_ascii " ASCII field (four characters).  000644 0a 000655 7100 00 5-34 tra pcd_dec " Decimal number.  5-35  000645 aa 012252 7020 00 5-36 pcd_oct: tsx2 octwd " Convert to BCD.  000646 0a 000724 7570 00 5-37 staq pcd_temp1 " Store converted octal number.  5-38  000647 aa 000000 0204 00 5-39 mve (),(),() " Move and edit to suppress leading zeroes.  000650 0a 000724 020014 5-40 desc6a pcd_temp1,12  000651 0a 000731 000004 5-41 desc9a coedit,4  000652 0a 000726 020014 5-42 desc6a pcd_temp2,12  5-43  000653 aa 000014 2350 07 5-44 lda 12,dl " 12 characters to insert in output.  000654 0a 000700 7100 00 5-45 tra pcd_join  5-46  000655 0a 000723 7550 00 5-47 pcd_dec: sta pcd_temp0 " Store binary number.  5-48  000656 aa 000000 3014 00 5-49 btd (),() " Convert to decimal.  000657 0a 000723 000004 5-50 desc9a pcd_temp0,4 000660 0a 000724 050014 5-51 desc4ls pcd_temp1,12  5-52  000661 aa 000000 0244 00 5-53 mvne (),(),() " Suppress leading zeroes and insert decimal point. 000662 0a 000724 050014 5-54 desc4ls pcd_temp1,12  000663 0a 000732 000014 5-55 desc9a cdedit,12  000664 0a 000726 020015 5-56 desc6a pcd_temp2,13  5-57  000665 aa 000015 2350 07 5-58 lda 13,dl " 13 characters to insert in output.  000666 0a 000700 7100 00 5-59 tra pcd_join  5-60  000667 aa 000010 1150 07 5-61 pcd_tag: cmpa 8,dl " Must be less than 8.  000670 0a 000645 6030 00 5-62 trc pcd_oct " Otherwise, convert as octal.  5-63  000671 0a 001064 0750 00 5-64 ada =h " " Make into letter. 000672 0a 000675 7100 00 5-65 tra pcd_bcd " And treat as BCD string.  5-66  000673 5-67 pcd_ascii:  000673 aa 012255 7020 00 5-68 tsx2 asge " Convert to BCD.  000674 aa 012260 7020 00 5-69 tsx2 rjust " Right-justify 4 characters.  5-70  000675 0a 000726 7550 00 5-71 pcd_bcd: sta pcd_temp2 " Store BCD. 5-72  000676 aa 000006 2350 07 5-73 lda 6,dl " 6 characters to insert in output.  000677 0a 000700 7100 00 5-74 tra pcd_join  5-75  000700 5-76 pcd_join:  000700 aa 000003 1254 40 5-77 scmr (rl),(du) " Search backward for first blank. 000701 0a 000726 020005 5-78 desc6a pcd_temp2,al  000702 aa 200 000 000 000 5-79 bci " "  000703 0a 000723 0000 00 5-80 arg pcd_temp0  5-81  000704 0a 000723 2360 00 5-82 ldq pcd_temp0 " Get tally.  000705 0a 000723 1750 00 5-83 sba pcd_temp0 " Compute non-blank count.  5-84  000706 aa 000056 1004 45 5-85 mlr (rl,al),(rl,x6) " Copy characters into output line.  000707 0a 000726 020006 5-86 desc6a pcd_temp2,ql  000710 aa 012001 020006 5-87 desc6a line,ql 5-88  000711 aa 000022 7360 00 5-89 qls 18 " Character count in QU.  000712 0a 000723 7560 00 5-90 stq pcd_temp0 " Store it. 000713 0a 000723 0660 00 5-91 adx6 pcd_temp0 " Add to offset.  000714 aa 000001 6260 16 5-92 eax6 1,6 " Plus one for white space.  5-93  000715 aa 000001 6270 17 5-94 eax7 1,7 " Step to next parameter.  000716 aa 777777 6250 15 5-95 eax5 -1,5 " Count one parameter.  000717 0a 000633 6050 00 5-96 tpl pcd_next " Go on to next parameter.  5-97  000720 0a 000720 6220 00 5-98 pcd_x2: eax2 *  000721 aa 000000 7100 12 5-99 tra 0,2  5-100  000722 5-101 pcd_types:  000722 5-102 bss ,1 " Type codes.  000723 5-103 pcd_temp0:  000723 5-104 bss ,1 5-105 even  000724 5-106 pcd_temp1:  000724 5-107 bss ,2 000726 5-108 pcd_temp2:  000726 5-109 bss ,3 5-110  000731 aa 401020 113321 5-111 coedit: vfd 9/lte+1,o9/20,9/mvzb+11,9/mvc+1 5-112  000732 aa 401020 403020 5-113 cdedit: vfd 9/lte+1,o9/20,9/lte+3,o9/20,9/lte+4,o9/52,9/mfls+10,9/enf  000733 aa 404052 152040 000734 aa 321401 033021 5-114 vfd 9/mvc+1,9/lte+1,o9/33,9/insm+1 5-115  5-116 " End of include file ...... configp.incl.alm  5-117  474 include runcom_util  6-1 " 6-2 " Begin include file ...... runcom_util.incl.alm  6-3 " Created 9/17/75 by Noel I. Morris 6-4  6-5  002264 6-6 equ mbufl,1204 length of runcom buffer 6-7  6-8  6-9 " lda name  6-10 " tsx2 runcom_setup setup to read from runcom file  6-11 " tra error file not found 6-12  000735 6-13 runcom_setup:  000735 0a 000755 7420 00 6-14 stx2 sx2 setup to read from a macro file  000736 0a 001063 7550 00 6-15 sta rctemp save name in case of error 6-16  000737 aa 012204 7020 00 6-17 tsx2 search  000740 0a 000757 7100 00 6-18 tra rsnf macro file not found 6-19  000741 aa 004000 3150 07 6-20 cana =o4000,dl check for macro bit  000742 0a 000757 6000 00 6-21 tze rsnf if not macro 6-22  000743 0a 001067 3750 00 6-23 ana =o777777770000 000744 aa 6 02022 7551 00 6-24 sta com|macroloc  6-25  000745 aa 000001 2750 07 6-26 ora =1,dl prime buffer  000746 aa 012234 7020 00 6-27 tsx2 rdsec 000747 aa 6 02600 0111 00 6-28 nop com|macrobuf  000750 0a 000766 7100 00 6-29 tra rserr if error  6-30  000751 aa 6 02021 2351 00 6-31 lda com|inputsw stack inputsw  000752 aa 000006 7710 00 6-32 arl 6  000753 aa 020000 2750 03 6-33 ora =o020000,du and set to macro  000754 aa 6 02021 7551 00 6-34 sta com|inputsw  6-35  000755 0a 000755 6220 00 6-36 sx2: eax2 * restore X2 000756 aa 000001 7100 12 6-37 tra 1,2 take normal return  6-38  6-39  000757 aa 012241 7020 00 6-40 rsnf: tsx2 erpt macro file not found  000760 aa 021 146 151 154 6-41 acc "file ^g not found"  000761 aa 145 040 136 147 000762 aa 040 156 157 164 000763 aa 040 146 157 165 000764 aa 156 144 000 000 000765 0a 001063 0000 00 6-42 arg rctemp 6-43  000766 0a 000755 2220 00 6-44 rserr: ldx2 sx2 restore X2 000767 aa 000000 7100 12 6-45 tra 0,2 take error return 6-46  6-47 " 6-48  6-49 " tsx2 make_runcom_file to format input lines into file 6-50 " tra get_input_line subr to read into "line"  6-51 " tra error error if file too big  6-52 " stq length,dl length of file in words  6-53  000770 6-54 make_runcom_file:  000770 0a 001012 7420 00 6-55 stx2 mkrx2 save XR's  000771 0a 001013 7400 00 6-56 stx0 mkrx0 .. 6-57  000772 aa 000000 6200 00 6-58 eax0 0 X0 is buffer index 000773 0a 001012 7020 20 6-59 mkrloop: tsx2 mkrx2,* call input subroutine  000774 0a 001010 7100 00 6-60 tra mark tra if end of input  6-61  000775 0a 001047 7020 00 6-62 tsx2 runcom_line_len get length of line and set line mark  000776 0a 001063 7560 00 6-63 stq rctemp save length  6-64  000777 aa 000000 6270 10 6-65 eax7 0,0 current offset in X7 001000 0a 001063 0270 00 6-66 adlx7 rctemp add length of this line  001001 aa 011320 1070 03 6-67 cmpx7 mbufl*4,du check for buffer overflow 001002 0a 001015 6050 00 6-68 tpl runcom_too_big ..  6-69  001003 aa 000150 1004 40 6-70 mlr (rl),(pr,rl,x0) copy line into macro buffer  001004 aa 012000 000002 6-71 desc9a pagectl,qu  001005 aa 200000 000002 6-72 desc9a bf|0,qu 6-73  001006 aa 000000 6200 17 6-74 eax0 0,7 get offset of next line in X0  001007 0a 000773 7100 00 6-75 tra mkrloop and loop  6-76  6-77  001010 aa 000004 6360 10 6-78 mark: eaq 4,0 get offset plus 1 word in QU 001011 aa 000024 7720 00 6-79 qrl 18+2 shift to QL and compute word count  6-80  001012 0a 001012 6220 00 6-81 mkrx2: eax2 * restore XR's 001013 0a 001013 6200 00 6-82 mkrx0: eax0 * ..  001014 aa 000002 7100 12 6-83 tra 2,2 take normal return  6-84  6-85  001015 6-86 runcom_too_big: 001015 aa 012241 7020 00 6-87 tsx2 erpt complain if runcom too large  001016 aa 015 146 151 154 6-88 acc "file too big."  001017 aa 145 040 164 157 001020 aa 157 040 142 151 001021 aa 147 056 000 000 001022 0a 001012 2220 00 6-89 ldx2 mkrx2 restore XR's  001023 0a 001013 2200 00 6-90 ldx0 mkrx0 .. 001024 aa 000001 7100 12 6-91 tra 1,2 and take error return 6-92  6-93 " 6-94  6-95 " lda name name of runcom file 6-96 " ldq length,dl length of runcom file in words 6-97 " tsx2 store_runcom_file to store completed runcom  6-98 " tra error file system error  6-99  001025 6-100 store_runcom_file:  001025 0a 001043 7420 00 6-101 stx2 srfx2 save X2  001026 0a 001063 7550 00 6-102 sta rctemp save name  6-103  001027 aa 000001 3350 07 6-104 lca 1,dl make fence for end  001030 aa 2 77777 7551 06 6-105 sta bf|-1,ql and cap end of macro 6-106  001031 aa 000077 0760 07 6-107 adq 63,dl round to nearest disk sector  001032 aa 000006 7720 00 6-108 qrl 6 compute number of sectors  6-109  001033 0a 001063 2350 00 6-110 lda rctemp get name of runcom 001034 aa 012205 7020 00 6-111 tsx2 makefil create a file for runcom 001035 0a 001045 7100 00 6-112 tra srferr 6-113  001036 aa 004000 2360 07 6-114 ldq =o4000,dl get runcom ID bit  001037 aa 6 00001 2561 17 6-115 orsq com|1,7 insert in BOS dir entry  6-116  001040 aa 012235 7020 00 6-117 tsx2 wtsec write out the runcom  001041 aa 2 00000 0111 00 6-118 nop bf|0  001042 0a 001045 7100 00 6-119 tra srferr 6-120  001043 0a 001043 6220 00 6-121 srfx2: eax2 * restore X2  001044 aa 000001 7100 12 6-122 tra 1,2 that's all  6-123  6-124  001045 0a 001043 2220 00 6-125 srferr: ldx2 srfx2 restore X2  001046 aa 000000 7100 12 6-126 tra 0,2 take error return 6-127  6-128 "  6-129  6-130 " tsx2 runcom_line_len to get line length  6-131 " stq len,du length of line in words  6-132  001047 6-133 runcom_line_len:  001047 0a 001061 7420 00 6-134 stx2 rllx2 save X2  6-135  001050 aa 012263 7020 00 6-136 tsx2 stripg strip trailing blanks from line  001051 aa 012001 020124 6-137 desc6a line,84 .. 001052 aa 000044 7730 00 6-138 lrl 36 length in Q  001053 aa 000005 0760 07 6-139 adq 5,dl round up to nearest word 001054 aa 000006 5060 07 6-140 div 6,dl compute word count  001055 aa 000022 7360 00 6-141 qls 18 in QU  001056 aa 012000 7520 70 6-142 stcq pagectl,70 insert in line mark  6-143  001057 aa 000001 0760 03 6-144 adq 1,du include line mark in length  001060 aa 000002 7360 00 6-145 qls 2 get character count 6-146  001061 0a 001061 6220 00 6-147 rllx2: eax2 * restore X2  001062 aa 000000 7100 12 6-148 tra 0,2 return to caller  6-149  6-150  001063 6-151 rctemp: bss ,1  6-152  6-153  6-154 " End of include file ...... runcom_util.incl.alm  6-155  475 include bos_tv 7-1 " 7-2 " Begin include file ...... bos_tv.incl.alm 7-3 " Created in November 1971 by N. I. Morris. 7-4 " Modified 9/9/76 by Noel I. Morris 7-5 " Modified by Sherman D. Sprague 02/11/81 for DPS8 support. 7-6 " Modified November 1981 by C. Hornig to remove iom_connect_rel.  7-7 " Modified January 1982 by J. Bongiovanni to add getport_info  7-8 " Modified May 1982 by Sherman D. Sprague to add getmpc.  7-9  7-10 " BOS Utility Package Transfer Vector.  7-11  012000 7-12 equ pagectl,utilorg  012001 7-13 equ line,pagectl+1 012040 7-14 equ arg,line+31  012060 7-15 equ darg,arg+arglen+1  012100 7-16 equ earg,darg+arglen+1 012120 7-17 equ fltscu,earg+arglen+1  7-18  012200 7-19 equ tv_org,utilorg+128 7-20  012200 7-21 equ scan,tv_org+0  012201 7-22 equ arg_count,tv_org+1 012202 7-23 equ nextline,tv_org+2  012203 7-24 equ nlraw,tv_org+3 012204 7-25 equ search,tv_org+4  012205 7-26 equ makefil,tv_org+5  012206 7-27 equ ldcom,tv_org+6 012207 7-28 equ getsec,tv_org+7  012210 7-29 equ cvinit,tv_org+8  012211 7-30 equ rdev,tv_org+9  012212 7-31 equ wdev,tv_org+10 012213 7-32 equ phybos,tv_org+11  012214 7-33 equ bosphy,tv_org+12  012215 7-34 equ phyadd,tv_org+13  012216 7-35 equ mulbos,tv_org+14  012217 7-36 equ bosmul,tv_org+15  012220 7-37 equ lookup_devmodel,tv_org+16  012221 7-38 equ makesdw,tv_org+17  012222 7-39 equ argbos,tv_org+18  012223 7-40 equ argmul,tv_org+19  012224 7-41 equ amdvt,tv_org+20  012225 7-42 equ amfirst,tv_org+21  012226 7-43 equ amlast,tv_org+22  012227 7-44 equ cvnamla,tv_org+23  012230 7-45 equ sect_per_cyl_list,tv_org+24  012231 7-46 equ sect_per_dev_list,tv_org+25  012232 7-47 equ rec_per_dev_list,tv_org+26 012233 7-48 equ amaxio,tv_org+27  012234 7-49 equ rdsec,tv_org+28  012235 7-50 equ wtsec,tv_org+29  012236 7-51 equ disk_brief,tv_org+30  012237 7-52 equ itaper,tv_org+31  012240 7-53 equ itapew,tv_org+32  012241 7-54 equ erpt,tv_org+33 012242 7-55 equ ercv,tv_org+34 012243 7-56 equ erbuf,tv_org+35  012244 7-57 equ type,tv_org+36 012245 7-58 equ ttyinit,tv_org+37  012246 7-59 equ readcd,tv_org+38  012247 7-60 equ readtty,tv_org+39  012250 7-61 equ getprt,tv_org+40  012251 7-62 equ punch,tv_org+41  012252 7-63 equ octwd,tv_org+42  012253 7-64 equ geas,tv_org+43 012254 7-65 equ geastab,tv_org+44  012255 7-66 equ asge,tv_org+45 012256 7-67 equ asgetab,tv_org+46  012257 7-68 equ ljust,tv_org+47  012260 7-69 equ rjust,tv_org+48  012261 7-70 equ bzel,tv_org+49 012262 7-71 equ stripa,tv_org+50  012263 7-72 equ stripg,tv_org+51  012264 7-73 equ getconf,tv_org+52  012265 7-74 equ getmore,tv_org+53  012266 7-75 equ getperiph,tv_org+54  012267 7-76 equ rdclock,tv_org+55  012270 7-77 equ cvclock,tv_org+56  012271 7-78 equ init_io,tv_org+57  012272 7-79 equ connect_iom,tv_org+58  012273 7-80 equ getmpc,tv_org+59  012274 7-81 equ check_status,tv_org+60 012275 7-82 equ get_special_interrupt,tv_org+61  012276 7-83 equ get_status_interrupt,tv_org+62 012277 7-84 equ xio_wait,tv_org+63 012300 7-85 equ initint,tv_org+64  012301 7-86 equ wantflt,tv_org+65  012302 7-87 equ intno,tv_org+66  012303 7-88 equ intrpts1,tv_org+67 012304 7-89 equ hexwd,tv_org+68  012305 7-90 equ find_disk,tv_org+69  012306 7-91 equ find_root,tv_org+70  012307 7-92 equ find_part,tv_org+71  012310 7-93 equ check_status_no_stat,tv_org+72 012311 7-94 equ check_special_status,tv_org+73 012312 7-95 equ check_cpu_type,tv_org+74  012313 7-96 equ getportinfo,tv_org+75  7-97  7-98 " End of include file ...... bos_tv.incl.alm  7-99  476  477 end  LITERALS 001064 aa 202020 202020 001065 aa 202050 643163 001066 aa 202021 474524 001067 aa 777777 770000 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 001070 5a 000003 000000 001071 5a 000017 600000 001072 aa 000000 000000 001073 55 000010 000002 001074 5a 000002 400003 001075 55 000006 000010 001076 aa 006 143 157 156 001077 aa 146 151 147 000 001100 55 000002 000003 001101 6a 000000 400002 001102 55 000013 000003 001103 aa 014 163 171 155 symbol_table  001104 aa 142 157 154 137 001105 aa 164 141 142 154 001106 aa 145 000 000 000 DEFINITIONS HASH TABLE  001107 aa 000000 000015 001110 aa 000000 000000 001111 aa 000000 000000 001112 aa 000000 000000 001113 aa 000000 000000 001114 aa 000000 000000 001115 aa 000000 000000 001116 5a 000010 000000 001117 aa 000000 000000 001120 aa 000000 000000 001121 aa 000000 000000 001122 aa 000000 000000 001123 aa 000000 000000 001124 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  001125 aa 000001 000000 001126 aa 000000 000000 INTERNAL EXPRESSION WORDS 001127 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 001070 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000010 000007 a2 000000 000000 SYMBOL INFORMATION SYMBOL TABLE HEADER  000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000004 000004 aa 000000 112143 000005 aa 305203 523135 000006 aa 000000 112272 000007 aa 223640 010530 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000002 000016 aa 000064 000000 000017 aa 000000 000342 000020 aa 000000 000232 000021 aa 000000 000324 000022 aa 000327 000232 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 040066 056066 000030 aa 040040 116157 000031 aa 166145 155142 000032 aa 145162 040061 000033 aa 071070 062040 000034 aa 110157 154155 000035 aa 163164 145144 000036 aa 164056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 040040 040040 000046 aa 040040 040040 000047 aa 040040 040040 000050 aa 040040 040040 000051 aa 040040 040040 000052 aa 040040 040040 000053 aa 040040 040040 000054 aa 040040 040040 000055 aa 040040 040040 000056 aa 040040 040040 000057 aa 040040 040040 000060 aa 040040 040040 000061 aa 040040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000010 000066 aa 000126 000027 000067 aa 122721 273003 000070 aa 000000 112272 000071 aa 215437 200000 000072 aa 000134 000040 000073 aa 113400 415301 000074 aa 000000 111341 000075 aa 220414 400000 000076 aa 000144 000042 000077 aa 112204 105031 000100 aa 000000 111221 000101 aa 055103 400000 000102 aa 000155 000044 000103 aa 121622 277475 000104 aa 000000 112162 000105 aa 321563 400000 000106 aa 000166 000043 000107 aa 043243 127523 000110 aa 000000 101621 000111 aa 351624 000000 000112 aa 000177 000041 000113 aa 043243 125747 000114 aa 000000 103256 000115 aa 424006 200000 000116 aa 000210 000045 000117 aa 043243 126005 000120 aa 000000 103256 000121 aa 423770 000000 000122 aa 000222 000040 000123 aa 110235 072677 000124 aa 000000 111024 000125 aa 524460 600000 000126 aa 076163 160145 >spec>h>3.17>config.alm 000127 aa 143076 150076 000130 aa 063056 061067 000131 aa 076143 157156 000132 aa 146151 147056 000133 aa 141154 155040 000134 aa 076154 144144 >ldd>bos>include>bosequ.incl.alm  000135 aa 076142 157163 000136 aa 076151 156143 000137 aa 154165 144145 000140 aa 076142 157163 000141 aa 145161 165056 000142 aa 151156 143154 000143 aa 056141 154155 000144 aa 076154 144144 >ldd>bos>include>apnd_equ.incl.alm  000145 aa 076142 157163 000146 aa 076151 156143 000147 aa 154165 144145 000150 aa 076141 160156 000151 aa 144137 145161 000152 aa 165056 151156 000153 aa 143154 056141 000154 aa 154155 040040 000155 aa 076154 144144 >ldd>bos>include>bos_common.incl.alm  000156 aa 076142 157163 000157 aa 076151 156143 000160 aa 154165 144145 000161 aa 076142 157163 000162 aa 137143 157155 000163 aa 155157 156056 000164 aa 151156 143154 000165 aa 056141 154155 000166 aa 076154 144144 >ldd>include>eis_micro_ops.incl.alm 000167 aa 076151 156143 000170 aa 154165 144145 000171 aa 076145 151163 000172 aa 137155 151143 000173 aa 162157 137157 000174 aa 160163 056151 000175 aa 156143 154056 000176 aa 141154 155040 000177 aa 076154 144144 >ldd>bos>include>configp.incl.alm  000200 aa 076142 157163 000201 aa 076151 156143 000202 aa 154165 144145 000203 aa 076143 157156 000204 aa 146151 147160 000205 aa 056151 156143 000206 aa 154056 141154 000207 aa 155040 040040 000210 aa 076154 144144 >ldd>bos>include>runcom_util.incl.alm  000211 aa 076142 157163 000212 aa 076151 156143 000213 aa 154165 144145 000214 aa 076162 165156 000215 aa 143157 155137 000216 aa 165164 151154 000217 aa 056151 156143 000220 aa 154056 141154 000221 aa 155040 040040 000222 aa 076154 144144 >ldd>bos>include>bos_tv.incl.alm  000223 aa 076142 157163 000224 aa 076151 156143 000225 aa 154165 144145 000226 aa 076142 157163 000227 aa 137164 166056 000230 aa 151156 143154 000231 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  213 a config: 53, 55, 192, 200.  362 acr config: 269, 325, 334. 433 acrx2 config: 334, 354, 374. 12233 amaxio bos_tv: 48. 12224 amdvt bos_tv: 41. 12225 amfirst bos_tv: 42. 12226 amlast bos_tv: 43. 100 amptwptr bos_common: 11. 0 amptwregs bos_common: 10. 400 amsdwptr bos_common: 13. 200 amsdwregs bos_common: 12. 1300 aphist bos_common: 17. 7032 apnd config: 297, 306,  apnd_equ: 27. 7000 apnd_org config: 279, apnd_equ: 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,  21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,  34, 35, 36, 37, 38, 39, 40. 12040 arg config: 162, 180, 214, 221, 231, 248, 260, 266, 268, 319, 324, 341,  361, 368, 431, bos_tv: 14, 15.  12222 argbos bos_tv: 39. 17 arglen config: 452, bosequ: 17, bos_tv: 15, 16, 17. 12223 argmul bos_tv: 40. 12201 arg_count config: 255, bos_tv: 22. 12255 asge configp: 68, bos_tv: 66. 12256 asgetab bos_tv: 67. 1573 bar bos_common: 26. 2 bf bosequ: 9, runcom_util: 72, 105, 118. 7012 bosdmp apnd_equ: 16. 12217 bosmul bos_tv: 36. 12214 bosphy bos_tv: 33. 2012 bos_dvt bos_common: 53. 12261 bzel bos_tv: 70. 216 c config: 57, 59, 204. 7022 castap apnd_equ: 21. 732 cdedit configp: 55, 113.  12312 check_cpu_type bos_tv: 95. 12311 check_special_status bos_tv: 94. 12274 check_status bos_tv: 81. 12310 check_status_no_stat bos_tv: 93. 453 chkarg config: 91, 314, 397. 455 chklp config: 400, 403.  374 chk_nxt config: 347, 352.  420 cht eis_micro_ops: 17.  7000 cmdbr config: 284, apnd_equ: 10. 2032 cmdlst bos_common: 68. 7020 cmpsdw apnd_equ: 20. 603 cname config: 112, 117, 124, 444, 453. 731 coedit configp: 41, 111.  6 com config: 29, 31, 88, 133, 168, 169, 175, 188, 194, 283, 342, 347,  357, 369, 414, 417, 422, bosequ: 14, configp: 17, 24,  runcom_util: 24, 28, 31, 34, 115. 7036 comp apnd_equ: 31. 20 coms config: 38, 42, 77. 3000 conf config: 88, 99, 131, 133, 185, 188, 328, bos_common: 85, 86,  configp: 17, 24.  606 config_name config: 292, 457.  605 config_namel config: 293, 455.  620 config_print config: 94, 140,  configp: 9. 612 config_sdw config: 301, 307, 461. 20 confl config: 98, 142, 168, 171, 262, 266, 321, 327, 367, 368,  bos_common: 87, configp: 17. 462 conful config: 365, 408.  12272 connect_iom bos_tv: 79. 2003 corearea bos_common: 47. 1610 coreblocks bos_common: 30. 426 cpycard config: 368, 372.  700 cuhist bos_common: 15. 2027 curtcmd bos_common: 66. 12270 cvclock bos_tv: 77. 12210 cvinit config: 286, bos_tv: 29. 12227 cvnamla bos_tv: 44. 147 d config: 49, 51, 155. 2024 d355_state bos_common: 63. 12060 darg config: 234, 236,  bos_tv: 15, 16.  1570 dbr config: 283, bos_common: 24. 2000 dir bos_common: 43, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56,  57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 76. 600 dirlen bos_common: 70, 76.  2014 diskchanno bos_common: 55. 12236 disk_brief bos_tv: 51. 100 dmpbufl config: 14, 288.  0 ds bosequ: 7. 162 d_moveup config: 168, 172, 183. 150 d_next config: 156, 164, 182. 12100 earg bos_tv: 16, 17.  7000 econf config: 99, 131, 171, 177, 185, 328,  bos_common: 86, 90.  1100 eishist bos_common: 16. 40 enf eis_micro_ops: 2,  configp: 113. 12243 erbuf bos_tv: 56. 12242 ercv bos_tv: 55. 12241 erpt config: 149, 359, 408, 429, 434, 438, 442, runcom_util: 40, 87,  bos_tv: 54. 536 errconfig config: 308, 438.  561 esw config: 201, 204, 208, 303, 336, 355, 449. 471 exit config: 89, 101, 122, 126, 127, 151, 159, 198, 213, 216, 281, 312,  330, 412, 436, 440, 445. 1576 faultreg bos_common: 28. 2023 fdump_state bos_common: 62. 7037 fetch apnd_equ: 32. 7010 fetchin apnd_equ: 14. 7004 fetchout config: 300, 310, 318, apnd_equ: 12. 7041 fetch_use_buffer apnd_equ: 34. 5 fgb bosequ: 13. 12305 find_disk bos_tv: 90. 12307 find_part bos_tv: 92. 12306 find_root bos_tv: 91. 2000 firmware_bit bosequ: 20. 12120 fltscu bos_tv: 17. 422 fndslt config: 337, 358, 363. 12253 geas config: 161, 245, 386, bos_tv: 64. 12254 geastab bos_tv: 65. 7034 get apnd_equ: 29. 12264 getconf config: 165, 181, 339, 364,  bos_tv: 73. 7026 getinit config: 289, apnd_equ: 23. 12265 getmore config: 344, 350,  bos_tv: 74. 12273 getmpc bos_tv: 80. 12266 getperiph bos_tv: 75. 12313 getportinfo bos_tv: 96. 12250 getprt bos_tv: 61. 7027 getsdw apnd_equ: 24. 12207 getsec bos_tv: 28. 7043 getsltname apnd_equ: 36. 7030 getwd apnd_equ: 25. 122 get_line config: 121, 130, 143. 12275 get_special_interrupt bos_tv: 82. 12276 get_status_interrupt bos_tv: 83. 136 glx0 config: 137, 146.  135 glx2 config: 136, 145.  425 gotcard config: 343, 348, 367. 7031 grab apnd_equ: 26. 7002 hcdbr config: 298, apnd_equ: 11. 12304 hexwd bos_tv: 89. 10 if0 eis_micro_ops: 19.  4 if1 eis_micro_ops: 20.  2 if2 eis_micro_ops: 21.  1 if3 eis_micro_ops: 22.  300 ign eis_micro_ops: 12.  12300 initint bos_tv: 85. 12271 init_io config: 24, bos_tv: 78. 2021 inputsw bos_common: 60, runcom_util: 31, 34.  220 insa eis_micro_ops: 9.  200 insb eis_micro_ops: 8.  20 insm eis_micro_ops: 1,  configp: 114. 240 insn eis_micro_ops: 10.  260 insp eis_micro_ops: 11.  12302 intno bos_tv: 87. 1572 intrpts bos_common: 25. 12303 intrpts1 bos_tv: 88. 2011 iom_mbbase bos_common: 52. 2010 iom_mxbase bos_common: 51. 12237 itaper bos_tv: 52. 12240 itapew bos_tv: 53. 200 l config: 69, 71, 185. 257 lasc config: 235, 244.  12206 ldcom config: 280, bos_tv: 27. 12001 line config: 106, 211,  configp: 13, 87,  runcom_util: 137, bos_tv: 13, 14.  12257 ljust config: 160, 244, 385, bos_tv: 68. 233 ll config: 221, 256.  262 lle config: 229, 239, 242, 248.  244 lno config: 224, 227, 231. 255 loct config: 233, 237, 241. 12220 lookup_devmodel bos_tv: 37. 222 loop config: 202, 205, 210, 271.  1620 lowport_cfg bos_common: 34. 1530 low_order_port bos_common: 20. 400 lte eis_micro_ops: 16,  configp: 111, 113, 114. 2716 macroargs bos_common: 78. 2600 macrobuf config: 422, bos_common: 76, 77, 85, runcom_util: 28. 2700 macroline bos_common: 77, 78.  2022 macroloc config: 194, 417,  bos_common: 61, runcom_util: 24. 12205 makefil runcom_util: 111, bos_tv: 26. 12221 makesdw bos_tv: 38. 770 make_runcom_file config: 120, runcom_util: 54. 1010 mark runcom_util: 60, 78.  2264 mbufl runcom_util: 6, 67.  1550 mcm bos_common: 23. 1532 mctime bos_common: 21. 7 mem config: 34, 35, 111, 157, 190, 382, 427, bosequ: 15. 160 mflc eis_micro_ops: 7.  140 mfls eis_micro_ops: 6,  configp: 113. 773 mkrloop runcom_util: 59, 75.  1013 mkrx0 runcom_util: 56, 82, 90. 1012 mkrx2 runcom_util: 55, 59, 81, 89.  1574 modereg bos_common: 27. 360 mors eis_micro_ops: 15.  340 mses eis_micro_ops: 14.  12216 mulbos bos_tv: 35. 320 mvc eis_micro_ops: 13,  configp: 111, 114.  120 mvza eis_micro_ops: 5.  100 mvzb eis_micro_ops: 4,  configp: 111. 21 ncoms config: 37, 77.  12202 nextline config: 210, bos_tv: 23. 12203 nlraw config: 28, 412,  bos_tv: 24. 401 nocard config: 340, 351, 354. 524 noconfig config: 294, 299, 434. 140 noname config: 118, 149.  547 notc config: 442. 507 notfound config: 166, 356, 429. 604 n_fields config: 454. 12252 octwd configp: 36, bos_tv: 63. 614 ones config: 158, 174, 191, 311, 383, 463.  500 ouhist bos_common: 14. 64 p config: 40, 43, 45, 84.  12000 pagectl config: 115, runcom_util: 71, 142,  bos_tv: 12, 13.  7013 pagesw apnd_equ: 17. 673 pcd_ascii configp: 21, 33, 67. 675 pcd_bcd configp: 65, 71.  655 pcd_dec configp: 34, 47.  700 pcd_join configp: 45, 59, 74, 76.  633 pcd_next configp: 23, 96.  645 pcd_oct configp: 31, 36, 62. 667 pcd_tag configp: 32, 61.  723 pcd_temp0 configp: 47, 50, 80, 82, 83, 90, 91, 103.  724 pcd_temp1 configp: 37, 40, 51, 54, 106. 726 pcd_temp2 configp: 42, 56, 71, 78, 86, 108.  722 pcd_types configp: 18, 25, 27, 101.  720 pcd_x2 configp: 10, 98.  7044 pd_check apnd_equ: 37. 7046 pd_getptr apnd_equ: 39. 7045 pd_modify apnd_equ: 38. 3 pgm bosequ: 10. 12215 phyadd bos_tv: 34. 12213 phybos bos_tv: 32. 67 plp config: 88, 100.  7014 pmlsw apnd_equ: 18. 1500 prs bos_common: 18. 75 ptnext config: 92, 98, 107. 1600 ptrlen bos_common: 29. 101 ptsx config: 82, 96, 104. 62 pu config: 47, 81.  12251 punch config: 81, bos_tv: 62. 562 punchsw config: 450. 7035 put apnd_equ: 30. 7047 pvt_to_devt apnd_equ: 40. 2020 quietsw config: 29, 31, 357, 414,  bos_common: 59. 220 r config: 61, 63, 207. 1063 rctemp runcom_util: 15, 42, 63, 66, 102, 110, 151. 12267 rdclock bos_tv: 76. 12211 rdev bos_tv: 30. 2016 rdrchanno bos_common: 57. 12234 rdsec config: 421, runcom_util: 27, bos_tv: 49. 12246 readcd bos_tv: 59. 12247 readtty bos_tv: 60. 2030 readysw bos_common: 67. 7006 read_args apnd_equ: 13. 12232 rec_per_dev_list bos_tv: 47. 1520 regs bos_common: 19. 12260 rjust configp: 69, bos_tv: 69. 1061 rllx2 runcom_util: 134, 147.  766 rserr runcom_util: 29, 44.  757 rsnf runcom_util: 18, 21, 40. 4000 runcom_bit bosequ: 19. 1047 runcom_line_len runcom_util: 62, 133.  735 runcom_setup config: 197, runcom_util: 13. 1015 runcom_too_big runcom_util: 68, 86.  434 savarg config: 85, 276, 378. 105 save config: 73, 75, 111. 616 savem config: 195, 415, 466. 617 saveq config: 30, 413, 467. 12200 scan bos_tv: 21. 1540 scu bos_common: 22. 12204 search runcom_util: 17, bos_tv: 25. 12230 sect_per_cyl_list bos_tv: 45. 12231 sect_per_dev_list bos_tv: 46. 7000 seg6length bos_common: 90. 60 ses eis_micro_ops: 3.  2004 setuparea bos_common: 49. 2025 skipsw bos_common: 64. 7042 sltsearch config: 291, apnd_equ: 35. 7011 sltseg apnd_equ: 15. 1045 srferr runcom_util: 112, 119, 125. 1043 srfx2 runcom_util: 101, 121, 125. 7016 sstsdw apnd_equ: 19. 1025 store_runcom_file config: 125, runcom_util: 100. 2000 storlen bos_common: 36. 12262 stripa bos_tv: 71. 12263 stripg runcom_util: 136, bos_tv: 72. 564 svbuff config: 387, 400, 452. 563 svcount config: 392, 397, 451. 450 svend config: 384, 392.  437 svlp config: 382, 390.  451 svx1 config: 379, 393.  452 svx2 config: 378, 394.  755 sx2 runcom_util: 14, 36, 44. 2015 tapechanno bos_common: 56. 1 tmp bosequ: 8. 2017 ttychanno bos_common: 58. 12245 ttyinit config: 25, bos_tv: 58. 2026 ttypmtsw bos_common: 65. 471 ttyrequest config: 26, 411.  12200 tv_org bos_tv: 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,  44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,  56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,  68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,  80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,  92, 93, 94, 95, 96. 12244 type config: 105, bos_tv: 57. 611 types config: 219, 252, 265, 459.  306 u config: 65, 67, 275. 347 ul1 config: 318, 322.  335 ulp config: 305, 329.  7033 unapnd apnd_equ: 28. 356 unext config: 315, 327.  7040 unfetch apnd_equ: 33. 2013 unitgroup bos_common: 54. 2002 useable bos_common: 46. 2001 used bos_common: 45. 423 usefirst config: 345, 364.  2005 utilarea bos_common: 50. 12000 utilorg bosequ: 22, bos_tv: 12, 19.  12301 wantflt bos_tv: 86. 12212 wdev bos_tv: 31. 12235 wtsec runcom_util: 117, bos_tv: 50. 504 x2 config: 23, 33, 416, 425.  12277 xio_wait bos_tv: 84. 4 xs1 bosequ: 11. 5 xs2 bosequ: 12. NO FATAL ERRORS  ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved