ASSEMBLY LISTING OF SEGMENT >spec>h>3.17>print.alm ASSEMBLED ON: 11/29/83 1530.3 mst Tue OPTIONS USED: list ASSEMBLED BY: ALM Version 6.6 November 1982 ASSEMBLER CREATED: 09/21/83 1227.3 mst Wed  1 " ***********************************************************  2 " * *  3 " * Copyright, (C) Honeywell Information Systems Inc., 1982 *  4 " * *  5 " * Copyright (c) 1972 by Massachusetts Institute of *  6 " * Technology and Honeywell Information Systems, Inc. *  7 " * *  8 " ***********************************************************  9  10 " prog to print dump tapes  11 " Modified on 10/26/71 at 00:20:15 by R F Mabee.  12 " Modified November 1981 by C. Hornig to not use IOM rel mode.  13  000000 14 name print 15  16 include bosequ 1-1 " Begin include file ...... bosequ.incl.alm 1-2 " Modified 8/25/76 by N. I. Morris  1-3 " Modified 8/79 by R.J.C. Kissel to expand BOS. 1-4 " Modified November 1981 by C. Hornig to add pgmorg.  1-5 " Modified October 1982 by J. Bongiovanni to take it out  1-6  000000 1-7 bool ds,0 descriptor segment  000001 1-8 bool tmp,1 temp seg  000002 1-9 bool bf,2 buffer segment for save/restor  000003 1-10 bool pgm,3 program in control 000004 1-11 bool xs1,4 spare segment  000005 1-12 bool xs2,5 spare segment  000005 1-13 bool fgb,5 flagbox segment  000006 1-14 bool com,6 common 000007 1-15 bool mem,7 all memory 1-16  000017 1-17 equ arglen,15 max number of args from scan  1-18  004000 1-19 bool runcom_bit,4000 runcom bit in dir entry  002000 1-20 bool firmware_bit,2000 firmware bit in dir entry  1-21  012000 1-22 bool utilorg,12000 origin of utility package  1-23  1-24 " End of include file ...... bosequ.incl.alm  17  18 " 19  000000 0a 000043 7420 00 20 stx2 x2  000001 aa 012271 7020 00 21 tsx2 init_io  22  000002 aa 012245 7020 00 23 tsx2 ttyinit  000003 0a 000043 0000 00 24 arg ttyrequest 25  000004 0a 000043 2220 00 26 ldx2 x2 restore X2  000005 aa 7 00000 2271 12 27 ldx7 mem|0,2 get pointer to arg list  000006 aa 7 00021 2351 17 28 lda mem|arglen+1+1,7 get argument in decimal  000007 0a 000017 6044 00 29 tmoz notapeno if not supplied, use default tape # 30  000010 aa 000017 3750 07 31 ana =o17,dl mask tape #  000011 aa 000014 7350 00 32 als 12 shift  000012 0a 000311 7510 04 33 stca tpchanno,04 and save  000013 aa 000014 7350 00 34 als 12 shift to IDCW device position  000014 0a 000314 7510 20 35 stca tpcw,20 set device code in PCW  000015 0a 000320 7510 20 36 stca tpidcw,20 and in IDCW's  000016 0a 000316 7510 20 37 stca rwidcw,20 .. 38  000017 aa 012237 7020 00 39 notapeno: tsx2 itaper initialize tape for reading  000020 0a 000311 0000 00 40 arg tpchanno ..  41  000021 0a 000311 2350 00 42 lda tpchanno get channel #  000022 aa 000011 7350 00 43 als 9 shift to PCW position  000023 aa 777000 3750 03 44 ana =o777000,du mask channel # 000024 0a 000315 7550 00 45 sta tpcw+1 and set in PCW 46  000025 aa 012250 7020 00 47 tsx2 getprt get a printer channel 000026 0a 000312 7550 00 48 sta prtchanno  000027 aa 000011 7350 00 49 als 9  000030 0a 000323 5510 40 50 stba ppcw+1,40 000031 aa 000003 7350 00 51 als 12-9  000032 0a 000322 7510 20 52 stca ppcw,20  000033 0a 000324 7510 20 53 stca ptidcw,20 000034 0a 000325 7510 20 54 stca dpidcw,20 55  000035 aa 000000 6200 00 56 top: eax0 0 restart scan  000036 0a 000040 7100 00 57 tra *+2  58  000037 aa 000001 6200 10 59 next: eax0 1,0 go to next scan point  000040 0a 000303 2210 10 60 ldx1 bptr,0 get buffer pointer  000041 0a 000300 2270 10 61 ldx7 state,0  000042 aa 000000 7100 17 62 tra 0,7  63  000043 64 ttyrequest: 000043 0a 000043 6220 00 65 x2: eax2 * return to bos  000044 aa 000001 3350 07 66 lca =1,dl  000045 aa 7 00001 7101 12 67 tra mem|1,2  68 "  69  000046 0a 000300 7500 10 70 tape_w: stc2 state,0 set state 000047 0a 000037 7100 00 71 tra next  72  000050 0a 000252 2340 00 73 tapef: szn tbusy if tape channel not busy  000051 0a 000046 6010 00 74 tnz tape_w 000052 0a 000307 2340 10 75 szn active,0 and tape is up  000053 0a 000061 6010 00 76 tnz tpact  77  000054 aa 012274 7020 00 78 tsx2 check_status " Give it a chance to find special interrupts.  000055 0a 000311 000000 79 zero tpchanno  000056 0a 000046 7100 00 80 tra tape_w 000057 0a 000046 7100 00 81 tra tape_w " Bad status, ignore it.  000060 0a 000046 7100 00 82 tra tape_w " Not expecting status, ignore it. 83  000061 84 tpact:  000061 0a 000327 2340 11 85 szn filled,1 if buffer needs filling  000062 0a 000046 6010 00 86 tnz tape_w 87  000063 0a 000252 5540 00 88 stc1 tbusy start filling it  89  000064 0a 000331 2120 31 90 absa bufp,1* get address of buffer  000065 aa 000006 7350 00 91 als 6  000066 0a 000321 7510 70 92 stca tprdcw,70 set address in DCW 93  000067 0a 000253 4500 00 94 stz trys reset retry count  95  000070 0a 000173 7020 00 96 tpskip: tsx2 bb blank buffer  000071 aa 012272 7020 00 97 tsx2 connect_iom  000072 00 000314 000320 98 zero tpcw,tpidcw  99  000073 0a 000300 7500 10 100 tpwt: stc2 state,0 set state to waiting for io 000074 0a 000037 7100 00 101 tra next  102  000075 aa 012274 7020 00 103 tsx2 check_status  000076 0a 000311 000000 104 zero tpchanno  000077 0a 000037 7100 00 105 tra next  000100 0a 000102 7100 00 106 tra *+2 " Abnormal status.  000101 0a 000136 7100 00 107 tra tpdn " Good status.  108  000102 0a 000276 7570 00 109 staq tpstatus  110  000103 aa 177700 3750 03 111 ana =o177700,du " Major and substatus. 000104 aa 020200 1150 03 112 cmpa =o020200,du " No tape unit.  000105 0a 000170 6000 00 113 tze notape 000106 aa 020400 1150 03 114 cmpa =o020400,du " Unit standby.  000107 0a 000170 6000 00 115 tze notape 000110 aa 021000 1150 03 116 cmpa =o021000,du " Unit check. 000111 0a 000170 6000 00 117 tze notape 000112 aa 170000 3750 03 118 ana =o170000,du " Major status.  000113 aa 040000 1150 03 119 cmpa =o040000,du " EOF 000114 0a 000165 6000 00 120 tze eof  121  000115 0a 000253 0540 00 122 aos trys retry count  123  000116 0a 000253 2350 00 124 lda trys check for max  000117 aa 000012 1150 07 125 cmpa =10,dl  000120 0a 000132 6040 00 126 tmi tpretry  127  000121 aa 012241 7020 00 128 tsx2 erpt  000122 aa 027 164 141 160 129 acc 'tape error, status = ^w'  000123 aa 145 040 145 162 000124 aa 162 157 162 054 000125 aa 040 163 164 141 000126 aa 164 165 163 040 000127 aa 075 040 136 167 000130 0a 000276 0000 00 130 arg tpstatus  000131 0a 000070 7100 00 131 tra tpskip and skip record  132  000132 133 tpretry:  000132 0a 000173 7020 00 134 tsx2 bb  000133 aa 012272 7020 00 135 tsx2 connect_iom otherwise, retry  000134 00 000314 000317 136 zero tpcw,bsidcw  137  000135 0a 000073 7100 00 138 tra tpwt  139  000136 0a 000331 2270 11 140 tpdn: ldx7 bufp,1  000137 0a 000142 7470 00 141 stx7 d6d set descriptor addresses 000140 0a 000153 7470 00 142 stx7 d6e  143  000141 aa 000000 1654 00 144 tctr () scan backward for zeroes  000142 0a 000142 020264 145 d6d: desc6a *,30*6  000143 0a 000256 0000 00 146 arg tctable  000144 0a 000255 0000 00 147 arg tctally  148  000145 0a 000255 2350 00 149 lda tctally  000146 aa 000264 2360 07 150 ldq 30*6,dl  000147 0a 000255 1760 00 151 sbq tctally  000150 0a 000430 3760 00 152 anq =o77777777 length in QL  153  000151 aa 020046 1004 00 154 mlr (),(rl,ql),fill(20) pad with blanks  000152 0a 000152 020000 155 desc6a *,0 000153 0a 000153 020005 156 d6e: desc6a *,al  157  000154 aa 000005 0760 07 158 adq 5,dl round to nearest word  000155 aa 000006 5060 07 159 div 6,dl  000156 aa 000022 7360 00 160 qls 18 000157 0a 000305 7560 11 161 stq bufl,1 and save length  162  000160 0a 000327 5540 11 163 stc1 filled,1 if done, set filled switch  000161 aa 000001 6610 03 164 erx1 =1,du switch to the other buffer 000162 0a 000303 7410 10 165 stx1 bptr,0  000163 0a 000252 4500 00 166 stz tbusy  000164 0a 000061 7100 00 167 tra tpact 168  000165 169 eof:  000165 aa 012272 7020 00 170 tsx2 connect_iom  000166 00 000314 000316 171 zero tpcw,rwidcw  000167 0a 000043 7100 00 172 tra x2 173  174  000170 0a 000307 4500 10 175 notape: stz active,0  000171 0a 000252 4500 00 176 stz tbusy if no tape, wait for spec interupt  000172 0a 000046 7100 00 177 tra tape_w 178  179  000173 0a 000331 2270 11 180 bb: ldx7 bufp,1 000174 0a 000177 7470 00 181 stx7 d6c set descriptor address  182  000175 aa 000000 1004 00 183 mlr (),(),fill(0) clear buffer 000176 0a 000254 020006 184 desc6a fence,6 except first word  000177 0a 000177 020264 185 d6c: desc6a *,30*6  186  000200 aa 000000 7100 12 187 tra 0,2  188  189  190 "  000201 0a 000300 7500 10 191 prtw: stc2 state,0  000202 0a 000037 7100 00 192 tra next printer waiting for something to do  193  000203 194 prtf:  000203 0a 000327 2340 11 195 szn filled,1  000204 0a 000201 6000 00 196 tze prtw  197  000205 0a 000331 2120 31 198 prt1: absa bufp,1* get address of buffer  000206 aa 000006 7350 00 199 als 6  000207 0a 000326 7510 70 200 stca dpdcw,70 set DCW address 201  000210 0a 000305 2350 11 202 lda bufl,1 get length 000211 aa 000022 7710 00 203 arl 18 right-justify  000212 0a 000326 7510 03 204 stca dpdcw,03 set tally in DCW  205  000213 0a 000331 2350 31 206 lda bufp,1* get carriage control char 000214 aa 000062 2360 07 207 ldq =o62,dl double space  000215 aa 000036 7710 00 208 arl 30 000216 0a 000223 6000 00 209 tze sp 000217 aa 000063 2360 07 210 ldq =o63,dl top of page  000220 aa 000001 1150 07 211 cmpa =o1,dl  000221 0a 000223 6000 00 212 tze sp 000222 aa 000061 2360 07 213 ldq =o61,dl  214  000223 aa 000036 7360 00 215 sp: qls 30 fill into slew command  000224 0a 000324 7520 40 216 stcq ptidcw,40 " Device opcode.  217  000225 0a 000331 2270 11 218 ldx7 bufp,1 set up descriptors  000226 0a 000234 7470 00 219 stx7 d6a  000227 0a 000235 7470 00 220 stx7 d6b  000230 0a 000305 2360 11 221 ldq bufl,1 and length 000231 aa 000006 4020 07 222 mpy 6,dl  000232 aa 000001 1760 03 223 sbq 1,du not counting carriage control  000233 aa 000040 1014 40 224 mrl (rl),(rl) remove the carriage control 000234 0a 000234 120002 225 d6a: desc6a *(1),qu 000235 0a 000235 020002 226 d6b: desc6a *,qu  227  000236 aa 012272 7020 00 228 tsx2 connect_iom and connect at top  000237 00 000322 000324 229 zero ppcw,ptidcw  230  000240 0a 000300 7500 10 231 stc2 state,0 wait for print  000241 0a 000037 7100 00 232 tra next  233  000242 aa 012274 7020 00 234 tsx2 check_status  000243 0a 000312 0000 00 235 arg prtchanno  000244 0a 000037 7100 00 236 tra next  000245 0a 000205 7100 00 237 tra prt1 " Error, try again.  238  000246 0a 000327 4500 11 239 stz filled,1 let tape fill buffer 000247 aa 000001 6610 03 240 erx1 =1,du 000250 0a 000303 7410 10 241 stx1 bptr,0  000251 0a 000203 7100 00 242 tra prtf  243  244 "  000252 aa 000000 000000 245 tbusy: oct 0  000253 aa 000000 000000 246 trys: oct 0 000254 aa 777777 777777 247 fence: vfd 36/-1  000255 248 tctally: bss ,1 249  000256 aa 000001 001001 250 tctable: vfd 9/0,9/1,9/1,9/1,9/1,9/1,9/1,9/1  000257 aa 001001 001001 000260 aa 001001 001001 251 vfd 9/1,9/1,9/1,9/1,9/1,9/1,9/1,9/1  000261 aa 001001 001001 000262 aa 001001 001001 252 vfd 9/1,9/1,9/1,9/1,9/1,9/1,9/1,9/1  000263 aa 001001 001001 000264 aa 001001 001001 253 vfd 9/1,9/1,9/1,9/1,9/1,9/1,9/1,9/1  000265 aa 001001 001001 000266 aa 001001 001001 254 vfd 9/1,9/1,9/1,9/1,9/1,9/1,9/1,9/1  000267 aa 001001 001001 000270 aa 001001 001001 255 vfd 9/1,9/1,9/1,9/1,9/1,9/1,9/1,9/1  000271 aa 001001 001001 000272 aa 001001 001001 256 vfd 9/1,9/1,9/1,9/1,9/1,9/1,9/1,9/1  000273 aa 001001 001001 000274 aa 001001 001001 257 vfd 9/1,9/1,9/1,9/1,9/1,9/1,9/1,9/1  000275 aa 001001 001001 258  259 even  000276 aa 000000 000000 260 tpstatus: oct 0,0  000277 aa 000000 000000 261  000300 0a 000050 000000 262 state: zero tapef states  000301 0a 000203 000000 263 zero prtf  000302 0a 000035 000000 264 zero top go back to top  265  000303 aa 000000 000000 266 bptr: zero 0 buffer indexes  000304 aa 000000 000000 267 zero 0 268  000305 269 bufl: bss ,2  270  000307 aa 000000 000001 271 active: dec 1,1 all channels active  000310 aa 000000 000001 272  000311 aa 000000 010000 273 tpchanno: vfd 18/0,6/1  000312 aa 000000 000000 274 prtchanno:zero 0  275  000313 aa 000000 0110 03 276 even  000314 aa 400100 720201 277 tpcw: vfd o6/40,6/1,6/0,3/7,3/2,6/2,6/1 000315 aa 000000 000000 278 vfd 9/0  279  000316 aa 720100 700201 280 rwidcw: vfd o6/72,6/1,6/0,3/7,3/0,6/2,6/1 " Rewind/unload. 000317 aa 460100 720201 281 bsidcw: vfd o6/46,6/1,6/0,3/7,3/2,6/2,6/1 " Backspace record.  000320 aa 040100 700000 282 tpidcw: vfd o6/04,6/1,6/0,3/7,3/0,6/0,6/0 " Read BCD.  000321 aa 000000 000034 283 tprdcw: vfd 18/0,3/0,3/0,12/28 " IOTD, 28 words.  284  285 even  000322 aa 400000 720201 286 ppcw: vfd o6/40,6/0,6/0,3/7,3/2,6/2,6/1 000323 aa 000000 000000 287 vfd 9/0  288  000324 aa 000000 720201 289 ptidcw: vfd o6/0,6/0,6/0,3/7,3/2,6/2,6/1 " Slew (filled in later). 000325 aa 100000 700000 290 dpidcw: vfd o6/10,6/0,6/0,3/7,3/0,6/0,6/0 " Print. 000326 aa 000000 000033 291 dpdcw: vfd 18/0,6/0,12/27 " IOTD, 27 words.  292  293  000327 aa 000000 000000 294 filled: oct 0,0 000330 aa 000000 000000 000331 0a 000334 000000 295 bufp: zero b0 pointers to buffers  000332 0a 000372 000000 296 zero b1  297  000333 aa 000000 0110 03 298 even  000334 299 b0: bss ,30 buffers  000372 300 b1: bss ,30 301  302 include bos_tv 2-1 " 2-2 " Begin include file ...... bos_tv.incl.alm 2-3 " Created in November 1971 by N. I. Morris. 2-4 " Modified 9/9/76 by Noel I. Morris 2-5 " Modified by Sherman D. Sprague 02/11/81 for DPS8 support. 2-6 " Modified November 1981 by C. Hornig to remove iom_connect_rel.  2-7 " Modified January 1982 by J. Bongiovanni to add getport_info  2-8 " Modified May 1982 by Sherman D. Sprague to add getmpc.  2-9  2-10 " BOS Utility Package Transfer Vector.  2-11  012000 2-12 equ pagectl,utilorg  012001 2-13 equ line,pagectl+1 012040 2-14 equ arg,line+31  012060 2-15 equ darg,arg+arglen+1  012100 2-16 equ earg,darg+arglen+1 012120 2-17 equ fltscu,earg+arglen+1  2-18  012200 2-19 equ tv_org,utilorg+128 2-20  012200 2-21 equ scan,tv_org+0  012201 2-22 equ arg_count,tv_org+1 012202 2-23 equ nextline,tv_org+2  012203 2-24 equ nlraw,tv_org+3 012204 2-25 equ search,tv_org+4  012205 2-26 equ makefil,tv_org+5  012206 2-27 equ ldcom,tv_org+6 012207 2-28 equ getsec,tv_org+7  012210 2-29 equ cvinit,tv_org+8  012211 2-30 equ rdev,tv_org+9  012212 2-31 equ wdev,tv_org+10 012213 2-32 equ phybos,tv_org+11  012214 2-33 equ bosphy,tv_org+12  012215 2-34 equ phyadd,tv_org+13  012216 2-35 equ mulbos,tv_org+14  012217 2-36 equ bosmul,tv_org+15  012220 2-37 equ lookup_devmodel,tv_org+16  012221 2-38 equ makesdw,tv_org+17  012222 2-39 equ argbos,tv_org+18  012223 2-40 equ argmul,tv_org+19  012224 2-41 equ amdvt,tv_org+20  012225 2-42 equ amfirst,tv_org+21  012226 2-43 equ amlast,tv_org+22  012227 2-44 equ cvnamla,tv_org+23  012230 2-45 equ sect_per_cyl_list,tv_org+24  012231 2-46 equ sect_per_dev_list,tv_org+25  012232 2-47 equ rec_per_dev_list,tv_org+26 012233 2-48 equ amaxio,tv_org+27  012234 2-49 equ rdsec,tv_org+28  012235 2-50 equ wtsec,tv_org+29  012236 2-51 equ disk_brief,tv_org+30  012237 2-52 equ itaper,tv_org+31  012240 2-53 equ itapew,tv_org+32  012241 2-54 equ erpt,tv_org+33 012242 2-55 equ ercv,tv_org+34 012243 2-56 equ erbuf,tv_org+35  012244 2-57 equ type,tv_org+36 012245 2-58 equ ttyinit,tv_org+37  012246 2-59 equ readcd,tv_org+38  012247 2-60 equ readtty,tv_org+39  012250 2-61 equ getprt,tv_org+40  012251 2-62 equ punch,tv_org+41  012252 2-63 equ octwd,tv_org+42  012253 2-64 equ geas,tv_org+43 012254 2-65 equ geastab,tv_org+44  012255 2-66 equ asge,tv_org+45 012256 2-67 equ asgetab,tv_org+46  012257 2-68 equ ljust,tv_org+47  012260 2-69 equ rjust,tv_org+48  012261 2-70 equ bzel,tv_org+49 012262 2-71 equ stripa,tv_org+50  012263 2-72 equ stripg,tv_org+51  012264 2-73 equ getconf,tv_org+52  012265 2-74 equ getmore,tv_org+53  012266 2-75 equ getperiph,tv_org+54  012267 2-76 equ rdclock,tv_org+55  012270 2-77 equ cvclock,tv_org+56  012271 2-78 equ init_io,tv_org+57  012272 2-79 equ connect_iom,tv_org+58  012273 2-80 equ getmpc,tv_org+59  012274 2-81 equ check_status,tv_org+60 012275 2-82 equ get_special_interrupt,tv_org+61  012276 2-83 equ get_status_interrupt,tv_org+62 012277 2-84 equ xio_wait,tv_org+63 012300 2-85 equ initint,tv_org+64  012301 2-86 equ wantflt,tv_org+65  012302 2-87 equ intno,tv_org+66  012303 2-88 equ intrpts1,tv_org+67 012304 2-89 equ hexwd,tv_org+68  012305 2-90 equ find_disk,tv_org+69  012306 2-91 equ find_root,tv_org+70  012307 2-92 equ find_part,tv_org+71  012310 2-93 equ check_status_no_stat,tv_org+72 012311 2-94 equ check_special_status,tv_org+73 012312 2-95 equ check_cpu_type,tv_org+74  012313 2-96 equ getportinfo,tv_org+75  2-97  2-98 " End of include file ...... bos_tv.incl.alm  2-99  303 include bos_common 3-1 "  3-2 " Begin include file ...... bos_common.incl.alm 3-3 " Modified on 8/31/76 by N. I. Morris  3-4 " Modified on 9/01/80 by Sherman D. Sprague for DPS8 operation  3-5 " Modified on 5/26/82 by Sherman D. Sprague to lengthen config size 3-6 " Modified on 3/01/83 by Sherman D. Sprague to lengthen dirlen  3-7 " MACHINE CONDITIONS AREA  3-8 " Its length is "storlen". 3-9  000000 3-10 equ amptwregs,0 Ass. Mem PTW registers  000100 3-11 equ amptwptr,64 Ass. Mem PTW pointers 000200 3-12 equ amsdwregs,128 Ass. Mem SDW registers  000400 3-13 equ amsdwptr,256 Ass. Mem SDW pointers  000500 3-14 equ ouhist,320 operations hist regs  000700 3-15 equ cuhist,448 control unit hist regs  001100 3-16 equ eishist,576 eis hist regs  001300 3-17 equ aphist,704 appending unit hist regs  001500 3-18 equ prs,832 pointer regs  001520 3-19 equ regs,848 sreg 001530 3-20 equ low_order_port,856 port to read clock from 001532 3-21 equ mctime,858 bootload memory clock  001540 3-22 equ scu,864  001550 3-23 equ mcm,872 memory masks 8 ports 001570 3-24 equ dbr,888  001572 3-25 equ intrpts,890 waiting interrupts 001573 3-26 equ bar,891 bar  001574 3-27 equ modereg,892 processor & cache mode registers  001576 3-28 equ faultreg,894 processor fault register  001600 3-29 equ ptrlen,896 pointer-lengths EIS 0 mod 8 001610 3-30 equ coreblocks,904 array of port information  3-31 " Bits 0-17 => num 1st 64-word block  3-32 " Bits 18-35 => num of 64-word blocks  3-33 " (-1) => no mem on this port  001620 3-34 equ lowport_cfg,912 Saved CFG from bootload SCU  3-35  002000 3-36 equ storlen,1024  3-37  3-38  3-39  3-40 " BOS COMMAND DIRECTORY 3-41 " Its length is "dirlen".  3-42  002000 3-43 equ dir,1024 ( 0-23) => sector # of first sector on BOS disk  3-44 " (24-35) => # of sectors in BOS common  002001 3-45 equ used,dir+1 ( 0-23) => # of next available sector on BOS disk  002002 3-46 equ useable,dir+2 ( 0-23) => first unavailable sector on BOS disk  002003 3-47 equ corearea,dir+3 ( 0-23) => starting sector of Multics core image  3-48 " (24-35) => # of sectors in Multics core image  002004 3-49 equ setuparea,dir+4 Sector and length of setup 002005 3-50 equ utilarea,dir+5 where utility package is kept  002010 3-51 equ iom_mxbase,dir+8 IOM IMW area address  002011 3-52 equ iom_mbbase,dir+9 IOM mailbox base  002012 3-53 equ bos_dvt,dir+10 BOS disk loc: (o3/iom,o6/chn,o9/drive,o18/devtype)  002013 3-54 equ unitgroup,dir+11 disk unitgroup (device no. or area no.)  002014 3-55 equ diskchanno,dir+12 channel to be used for disk  002015 3-56 equ tapechanno,dir+13 channel # for tapes  002016 3-57 equ rdrchanno,dir+14 channel number for card reader  002017 3-58 equ ttychanno,dir+15 channel # for operator's tty  002020 3-59 equ quietsw,dir+16 if on, don't print card and macro commands  002021 3-60 equ inputsw,dir+17 read from tty, cards, macros  002022 3-61 equ macroloc,dir+18 disk addr, buffer index of macro file  002023 3-62 equ fdump_state,dir+19 completion flag for last FDUMP  002024 3-63 equ d355_state,dir+20 = 1 if DataNet 355 loaded successfully  002025 3-64 equ skipsw,dir+21 if on, skip runcom lines 002026 3-65 equ ttypmtsw,dir+22 if on, prompt  002027 3-66 equ curtcmd,dir+23 current bos command 002030 3-67 equ readysw,dir+24 if on, print ready message  002032 3-68 equ cmdlst,dir+26 list of commands 3-69  000600 3-70 equ dirlen,384 3-71  3-72  3-73  3-74 " MACRO BUFFER AREA 3-75  002600 3-76 equ macrobuf,dir+dirlen io buffer for macro files 002700 3-77 equ macroline,macrobuf+64 runcom command line 002716 3-78 equ macroargs,macroline+14 argument descriptors for runcom  3-79  3-80  3-81  3-82 " CONFIGURATION CARD AREA  3-83 " Its length is 2048 words.  3-84  003000 3-85 equ conf,macrobuf+128 start of configuration info  007000 3-86 equ econf,conf+2048 end of configuration info  000020 3-87 equ confl,16 length of each line  3-88  3-89  007000 3-90 equ seg6length,econf length of bos_common area segment 3-91  3-92 " End of include file ...... bos_common.incl.alm  3-93  304  305 end  LITERALS 000430 aa 000077 777777 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000431 5a 000003 000000 000432 5a 000017 600000 000433 aa 000000 000000 000434 55 000010 000002 000435 5a 000002 400003 000436 55 000006 000010 000437 aa 005 160 162 151 000440 aa 156 164 000 000 000441 55 000002 000003 000442 6a 000000 400002 000443 55 000013 000003 000444 aa 014 163 171 155 symbol_table  000445 aa 142 157 154 137 000446 aa 164 141 142 154 000447 aa 145 000 000 000 DEFINITIONS HASH TABLE  000450 aa 000000 000015 000451 aa 000000 000000 000452 aa 000000 000000 000453 aa 000000 000000 000454 aa 000000 000000 000455 aa 000000 000000 000456 aa 000000 000000 000457 5a 000010 000000 000460 aa 000000 000000 000461 aa 000000 000000 000462 aa 000000 000000 000463 aa 000000 000000 000464 aa 000000 000000 000465 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  000466 aa 000001 000000 000467 aa 000000 000000 INTERNAL EXPRESSION WORDS LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000431 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 230372 015766 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 000217 000020 aa 000000 000145 000021 aa 000000 000204 000022 aa 000207 000145 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 000004 000066 aa 000106 000026 000067 aa 122721 273075 000070 aa 000000 112272 000071 aa 216166 200000 000072 aa 000114 000040 000073 aa 113400 415301 000074 aa 000000 111341 000075 aa 220414 400000 000076 aa 000124 000040 000077 aa 110235 072677 000100 aa 000000 111024 000101 aa 524460 600000 000102 aa 000134 000044 000103 aa 121622 277475 000104 aa 000000 112162 000105 aa 321563 400000 000106 aa 076163 160145 >spec>h>3.17>print.alm  000107 aa 143076 150076 000110 aa 063056 061067 000111 aa 076160 162151 000112 aa 156164 056141 000113 aa 154155 040040 000114 aa 076154 144144 >ldd>bos>include>bosequ.incl.alm  000115 aa 076142 157163 000116 aa 076151 156143 000117 aa 154165 144145 000120 aa 076142 157163 000121 aa 145161 165056 000122 aa 151156 143154 000123 aa 056141 154155 000124 aa 076154 144144 >ldd>bos>include>bos_tv.incl.alm  000125 aa 076142 157163 000126 aa 076151 156143 000127 aa 154165 144145 000130 aa 076142 157163 000131 aa 137164 166056 000132 aa 151156 143154 000133 aa 056141 154155 000134 aa 076154 144144 >ldd>bos>include>bos_common.incl.alm  000135 aa 076142 157163 000136 aa 076151 156143 000137 aa 154165 144145 000140 aa 076142 157163 000141 aa 137143 157155 000142 aa 155157 156056 000143 aa 151156 143154 000144 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  307 active print: 75, 175, 271. 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. 12040 arg bos_tv: 14, 15.  12222 argbos bos_tv: 39. 17 arglen print: 28, bosequ: 17, bos_tv: 15, 16, 17. 12223 argmul bos_tv: 40. 12201 arg_count bos_tv: 22. 12255 asge bos_tv: 66. 12256 asgetab bos_tv: 67. 334 b0 print: 295, 299.  372 b1 print: 296, 300.  1573 bar bos_common: 26. 173 bb print: 96, 134, 180. 2 bf bosequ: 9. 12217 bosmul bos_tv: 36. 12214 bosphy bos_tv: 33. 2012 bos_dvt bos_common: 53. 303 bptr print: 60, 165, 241, 266.  317 bsidcw print: 136, 281.  305 bufl print: 161, 202, 221, 269.  331 bufp print: 90, 140, 180, 198, 206, 218, 295. 12261 bzel bos_tv: 70. 12312 check_cpu_type bos_tv: 95. 12311 check_special_status bos_tv: 94. 12274 check_status print: 78, 103, 234, bos_tv: 81. 12310 check_status_no_stat bos_tv: 93. 2032 cmdlst bos_common: 68. 6 com bosequ: 14. 3000 conf bos_common: 85, 86.  20 confl bos_common: 87. 12272 connect_iom print: 97, 135, 170, 228,  bos_tv: 79. 2003 corearea bos_common: 47. 1610 coreblocks bos_common: 30. 700 cuhist bos_common: 15. 2027 curtcmd bos_common: 66. 12270 cvclock bos_tv: 77. 12210 cvinit bos_tv: 29. 12227 cvnamla bos_tv: 44. 2024 d355_state bos_common: 63. 234 d6a print: 219, 225.  235 d6b print: 220, 226.  177 d6c print: 181, 185.  142 d6d print: 141, 145.  153 d6e print: 142, 156.  12060 darg bos_tv: 15, 16.  1570 dbr 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. 326 dpdcw print: 200, 204, 291. 325 dpidcw print: 54, 290.  0 ds bosequ: 7. 12100 earg bos_tv: 16, 17.  7000 econf bos_common: 86, 90.  1100 eishist bos_common: 16. 165 eof print: 120, 169.  12243 erbuf bos_tv: 56. 12242 ercv bos_tv: 55. 12241 erpt print: 128, bos_tv: 54. 1576 faultreg bos_common: 28. 2023 fdump_state bos_common: 62. 254 fence print: 184, 247.  5 fgb bosequ: 13. 327 filled print: 85, 163, 195, 239, 294. 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. 12253 geas bos_tv: 64. 12254 geastab bos_tv: 65. 12264 getconf bos_tv: 73. 12265 getmore bos_tv: 74. 12273 getmpc bos_tv: 80. 12266 getperiph bos_tv: 75. 12313 getportinfo bos_tv: 96. 12250 getprt print: 47, bos_tv: 61. 12207 getsec bos_tv: 28. 12275 get_special_interrupt bos_tv: 82. 12276 get_status_interrupt bos_tv: 83. 12304 hexwd bos_tv: 89. 12300 initint bos_tv: 85. 12271 init_io print: 21, bos_tv: 78. 2021 inputsw bos_common: 60. 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 print: 39, bos_tv: 52. 12240 itapew bos_tv: 53. 12206 ldcom bos_tv: 27. 12001 line bos_tv: 13, 14.  12257 ljust bos_tv: 68. 12220 lookup_devmodel bos_tv: 37. 1620 lowport_cfg bos_common: 34. 1530 low_order_port bos_common: 20. 2716 macroargs bos_common: 78. 2600 macrobuf bos_common: 76, 77, 85. 2700 macroline bos_common: 77, 78.  2022 macroloc bos_common: 61. 12205 makefil bos_tv: 26. 12221 makesdw bos_tv: 38. 1550 mcm bos_common: 23. 1532 mctime bos_common: 21. 7 mem print: 27, 28, 67, bosequ: 15. 1574 modereg bos_common: 27. 12216 mulbos bos_tv: 35. 37 next print: 59, 71, 101, 105, 192, 232, 236. 12202 nextline bos_tv: 23. 12203 nlraw bos_tv: 24. 170 notape print: 113, 115, 117, 175.  17 notapeno print: 29, 39.  12252 octwd bos_tv: 63. 500 ouhist bos_common: 14. 12000 pagectl bos_tv: 12, 13.  3 pgm bosequ: 10. 12215 phyadd bos_tv: 34. 12213 phybos bos_tv: 32. 322 ppcw print: 50, 52, 229, 286.  1500 prs bos_common: 18. 205 prt1 print: 198, 237.  312 prtchanno print: 48, 235, 274. 203 prtf print: 194, 242, 263. 201 prtw print: 191, 196.  324 ptidcw print: 53, 216, 229, 289.  1600 ptrlen bos_common: 29. 12251 punch bos_tv: 62. 2020 quietsw bos_common: 59. 12267 rdclock bos_tv: 76. 12211 rdev bos_tv: 30. 2016 rdrchanno bos_common: 57. 12234 rdsec bos_tv: 49. 12246 readcd bos_tv: 59. 12247 readtty bos_tv: 60. 2030 readysw bos_common: 67. 12232 rec_per_dev_list bos_tv: 47. 1520 regs bos_common: 19. 12260 rjust bos_tv: 69. 4000 runcom_bit bosequ: 19. 316 rwidcw print: 37, 171, 280. 12200 scan bos_tv: 21. 1540 scu bos_common: 22. 12204 search bos_tv: 25. 12230 sect_per_cyl_list bos_tv: 45. 12231 sect_per_dev_list bos_tv: 46. 7000 seg6length bos_common: 90. 2004 setuparea bos_common: 49. 2025 skipsw bos_common: 64. 223 sp print: 209, 212, 215. 300 state print: 61, 70, 100, 191, 231, 262.  2000 storlen bos_common: 36. 12262 stripa bos_tv: 71. 12263 stripg bos_tv: 72. 2015 tapechanno bos_common: 56. 50 tapef print: 73, 262.  46 tape_w print: 70, 74, 80, 81, 82, 86, 177. 252 tbusy print: 73, 88, 166, 176, 245. 256 tctable print: 146, 250.  255 tctally print: 147, 149, 151, 248.  1 tmp bosequ: 8. 35 top print: 56, 264.  61 tpact print: 76, 84, 167. 311 tpchanno print: 33, 40, 42, 79, 104, 273.  314 tpcw print: 35, 45, 98, 136, 171, 277.  136 tpdn print: 107, 140.  320 tpidcw print: 36, 98, 282. 321 tprdcw print: 92, 283.  132 tpretry print: 126, 133.  70 tpskip print: 96, 131.  276 tpstatus print: 109, 130, 260. 73 tpwt print: 100, 138.  253 trys print: 94, 122, 124, 246.  2017 ttychanno bos_common: 58. 12245 ttyinit print: 23, bos_tv: 58. 2026 ttypmtsw bos_common: 65. 43 ttyrequest print: 24, 64.  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 bos_tv: 57. 2013 unitgroup bos_common: 54. 2002 useable bos_common: 46. 2001 used bos_common: 45. 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 bos_tv: 50. 43 x2 print: 20, 26, 65, 172.  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