ASSEMBLY LISTING OF SEGMENT >spec>h>3.17>dmp355.alm ASSEMBLED ON: 11/29/83 1520.4 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 " ***********************************************************  6 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  7 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  8 "  9 "  10 " This is a bos command to dump the Data-Net 355. The 355 core image is 11 " read into a buffer, a block at a time and is dumped on the printer  12 " in octal, ibm bcd, and ascii, eight words per line. Prior to the dump,  13 " the registers at the time of the crash and the contents of the  14 " trace table are printed. This command takes one optional argument 15 " which is the character string "abs". If this argument is typed,  16 " no attempt will be made to print the registers or trace table, only  17 " the 355 memory. This is useful if the 355 being dumped contains  18 " something other than the standard 355 software or if the standard 19 " software has been badly munged making the trace table and fault register  20 " pointers invalid. 21 "  22 " Assigned Segment Numbers: 23 "  24 " Seg No. Use  25 "  26 " 0 Descriptor Segment  27 " 1 Scratch 28 " 3 Command 29 " 6 Common Data 30 " 7 Absolute Core  31 "  32 " Written by Dick Snyder Feb 17, 1972  33 " Modified for follow-on by Dick Snyder July, 1972  34 " Modified for MCS by Mike Grady Feb. 13, 1975  35 " Modified to run multiple 355s by Mike Grady Aug. 21, 1975 36 "  37 "  38 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  39 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  40  41  000000 42 name dmp355  43  44 " ******************************************************  45 " * *  46 " * *  47 " * Copyright (c) 1972 by Massachusetts Institute of *  48 " * Technology and Honeywell Information Systems, Inc. *  49 " * *  50 " * *  51 " ******************************************************  52  53 "  54 "  55 "  56 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  57 "  58 "  59 " equates and bools 60 "  61 "  001400 62 equ blocksz,768 size of blocks to read from 355  63 rem (must be <4096, mod 8 and >64)  000004 64 equ fltnum,4 offset in saved registers of fault number  000005 65 equ fltnam,5 offset in saved registers of fault name  66 "  67 " dn355 communication region symbols  68 "  000640 69 equ .crldt,416 date of loading 000642 70 equ .crltm,418 time of loading 000644 71 equ .crbdt,420 date of bootloading 000646 72 equ .crbtm,422 time of bootloading 000650 73 equ .crbuf,424 starting address of buffer area 000651 74 equ .crmem,425 last location of memory 000652 75 equ .crnbf,426 number of buffers available 000653 76 equ .criom,427 start of iom table  000654 77 equ .crnhs,428 number of hsla's configured 000655 78 equ .crnls,429 number of lsla's configured 000656 79 equ .cr27f,430 2741 terminals configured flag  000657 80 equ .crmod,431 starting address of first module  000660 81 equ .crltb,432 location of line number table  000661 82 equ .crtra,433 trace entry enable mask 000662 83 equ .crtrb,434 base address of trace table 000663 84 equ .crtrc,435 next available location in trace table  000664 85 equ .crreg,436 disaster fault register storage location  000665 86 equ .crsnp,437 datanet 355 memory snapshot flag  000666 87 equ .crspw,438 datanet 355 memory snapshot password  000670 88 equ .cr355,440 datanet 355 number  89 "  90 "  91 " 92 "  93 " init the BOS environment for this program 94 "  000000 0a 000616 7420 00 95 stx2 x2 save x2 for return to bos 000001 aa 012271 7020 00 96 tsx2 init_io init iom 97  000002 aa 012300 7020 00 98 tsx2 initint init for interrupts  000003 0a 000616 0000 00 99 arg ttyrequest here on execute fault  100  000004 aa 012245 7020 00 101 tsx2 ttyinit init for tty interrupts from req button  000005 0a 000616 0000 00 102 arg ttyrequest 103  000006 0a 003474 2350 00 104 lda =h ptpkg  000007 aa 006000 6360 00 105 eaq pt_org load the print package 000010 aa 012206 7020 00 106 tsx2 ldcom 000011 0a 000616 7100 00 107 tra x2 108  000012 aa 020000 1004 00 109 mlr (),(),fill(20) move the header into line  000013 0a 000706 020030 110 desc6a header,header_lth  000014 aa 006016 020030 111 desc6a pthdr,header_lth  112  000015 aa 012267 7020 00 113 tsx2 rdclock get clock reading in dump header 000016 aa 006022 7550 00 114 sta pthdr+4  000017 aa 006023 7560 00 115 stq pthdr+5  116  000020 aa 000052 2360 07 117 ldq header_lth+18,dl get offset of where to put command line  118 "  119 " process the arguments to this command 120 "  000021 0a 000616 2220 00 121 ldx2 x2 restore x2  000022 aa 7 00000 7201 12 122 lxl0 mem|0,2 get addr of command line 000023 aa 000004 7400 04 123 stx0 4,ic put addr of command into descriptor 000024 aa 700000 2350 03 124 lda =o700000,du or in pointer reg 7  000025 aa 000002 2550 04 125 orsa 2,ic into the descriptor 000026 aa 0 20006 1005 00 126 mlr (pr),(ql),fill(20) move the command line in  000027 aa 000000 020110 127 desc6a 0,72  000030 aa 006016 020110 128 desc6a pthdr,72  129  000031 aa 006000 7020 00 130 tsx2 printon  131 " 132  000032 0a 000616 2220 00 133 ldx2 x2 restore x2  000033 aa 7 00000 2201 12 134 ldx0 mem|0,2 get addr of possible arg 000034 0a 000674 0540 00 135 aos all_sw default case  000035 aa 7 00001 2351 10 136 argloop: lda mem|1,0 get arg 1 000036 0a 003475 1150 00 137 cmpa =-1 -1 if no arg supplied  000037 0a 000105 6000 00 138 tze print_header normal dump  139  000040 0a 003476 1150 00 140 cmpa =h abs arg = "abs" ??  000041 0a 000045 6010 00 141 tnz notabs no 000042 0a 000673 7500 00 142 stc2 abssw 000043 aa 000001 6200 10 143 eax0 1,0 step to next arg 000044 0a 000035 7100 00 144 tra argloop  145  000045 0a 003477 1150 00 146 notabs: cmpa =h tape tape specified?  000046 0a 000056 6010 00 147 tnz nottape  000047 aa 7 00002 2351 10 148 lda mem|2,0 get tape #  000050 aa 012041 7550 00 149 sta arg+1  000051 0a 000053 6044 00 150 tmoz *+2  000052 aa 000001 6200 10 151 eax0 1,0 skip over argument  152  000053 aa 006001 7020 00 153 tsx2 tapeon  000054 aa 000001 6200 10 154 eax0 1,0 step over argument  000055 0a 000035 7100 00 155 tra argloop  156  000056 157 nottape:  000056 aa 000000 2360 07 158 ldq 0,dl zero q  000057 aa 000006 7730 00 159 lrl 6 drop char into high q  000060 0a 003500 1150 00 160 cmpa =o002020202020 is the rest blank? 000061 0a 000075 6010 00 161 tnz argerr 000062 0a 000065 7560 00 162 stq *+3 drop into scm 000063 aa 000003 1244 00 163 scm (),(du),mask(0) look for one of the 355 nums (a, b, c, d)  000064 0a 000700 020004 164 desc6a which_list,max_no_355s look in list 000065 aa 000000 0000 00 165 arg 0  000066 0a 000675 0000 00 166 arg which_355 this is the info we want  167  000067 0a 000075 6064 00 168 ttn argerr not in list, bad  000070 0a 000675 0540 00 169 aos which_355 bump up by one  000071 aa 000001 6200 10 170 eax0 1,0 next arg 000072 0a 000674 4500 00 171 stz all_sw not all anymore  000073 0a 002070 0540 00 172 aos conf355err turn on error processing in conf355 000074 0a 000035 7100 00 173 tra argloop  174  000075 175 argerr: 000075 aa 012241 7020 00 176 tsx2 erpt indicate error to typist  000076 aa 025 165 156 162 177 acc 'unrecognized argument'  000077 aa 145 143 157 147 000100 aa 156 151 172 145 000101 aa 144 040 141 162 000102 aa 147 165 155 145 000103 aa 156 164 000 000 000104 0a 000616 7100 00 178 tra exit return to bos  179 "  000105 180 print_header:  000105 0a 000675 2350 00 181 lda which_355 get 355 number wanted  000106 0a 001765 7020 00 182 tsx2 conf355 get config info for it  000107 0a 000607 7100 00 183 tra next_355 none, what to do 184  000110 0a 001616 4500 00 185 stz d355addr reset dump addr  000111 0a 000701 4500 00 186 stz ic_355 reset printed location counter 000112 0a 000673 2340 00 187 szn abssw abs mode?  000113 0a 000116 6000 00 188 tze *+3 no, dont need this  000114 aa 100000 2350 07 189 lda 32768,dl get 32k  000115 0a 001617 7550 00 190 sta d355core  191  000116 aa 000122 2360 07 192 ldq header_lth+18+40,dl point to nice place in header line 000117 aa 020006 1004 00 193 mlr (),(ql),fill(20) move in which dump this is  000120 0a 000676 020014 194 desc6a which_desc,whichdlen  000121 aa 006016 020014 195 desc6a pthdr,whichdlen 196  000122 aa 000014 0760 07 197 adq whichdlen,dl bump past there  000123 0a 000675 2350 00 198 lda which_355 amount of which 355 this is 000124 aa 020006 1004 05 199 mlr (al),(ql),fill(20) move in 355 number  000125 0a 000677 520001 200 desc6a which_list-1(5),1  000126 aa 006016 020001 201 desc6a pthdr,1 202  000127 aa 006004 7020 00 203 tsx2 headform  204  000130 aa 006003 7020 00 205 tsx2 space space fill buffer  000131 aa 006005 7020 00 206 tsx2 print 000132 aa 006005 7020 00 207 tsx2 print 208  209  210  211 " 212 "  213 "  214 " read in the 355 communication region and save pointer to trace info and registers 215 "  216 "  000133 217 read_com:  000133 0a 000673 2340 00 218 szn abssw abs dump?  000134 0a 000514 6010 00 219 tnz blk_loop if so, skip trace info  220  000135 0a 001706 7020 00 221 tsx2 read_355_words get 355 common region  000136 0a 002073 0000 00 222 arg indword  000137 aa 000640 000100 223 zero .crldt,64 000140 aa 000664 2350 03 224 lda .crreg,du get addr of registers pointer  000141 aa 000640 1750 03 225 sba .crldt,du rel to the read 000142 0a 001621 7020 00 226 tsx2 fetch get the registers pointer  000143 0a 000621 7550 00 227 sta registers save addr of registers  000144 aa 000662 2350 03 228 lda .crtrb,du get addr of trace base  000145 aa 000640 1750 03 229 sba .crldt,du relative  000146 0a 001621 7020 00 230 tsx2 fetch 000147 0a 000622 7550 00 231 sta trace_base save as trace base  000150 aa 000663 2350 03 232 lda .crtrc,du get offset of trace current ptr 000151 aa 000640 1750 03 233 sba .crldt,du relative  000152 0a 001621 7020 00 234 tsx2 fetch 000153 0a 000623 7550 00 235 sta trace_cur save as trace current ptr  000154 aa 000657 2350 03 236 lda .crmod,du get module chain start addr 000155 aa 000640 1750 03 237 sba .crldt,du relative to base  000156 0a 001621 7020 00 238 tsx2 fetch get the word  000157 0a 000734 7550 00 239 sta modchn 000160 aa 000651 2350 03 240 lda .crmem,du get last mem loc address  000161 aa 000640 1750 03 241 sba .crldt,du rel to the read 000162 0a 001621 7020 00 242 tsx2 fetch get memory size  000163 aa 000022 7710 00 243 arl 18 right justify  000164 aa 000001 0750 07 244 ada 1,dl convert to last memory loc  000165 0a 001617 7550 00 245 sta d355core  000166 aa 100000 1150 07 246 cmpa 32768,dl test for legal size 000167 0a 000172 6040 00 247 tmi *+3 it is 000170 aa 100000 2350 07 248 lda 32768,dl not legal, guess at 32K  000171 0a 001617 7550 00 249 sta d355core  250 " 251 "  252 "  253 " read registers from 355 and put on printer  254 "  255 "  000172 aa 020000 1004 00 256 mlr (),(),fill(20) move in header of register names  000173 0a 000712 020123 257 desc6a reg_names,reg_nml  000174 aa 012001 020123 258 desc6a line,reg_nml  000175 aa 006005 7020 00 259 tsx2 print print the header line now  000176 aa 006003 7020 00 260 tsx2 space 000177 0a 000621 2240 00 261 ldx4 registers get addr of registers  000200 0a 000305 6040 00 262 tmi tr_prt minus, try to print trace table  000201 aa 100000 1040 03 263 cmpx4 32768,du test for legal regs address  000202 0a 000305 6050 00 264 tpl tr_prt bad, try to print trace table  000203 0a 000206 7440 00 265 stx4 *+3  000204 0a 001706 7020 00 266 tsx2 read_355_words read 5 36-bit words  000205 0a 002073 0000 00 267 arg indword  000206 0a 000206 000005 268 zero *,5  000207 0a 000702 2350 00 269 lda prtally_model  000210 0a 000704 7550 00 270 sta prtally  000211 0a 002074 6250 00 271 eax5 buffer point to buffer  000212 aa 000004 2350 15 272 lda fltnum,5 get fault number 000213 aa 777770 3150 07 273 cana =o777770,dl processor fault?  000214 aa 000003 6000 04 274 tze 3,ic yes  000215 0a 003501 2350 00 275 lda =habort " get "abort" message 000216 aa 000002 7100 04 276 tra 2,ic  000217 0a 003502 2350 00 277 lda =hfault " get "fault" message 000220 aa 012001 7550 00 278 sta line put crump reason in printer buffer  000221 aa 000004 2350 15 279 lda fltnum,5 get the fault number 000222 aa 777777 3750 07 280 ana =o777777,dl leave only the fault number  000223 aa 000044 7730 00 281 lrl 36 put result in q  000224 aa 000022 4020 07 282 mpy 3*6,dl multiply by 3*6  000225 aa 020000 1004 06 283 mlr (ql),(),fill(20) move fault name into line 000226 0a 000735 020022 284 desc6a fault_names,18  000227 aa 012002 020022 285 desc6a line+1,18  000230 aa 012005 6240 00 286 eax4 line+4 get addr of where to store regs  000231 0a 000704 7440 00 287 stx4 prtally put in print buffer tally word  000232 0a 002074 6250 00 288 eax5 buffer point to data to be dumped  000233 aa 000011 2260 03 289 ldx6 =o11,du get number of words to dump  000234 0a 001633 7020 00 290 tsx2 dump_oct dump registers in octal 000235 aa 006005 7020 00 291 tsx2 print print the line 000236 aa 006003 7020 00 292 tsx2 space space fill the print line  000237 aa 006005 7020 00 293 tsx2 print 000240 aa 006005 7020 00 294 tsx2 print 295 " 296 "  297 "  298 " print the module chain  299 "  300 "  000241 aa 020000 1004 00 301 mlr (),(),fill(20) move the header line in 000242 0a 000732 020014 302 desc6a modchn_nm,12  000243 aa 012001 020014 303 desc6a line,12 000244 aa 006005 7020 00 304 tsx2 print 000245 aa 006003 7020 00 305 tsx2 space 306  000246 0a 000734 2240 00 307 ldx4 modchn get address of start of module chain  000247 aa 000003 7440 04 308 mod_loop: stx4 3,ic put where we need it  000250 0a 001706 7020 00 309 tsx2 read_355_words read in the next module chain  000251 0a 002073 0000 00 310 arg indword  000252 0a 000252 000002 311 zero *,2 two 36 bit words 312  000253 aa 000000 6350 00 313 eaa 0 get zero offset 000254 0a 001621 7020 00 314 tsx2 fetch get the word pointing to next chain  000255 aa 000000 6240 01 315 eax4 0,au put into x4 316  000256 aa 000001 6350 00 317 eaa 1 get next word of chain  000257 0a 001621 7020 00 318 tsx2 fetch first 6 chars of name  000260 aa 012002 7550 00 319 sta line+1 put into line  000261 aa 000002 6350 00 320 eaa 2 other 3 000262 0a 001621 7020 00 321 tsx2 fetch 000263 aa 000000 6220 01 322 eax2 0,au put into index reg  000264 aa 012002 4420 00 323 sxl2 line+1 store lower, not messing up upper 324  000265 aa 000003 6350 00 325 eaa 3 get module addr word  000266 0a 001621 7020 00 326 tsx2 fetch put in au  000267 0a 000650 7550 00 327 sta tp.t1 save in temp  000270 0a 000650 6250 00 328 eax5 tp.t1 get addr of temp word  000271 aa 000001 6260 00 329 eax6 1 one 355 word to dump  000272 0a 000702 2350 00 330 lda prtally_model  000273 0a 000704 7550 00 331 sta prtally  000274 aa 012003 6220 00 332 eax2 line+2 where to put word 000275 0a 000704 7420 00 333 stx2 prtally  000276 0a 001633 7020 00 334 tsx2 dump_oct dump it into line  335  000277 aa 006005 7020 00 336 tsx2 print print the line 000300 aa 006003 7020 00 337 tsx2 space 000301 aa 000000 1040 03 338 cmpx4 0,du 000302 0a 000247 6010 00 339 tnz mod_loop do more stuff  340  000303 aa 006005 7020 00 341 tsx2 print 000304 aa 006005 7020 00 342 tsx2 print 343 " 344 "  345 "  346 " setup to print contents of trace table  347 "  348 "  000305 349 tr_prt: null  000305 0a 000623 2210 00 350 ldx1 trace_cur get trace table current pointer  000306 0a 000510 6040 00 351 tmi trace_space minus, print core  000307 aa 100000 1010 03 352 cmpx1 32768,du test for legal address 000310 0a 000510 6050 00 353 tpl trace_space it isn't, go print core  000311 0a 000622 2240 00 354 ldx4 trace_base get trace table base  000312 0a 000510 6040 00 355 tmi trace_space minus, print core  000313 aa 100000 1040 03 356 cmpx4 32768,du test for legal address 000314 0a 000510 6050 00 357 tpl trace_space bad, print core  000315 0a 000320 7440 00 358 stx4 *+3  000316 0a 001706 7020 00 359 tsx2 read_355_words read max no of words  000317 0a 002073 0000 00 360 arg indword  000320 0a 000320 001400 361 zero *,blocksz 000321 aa 006003 7020 00 362 tsx2 space space fill line and set up printer buffer tally word  000322 0a 001671 5540 00 363 stc1 noblank tell dump_oct not to put in blank  364  000323 0a 001706 7020 00 365 tsx2 read_355_words now! read in the trace ptr words  000324 0a 000730 0000 00 366 arg indwd2 000325 aa 000662 000001 367 zero .crtrb,1 only one 36 bit word needed 000326 0a 000731 2350 00 368 lda tracewds get the tracebase  000327 aa 777777 3750 03 369 ana =o777777,du only that  000330 0a 000622 7550 00 370 sta trace_base save it 000331 0a 000731 2350 00 371 lda tracewds get the other 355 word  000332 aa 000022 7350 00 372 als 18 the trace current ptr  000333 0a 000623 7550 00 373 sta trace_cur  374 " 375 "  376 "  377 " loop through trace table printing the entries 378 "  379 "  000334 0a 000623 2350 00 380 lda trace_cur get ptr to oldest trace entry  000335 0a 000622 1750 00 381 sba trace_base relative to point read in  000336 aa 000000 6210 01 382 eax1 0,au put result into x1  000337 aa 000000 6350 11 383 tp.a: eaa 0,1 get point to entry into au  000340 0a 001621 7020 00 384 tsx2 fetch get word at that addr into au  000341 aa 525252 1150 03 385 cmpa =o525252,du is it end of table marker?  000342 0a 000510 6000 00 386 tze trace_space yes, all done  000343 aa 525250 1150 03 387 cmpa =o525250,du last entry in table?  000344 0a 000347 6010 00 388 tnz tp.b no, continue 000345 aa 000000 6210 00 389 eax1 0 set pointers back to base  000346 0a 000337 7100 00 390 tra tp.a go for more data 391  000347 0a 000650 7550 00 392 tp.b: sta tp.t1 save the entry header word 000350 aa 000077 3750 03 393 ana =o77,du save only length of entry for now 000351 aa 000001 0750 03 394 ada 1,du add one for time word  000352 0a 000651 7550 00 395 sta tp.t2 save this length also  000353 aa 000024 1150 03 396 cmpa 20,du more than 20 trace words  000354 0a 000373 6040 00 397 tmi tp.b0 no, process as usual  398  000355 0a 000662 7530 00 399 sreg sv_regs save regs around erpt  000356 aa 012241 7020 00 400 tsx2 erpt print warning  000357 aa 051 155 157 162 401 acc "more than 20 words of trace data, ignored"  000360 aa 145 040 164 150 000361 aa 141 156 040 062 000362 aa 060 040 167 157 000363 aa 162 144 163 040 000364 aa 157 146 040 164 000365 aa 162 141 143 145 000366 aa 040 144 141 164 000367 aa 141 054 040 151 000370 aa 147 156 157 162 000371 aa 145 144 000 000 000372 0a 000662 0730 00 402 lreg sv_regs  403  000373 aa 000001 6230 11 404 tp.b0: eax3 1,1 point x3 at the entry data 000374 aa 000000 6240 01 405 eax4 0,au get number of words to dump into x4 000375 0a 000703 2350 00 406 lda prtally_model2 get the tally model 000376 0a 000704 7550 00 407 sta prtally put into the tally word  408  000377 aa 000000 6350 13 409 tp.b1: eaa 0,3 get address of this entry word in au  000400 0a 001621 7020 00 410 tsx2 fetch get the word into au  000401 0a 000652 7550 00 411 sta tp.t3 save it in temp 000402 0a 000652 6250 00 412 eax5 tp.t3 get addr of temp  000403 aa 000001 6260 00 413 eax6 1 number of 355 words to dump  000404 0a 001633 7020 00 414 tsx2 dump_oct dump word into trace_data  000405 aa 000001 6230 13 415 eax3 1,3 bump up the entry word addr  000406 aa 777777 6240 14 416 eax4 -1,4 decrement the count 000407 0a 000377 6010 00 417 tnz tp.b1 loop for more  418  000410 0a 000624 2350 00 419 lda trace_data get the converted trace time  000411 aa 012001 7550 00 420 sta line put into the print line  000412 aa 200000 2350 03 421 lda =o200000,du get a bcd blank  000413 aa 012002 7550 00 422 sta line+1 put into line also 423  000414 0a 000650 2350 00 424 lda tp.t1 get the entry header word again 000415 aa 000014 7710 00 425 arl 12 leave only the module number  000416 aa 000077 3750 03 426 ana =o77,du I said only that. 000417 aa 000001 1750 03 427 sba 1,du decrement by one for addressing  000420 0a 000776 2240 01 428 ldx4 modtab,au get addr of correct list  000421 0a 000650 2350 00 429 lda tp.t1 get entry header again  000422 aa 000006 7710 00 430 arl 6  000423 aa 000077 3750 03 431 ana =o77,du get only trace type  000424 aa 000001 1750 03 432 sba 1,du decrement by one 000425 0a 000652 7550 00 433 sta tp.t3 put into temp  000426 0a 000652 0640 00 434 adx4 tp.t3 add in to get offset of message  000427 aa 000000 2240 14 435 ldx4 0,4 get addr of trace message  436  000430 aa 000000 7250 14 437 lxl5 0,4 get the length of the message  000431 aa 000001 6240 14 438 eax4 1,4 get addr of actual message  000432 aa 000002 7440 04 439 stx4 2,ic put addr into first descriptor  440  000433 aa 020040 1004 40 441 mlr (rl),(rl),fill(20) move message into print line  000434 aa 000000 020015 442 desc6a 0,x5 from actual message for x5 chars  000435 aa 012002 120015 443 desc6a line+1(1),x5 to line plus one, 1 char offset  444  000436 aa 000006 6230 00 445 eax3 6 get offset of first trace datum  000437 aa 000000 6260 00 446 eax6 0 set initial print line offset to zero  000440 aa 000000 1644 56 447 tp.c: tct (rl,x6) scan the line for *'s  000441 aa 012002 120015 448 desc6a line+1(1),x5 scan the print line length x5  000442 0a 001533 0000 00 449 arg tct_tbl1 using tct_table number one  000443 0a 000653 0000 00 450 arg star_offset put offset of first star here  451  000444 0a 000503 6064 00 452 ttn tp.d no more stars, all done  453  000445 0a 000653 2350 00 454 lda star_offset fix up offset to add to x6 000446 aa 000022 7350 00 455 als 18 000447 0a 000653 7550 00 456 sta star_offset  000450 0a 000653 0660 00 457 adx6 star_offset pick up the offset  000451 aa 000000 6350 15 458 eaa 0,x5 get the length into au  000452 aa 000022 7710 00 459 arl 18 down to al 000453 0a 000653 1750 00 460 sba star_offset subtract offset  000454 aa 000000 6250 05 461 eax5 0,al put new length into x5  462  000455 aa 000000 1644 56 463 tct (rl,x6) scan until we run out of stars  000456 aa 012002 120015 464 desc6a line+1(1),x5 scan remaing print line  000457 0a 001553 0000 00 465 arg tct_tbl2 use other table  000460 0a 000654 0000 00 466 arg star_len put length here  467  000461 aa 777777 2350 07 468 lda =o777777,dl get mask to leave only count  000462 0a 000654 3550 00 469 ansa star_len  000463 aa 000006 2350 07 470 lda 6,dl get count of 6  000464 0a 000654 1750 00 471 sba star_len get actual length of stars  000465 aa 000022 7350 00 472 als 18 shift up to au 000466 0a 000652 7550 00 473 sta tp.t3 put into temp  000467 0a 000652 0630 00 474 adx3 tp.t3 add to x3, skipping unwanted digits  000470 0a 000654 2350 00 475 lda star_len  000471 aa 020056 1004 53 476 mlr (rl,x3),(rl,x6),fill(20) move trace data into print line  000472 0a 000624 020005 477 desc6a trace_data,al  000473 aa 012002 120005 478 desc6a line+1(1),al  479  000474 0a 000654 2350 00 480 lda star_len get number of digits output  000475 aa 000022 7350 00 481 als 18 shift over into au 000476 0a 000652 7550 00 482 sta tp.t3 put into temp  000477 0a 000652 0660 00 483 adx6 tp.t3 add onto offset, advancing msg ptr 000500 0a 000652 0630 00 484 adx3 tp.t3 bump over rest of trace data word  000501 0a 000652 1650 00 485 sbx5 tp.t3 decrement length  000502 0a 000440 6010 00 486 tnz tp.c loop if more string left 487  000503 aa 006005 7020 00 488 tp.d: tsx2 print print the trace message  000504 aa 006003 7020 00 489 tsx2 space space fill the line  490  000505 aa 000001 6210 11 491 eax1 1,1 bump over entry header  000506 0a 000651 0610 00 492 adx1 tp.t2 add count value  000507 0a 000337 7100 00 493 tra tp.a go do more trace entries 494  000510 495 trace_space:  000510 aa 006003 7020 00 496 tsx2 space space fill line  000511 aa 006005 7020 00 497 tsx2 print put out some space after trace 000512 aa 006005 7020 00 498 tsx2 print *  000513 0a 001671 4500 00 499 stz noblank zero the noblank switch  500 " 501 "  502 "  503 " come here when ready to dump core 504 "  505 "  000514 506 blk_loop: null  000514 0a 001573 7020 00 507 tsx2 getblock read a block of 355 core  000515 0a 002074 6210 00 508 eax1 buffer get starting addr 000516 aa 006003 7020 00 509 tsx2 space space fill line  000517 510 ck_dup: null  000517 aa 000000 2370 11 511 ldaq 0,1 check for dup of 8 words 000520 0a 000656 1170 00 512 cmpaq dupline *  000521 0a 000527 6010 00 513 tnz no_dup no 000522 aa 000002 2370 11 514 ldaq 2,1 *  000523 0a 000660 1170 00 515 cmpaq dupline+2  000524 0a 000527 6010 00 516 tnz no_dup no 000525 0a 000672 0540 00 517 aos dupsw remember this  000526 0a 000573 7100 00 518 tra nxtline  000527 519 no_dup: null  000527 aa 000000 2370 11 520 ldaq 0,1 save 8 words for dup test  000530 0a 000656 7570 00 521 staq dupline  000531 aa 000002 2370 11 522 ldaq 2,1  000532 0a 000660 7570 00 523 staq dupline+2 000533 0a 000672 2340 00 524 szn dupsw have we skipped dup line?  000534 0a 000542 6000 00 525 tze nodupsw no  000535 0a 000672 4500 00 526 stz dupsw yes, clear sw  000536 aa 205420 2350 03 527 lda =o205420,du get "*"  000537 aa 012001 7510 70 528 stca line,70 store in printer buffer  000540 aa 006005 7020 00 529 tsx2 print print the line 000541 aa 006003 7020 00 530 tsx2 space space fill print image again  000542 531 nodupsw: null  000542 0a 000702 2350 00 532 lda prtally_model  000543 0a 000704 7550 00 533 sta prtally  000544 aa 000020 2350 07 534 lda =o20,dl get a blakn  000545 0a 000704 7550 52 535 sta prtally,sc store 4 blanks in front of print line  000546 0a 000704 7550 52 536 sta prtally,sc 000547 0a 000704 7550 52 537 sta prtally,sc 000550 0a 000704 7550 52 538 sta prtally,sc 000551 0a 000701 6250 00 539 eax5 ic_355 get 355 instruction counter  000552 aa 000001 2260 03 540 ldx6 1,du dump 1 word 000553 0a 001633 7020 00 541 tsx2 dump_oct do it  000554 aa 000020 2350 07 542 lda =o20,dl get a blank  000555 0a 000704 7550 52 543 sta prtally,sc put extra blank in after ic 000556 aa 000000 6250 11 544 eax5 0,1 get pointer to words to dump 000557 aa 000010 2260 03 545 ldx6 8,du dump 8 words  000560 0a 001633 7020 00 546 tsx2 dump_oct convert to bcd  000561 aa 000020 2350 07 547 lda =o20,dl get a blank  000562 0a 000704 7550 52 548 sta prtally,sc put some blanks in print line  000563 0a 000704 7550 52 549 sta prtally,sc *  000564 0a 000704 7550 52 550 sta prtally,sc *  000565 0a 000704 7550 52 551 sta prtally,sc *  000566 aa 000000 6250 11 552 eax5 0,1 get pointer to buffer  000567 aa 000010 2260 03 553 ldx6 8,du dump eight words  000570 0a 001672 7020 00 554 tsx2 dump_ascii in ascii  000571 aa 006005 7020 00 555 tsx2 print print the line 000572 aa 006003 7020 00 556 tsx2 space and space fill buffer  000573 557 nxtline: null  000573 aa 000010 2350 03 558 lda 8,du get ready to increment ic  000574 0a 000701 0550 00 559 asa ic_355 do it  000575 aa 000004 0610 03 560 adx1 4,du bump buffer pointer 000576 0a 001620 2350 00 561 lda read get number of 355 words read 000577 aa 000010 1750 07 562 sba 8,dl decrement  000600 0a 001620 7550 00 563 sta read  000601 aa 000000 1150 07 564 cmpa 0,dl see if <=0 words left  000602 0a 000605 6000 00 565 tze *+3  000603 0a 000605 6040 00 566 tmi *+2  000604 0a 000517 7100 00 567 tra ck_dup positive number of words left  000605 0a 001617 2340 00 568 szn d355core any more in 355 left to dump?  000606 0a 000514 6010 00 569 tnz blk_loop yes, get a new block 570  000607 571 next_355:  000607 0a 000674 2340 00 572 szn all_sw are we doing all?  000610 0a 000615 6000 00 573 tze donedmp no  000611 0a 000675 2350 00 574 lda which_355 get which one last done 000612 0a 000675 0540 00 575 aos which_355 bump  000613 aa 000004 1150 07 576 cmpa max_no_355s,dl last one?  000614 0a 000105 6010 00 577 tnz print_header no, loop  000615 578 donedmp:  579 " 580 "  581 "  582 " eject paper at end of dump  583 "  584 "  000615 aa 006002 7020 00 585 tsx2 wteof 586 "  587 "  588 " come here to exit from dmp355 or if tty request button is pressed 589 "  590 "  000616 591 ttyrequest: 000616 592 exit: null  000616 aa 000000 6220 00 593 x2: eax2 0 restore x2  000617 0a 003475 2350 00 594 lda =-1 no return arguments  000620 aa 7 00001 7101 12 595 tra mem|1,2 RTB  596 " 597 "  598 "  599 " Constants 600 "  601 "  000621 602 registers:  000621 aa 000000 000000 603 oct 0 addr of registers  000622 604 trace_base: 000622 aa 000000 000000 605 oct 0 base of trace table addr  000623 606 trace_cur:  000623 aa 000000 000000 607 oct 0 current entry in trace table  000624 608 bss trace_data,20 place to convert the trace data  609 even  000650 aa 000000 000000 610 tp.t1: oct 0 temp  000651 aa 000000 000000 611 tp.t2: oct 0 temp  000652 aa 000000 000000 612 tp.t3: oct 0 temp  613  000653 614 star_offset:  000653 615 bss ,1 000654 616 star_len: bss ,1  000655 aa 000000 0110 03 617 even  000656 618 bss dupline,4 last eight words printed  000662 619 bss sv_regs,8  000672 aa 000000 000000 620 dupsw: oct 0 controls duplicate line suppression  000673 aa 000000 000000 621 abssw: oct 0 controls absolute dumping 000674 aa 000000 000000 622 all_sw: oct 0 all 355s being dumper  000675 623 which_355:  000675 aa 000000 000001 624 oct 1 which one now  000676 625 which_desc: 000676 aa 246 444 472 046 626 bci 'dump of 355 ' 000677 aa 262 003 050 520 000014 627 equ whichdlen,12  000700 628 which_list: 000700 aa 212 223 240 000 629 bci 'abcd' 000004 630 equ max_no_355s,4  000701 aa 000000 000000 631 ic_355: oct 0 current 355 loc being dumped 632  000702 633 prtally_model:  000702 aa 012001 020400 634 vfd 18/line,12/132 000703 635 prtally_model2: 000703 0a 000624 017000 636 vfd 18/trace_data,12/6*20  000704 637 prtally: bss ,1 638  000705 aa 000000 0110 03 639 even  000706 aa 012 024 216 321 640 header: bci '1 datanet-355 core dump '  000707 aa 452 563 520 305 000710 aa 052 023 465 125 000711 aa 202 464 444 720 000030 641 equ header_lth,(*-header)*6  642  643 " 000712 644 reg_names:  000712 aa 202 020 202 020 645 bci ' ',24 000713 aa 202 020 202 020 000714 aa 202 020 202 020 000715 aa 202 020 202 020 000716 aa 312 320 202 020 646 bci 'ic ir a q ' 000717 aa 203 151 202 020 000720 aa 202 021 202 020 000721 aa 202 020 502 020 000722 aa 202 020 206 701 647 bci ' x1 x2 x3 ' 000723 aa 202 020 202 067 000724 aa 022 020 202 020 000725 aa 670 320 202 020 000726 aa 203 125 512 020 648 bci ' ier etr'  000727 aa 202 025 635 100 000123 649 equ reg_nml,83 000730 aa 000000 000000 650 indwd2: oct 0  000731 aa 000000 000000 651 tracewds: oct 0 652  000732 653 modchn_nm:  000732 aa 444 624 644 325 654 bci 'module chain' 000733 aa 202 330 213 145 000734 655 modchn: bss ,1  000735 656 fault_names:  000735 aa 454 645 252 020 657 bci 'none '  000736 aa 202 020 202 020 000737 aa 202 020 202 020 000740 aa 474 666 255 120 658 bci 'power on '  000741 aa 464 520 202 020 000742 aa 202 020 202 020 000743 aa 442 544 465 170 659 bci 'memory parity '  000744 aa 204 721 513 163 000745 aa 702 020 202 020 000746 aa 314 343 252 721 660 bci 'illegal opcode '  000747 aa 432 046 472 346 000750 aa 242 520 202 020 000751 aa 466 525 512 643 661 bci 'overflow '  000752 aa 466 620 202 020 000753 aa 202 020 202 020 000754 aa 626 346 512 520 662 bci 'store fault '  000755 aa 262 164 436 320 000756 aa 202 020 202 020 000757 aa 243 165 312 425 663 bci 'divide check '  000760 aa 202 330 252 342 000761 aa 202 020 202 020 000762 aa 314 343 252 721 664 bci 'illegal int '  000763 aa 432 031 456 320 000764 aa 202 020 202 020 000765 aa 256 763 512 145 665 bci 'extraneous int '  000766 aa 254 664 622 031 000767 aa 456 320 202 020 000770 aa 314 644 202 330 666 bci 'iom chan fault '  000771 aa 214 520 262 164 000772 aa 436 320 202 020 000773 aa 234 645 624 643 667 bci 'console abort '  000774 aa 252 021 224 651 000775 aa 632 020 202 020 668  669  670 include dn355_trace_msgs  000776 2-1 modtab: 000776 0a 001004 000000 2-2 zero skdtrc  000777 0a 001110 000000 2-3 zero diatrc  001000 0a 001262 000000 2-4 zero inttrc  001001 0a 001335 000000 2-5 zero utltrc  001002 0a 001375 000000 2-6 zero lsltrc  001003 0a 001466 000000 2-7 zero hsltrc  2-8  2-9  001004 2-10 skdtrc: 001004 0a 001014 000000 2-11 zero msg1.1  001005 0a 001023 000000 2-12 zero msg1.2  001006 0a 001032 000000 2-13 zero msg1.3  001007 0a 001040 000000 2-14 zero msg1.4  001010 0a 001050 000000 2-15 zero msg1.5  001011 0a 001056 000000 2-16 zero msg1.6  001012 0a 001065 000000 2-17 zero msg1.7  001013 0a 001077 000000 2-18 zero msg1.8  2-19  001014 aa 000000 000037 2-20 msg1.1: dec 31  001015 aa 314 563 255 151 2-21 bci 'interrupt at *****, 3wjt ******'  001016 aa 644 763 202 163 001017 aa 205 454 545 454 001020 aa 732 003 664 163 001021 aa 205 454 545 454 001022 aa 540 000 000 000 001023 aa 000000 000043 2-22 msg1.2: dec 35  001024 aa 312 443 257 320 2-23 bci 'idle, indicators ******, ier ******'  001025 aa 314 524 312 321 001026 aa 634 651 622 054 001027 aa 545 454 545 473 001030 aa 203 125 512 054 001031 aa 545 454 545 400 001032 aa 000000 000034 2-24 msg1.3: dec 28  001033 aa 516 445 203 145 2-25 bci 'run interrupt routine ******' 001034 aa 632 551 516 447 001035 aa 632 051 466 463 001036 aa 314 525 205 454 001037 aa 545 454 540 000 001040 aa 000000 000045 2-26 msg1.4: dec 37  001041 aa 512 562 632 151 2-27 bci 'restart interrupted routine at ******'  001042 aa 632 031 456 325 001043 aa 515 164 476 325 001044 aa 242 051 466 463 001045 aa 314 525 202 163 001046 aa 205 454 545 454 001047 aa 540 000 000 000 001050 aa 000000 000031 2-28 msg1.5: dec 25  001051 aa 516 445 205 064 2-29 bci 'run queued routine ******'  001052 aa 256 425 242 051 001053 aa 466 463 314 525 001054 aa 205 454 545 454 001055 aa 540 000 000 000 001056 aa 000000 000037 2-30 msg1.6: dec 31  001057 aa 622 563 206 331 2-31 bci 'set timer ****** for tib ******'  001060 aa 442 551 205 454 001061 aa 545 454 542 026 001062 aa 465 120 633 122 001063 aa 205 454 545 454 001064 aa 540 000 000 000 001065 aa 000000 000061 2-32 msg1.7: dec 49  001066 aa 314 563 255 165 2-33 bci 'interval timer runout, current time ****** ******'  001067 aa 214 320 633 144 001070 aa 255 120 516 445 001071 aa 466 463 732 023 001072 aa 645 151 254 563 001073 aa 206 331 442 520 001074 aa 545 454 545 454 001075 aa 205 454 545 454 001076 aa 540 000 000 000 001077 aa 000000 000060 2-34 msg1.8: dec 48  001100 aa 506 425 642 520 2-35 bci 'queue routine, pri ******, rtn ******, x1 ******' 001101 aa 514 664 633 145 001102 aa 257 320 475 131 001103 aa 205 454 545 454 001104 aa 547 320 516 345 001105 aa 205 454 545 454 001106 aa 547 320 670 120 001107 aa 545 454 545 454 2-36  001110 2-37 diatrc: 001110 0a 001125 000000 2-38 zero msg2.1  001111 0a 001133 000000 2-39 zero msg2.2  001112 0a 001141 000000 2-40 zero msg2.3  001113 0a 001146 000000 2-41 zero msg2.4  001114 0a 001160 000000 2-42 zero msg2.5  001115 0a 001170 000000 2-43 zero msg2.6  001116 0a 001201 000000 2-44 zero msg2.7  001117 0a 001212 000000 2-45 zero msg2.8  001120 0a 001217 000000 2-46 zero msg2.9  001121 0a 001224 000000 2-47 zero ms2.10  001122 0a 001235 000000 2-48 zero ms2.11  001123 0a 001244 000000 2-49 zero ms2.12  001124 0a 001251 000000 2-50 zero ms2.13  2-51  001125 aa 000000 000032 2-52 msg2.1: dec 26  001126 aa 243 121 206 325 2-53 bci 'dia terminate, tcword = **'  001127 aa 514 431 452 163 001130 aa 257 320 632 366 001131 aa 465 124 207 520 001132 aa 545 400 000 000 001133 aa 000000 000034 2-54 msg2.2: dec 28  001134 aa 243 121 203 145 2-55 bci 'dia interrupt for mailbox **' 001135 aa 632 551 516 447 001136 aa 632 026 465 120 001137 aa 442 131 432 246 001140 aa 672 054 540 000 001141 aa 000000 000026 2-56 msg2.3: dec 22  001142 aa 243 121 205 125 2-57 bci 'dia reading mailbox **'  001143 aa 212 431 452 720 001144 aa 442 131 432 246 001145 aa 672 054 540 000 001146 aa 000000 000061 2-58 msg2.4: dec 49  001147 aa 452 566 202 545 2-59 bci 'new entry in dia i/o queue: opcode ***, line ****'  001150 aa 635 170 203 145 001151 aa 202 431 212 031 001152 aa 614 620 506 425 001153 aa 642 515 204 647 001154 aa 234 624 252 054 001155 aa 545 473 204 331 001156 aa 452 520 545 454 001157 aa 540 000 000 000 001160 aa 000000 000050 2-60 msg2.5: dec 40  001161 aa 662 324 203 145 2-61 bci 'wcd in mailbox **: opcode ***, line ****' 001162 aa 204 421 314 322 001163 aa 466 720 545 415 001164 aa 204 647 234 624 001165 aa 252 054 545 473 001166 aa 204 331 452 520 001167 aa 545 454 540 000 001170 aa 000000 000060 2-62 msg2.6: dec 48  001171 aa 646 231 452 720 2-63 bci 'using dia i/o queue entry: opcode ***, line ****' 001172 aa 243 121 203 161 001173 aa 462 050 642 564 001174 aa 252 025 456 351 001175 aa 701 520 464 723 001176 aa 462 425 205 454 001177 aa 547 320 433 145 001200 aa 252 054 545 454 001201 aa 000000 000057 2-64 msg2.7: dec 47  001202 aa 243 121 206 225 2-65 bci 'dia sending input count of ****** for line ****'  001203 aa 452 431 452 720 001204 aa 314 547 646 320 001205 aa 234 664 456 320 001206 aa 462 620 545 454 001207 aa 545 454 202 646 001210 aa 512 043 314 525 001211 aa 205 454 545 400 001212 aa 000000 000026 2-66 msg2.8: dec 22  001213 aa 243 121 206 651 2-67 bci 'dia writing mailbox **'  001214 aa 316 331 452 720 001215 aa 442 131 432 246 001216 aa 672 054 540 000 001217 aa 000000 000026 2-68 msg2.9: dec 22  001220 aa 243 121 202 651 2-69 bci 'dia freeing mailbox **'  001221 aa 252 531 452 720 001222 aa 442 131 432 246 001223 aa 672 054 540 000 001224 aa 000000 000054 2-70 ms2.10: dec 44  001225 aa 666 367 203 145 2-71 bci 'wtx in mailbox ** for line ****, *** buffers' 001226 aa 204 421 314 322 001227 aa 466 720 545 420 001230 aa 264 651 204 331 001231 aa 452 520 545 454 001232 aa 547 320 545 454 001233 aa 202 264 262 625 001234 aa 516 200 000 000 001235 aa 000000 000037 2-72 ms2.11: dec 31  001236 aa 516 367 203 145 2-73 bci 'rtx in mailbox ** for line ****'  001237 aa 204 421 314 322 001240 aa 466 720 545 420 001241 aa 264 651 204 331 001242 aa 452 520 545 454 001243 aa 540 000 000 000 001244 aa 000000 000030 2-74 ms2.12: dec 24  001245 aa 214 363 255 120 2-75 bci 'alter parameters: ******' 001246 aa 472 151 214 425 001247 aa 632 551 621 520 001250 aa 545 454 545 454 001251 aa 000000 000056 2-76 ms2.13: dec 46  001252 aa 243 121 431 520 2-77 bci 'dial: *** digits - ****** ****** ****** ******'  001253 aa 545 454 202 431 001254 aa 273 163 622 052 001255 aa 205 454 545 454 001256 aa 542 054 545 454 001257 aa 545 420 545 454 001260 aa 545 454 205 454 001261 aa 545 454 540 000 2-78  001262 2-79 inttrc: 2-80  001262 0a 001267 000000 2-81 zero msg3.1  001263 0a 001276 000000 2-82 zero msg3.2  001264 0a 001306 000000 2-83 zero msg3.3  001265 0a 001320 000000 2-84 zero msg3.4  001266 0a 001327 000000 2-85 zero msg3.5  2-86  001267 aa 000000 000044 2-87 msg3.1: dec 36  001270 aa 316 325 626 315 2-88 bci 'itest: tib at ******, t.cur = ******' 001271 aa 206 331 222 021 001272 aa 632 054 545 454 001273 aa 545 473 206 333 001274 aa 236 451 207 520 001275 aa 545 454 545 454 001276 aa 000000 000045 2-89 msg3.2: dec 37  001277 aa 316 651 316 325 2-90 bci 'iwrite: tib at ******, t.cur = ******'  001300 aa 152 063 312 220 001301 aa 216 320 545 454 001302 aa 545 454 732 063 001303 aa 332 364 512 075 001304 aa 205 454 545 454 001305 aa 540 000 000 000 001306 aa 000000 000063 2-91 msg3.3: dec 51  001307 aa 316 263 216 315 2-92 bci 'istat: tib at ******, t.cur = ******, status ******'  001310 aa 206 331 222 021 001311 aa 632 054 545 454 001312 aa 545 473 206 333 001313 aa 236 451 207 520 001314 aa 545 454 545 454 001315 aa 732 062 632 163 001316 aa 646 220 545 454 001317 aa 545 454 000 000 001320 aa 000000 000044 2-93 msg3.4: dec 36  001321 aa 316 331 442 515 2-94 bci 'itime: tib at ******, t.cur = ******' 001322 aa 206 331 222 021 001323 aa 632 054 545 454 001324 aa 545 473 206 333 001325 aa 236 451 207 520 001326 aa 545 454 545 454 001327 aa 000000 000036 2-95 msg3.5: dec 30  001330 aa 464 720 224 346 2-96 bci 'op block at ******, type = ***'  001331 aa 234 220 216 320 001332 aa 545 454 545 454 001333 aa 732 063 704 725 001334 aa 207 520 545 454 2-97  2-98  001335 2-99 utltrc: 001335 0a 001341 000000 2-100 zero msg4.1  001336 0a 001351 000000 2-101 zero msg4.2  001337 0a 001360 000000 2-102 zero msg4.3  001340 0a 001367 000000 2-103 zero msg4.4  2-104  001341 aa 000000 000046 2-105 msg4.1: dec 38  001342 aa 226 426 262 551 2-106 bci 'buffer allocated at ******, size = ***'  001343 aa 202 143 434 623 001344 aa 216 325 242 021 001345 aa 632 054 545 454 001346 aa 545 473 206 231 001347 aa 712 520 752 054 001350 aa 545 400 000 000 001351 aa 000000 000042 2-107 msg4.2: dec 34  001352 aa 226 426 262 551 2-108 bci 'buffer freed at ******, size = ***'  001353 aa 202 651 252 524 001354 aa 202 163 205 454 001355 aa 545 454 547 320 001356 aa 623 171 252 075 001357 aa 205 454 540 000 001360 aa 000000 000042 2-109 msg4.3: dec 34  001361 aa 512 550 642 562 2-110 bci 'request for ** buffers of size ***'  001362 aa 632 026 465 120 001363 aa 545 420 226 426 001364 aa 262 551 622 046 001365 aa 262 062 317 125 001366 aa 205 454 540 000 001367 aa 000000 000035 2-111 msg4.4: dec 29  001370 aa 265 125 253 145 2-112 bci 'freeing buffer list at ******'  001371 aa 272 022 642 626 001372 aa 255 120 433 162 001373 aa 632 021 632 054 001374 aa 545 454 545 400 2-113  001375 2-114 lsltrc: 2-115  001375 0a 001404 000000 2-116 zero msg5.1  001376 0a 001412 000000 2-117 zero msg5.2  001377 0a 001423 000000 2-118 zero msg5.3  001400 0a 001431 000000 2-119 zero msg5.4  001401 0a 001441 000000 2-120 zero msg5.5  001402 0a 001447 000000 2-121 zero msg5.6  001403 0a 001457 000000 2-122 zero msg5.7  2-123  001404 aa 000000 000035 2-124 msg5.1: dec 29  001405 aa 436 243 212 031 2-125 bci 'lsla interrupt, 3wjt = ******'  001406 aa 456 325 515 164 001407 aa 476 373 200 366 001410 aa 416 320 752 054 001411 aa 545 454 545 400 001412 aa 000000 000053 2-126 msg5.2: dec 43  001413 aa 436 243 212 046 2-127 bci 'lsla output frame at ******, sfcm at ******'  001414 aa 646 347 646 320 001415 aa 265 121 442 520 001416 aa 216 320 545 454 001417 aa 545 454 732 062 001420 aa 262 344 202 163 001421 aa 205 454 545 454 001422 aa 540 000 000 000 001423 aa 000000 000034 2-128 msg5.3: dec 28  001424 aa 436 243 212 046 2-129 bci 'lsla output buffer at ******' 001425 aa 646 347 646 320 001426 aa 226 426 262 551 001427 aa 202 163 205 454 001430 aa 545 454 540 000 001431 aa 000000 000052 2-130 msg5.4: dec 42  001432 aa 436 243 212 031 2-131 bci 'lsla input frame at ******, sfcm at ******'  001433 aa 454 764 632 026 001434 aa 512 144 252 021 001435 aa 632 054 545 454 001436 aa 545 473 206 226 001437 aa 234 420 216 320 001440 aa 545 454 545 454 001441 aa 000000 000033 2-132 msg5.5: dec 27  001442 aa 436 243 212 031 2-133 bci 'lsla input buffer at ******'  001443 aa 454 764 632 022 001444 aa 642 626 255 120 001445 aa 216 320 545 454 001446 aa 545 454 000 000 001447 aa 000000 000051 2-134 msg5.6: dec 41  001450 aa 622 545 243 145 2-135 bci 'sending *** to lsla slot ** for line ****'  001451 aa 272 054 545 420 001452 aa 634 620 436 243 001453 aa 212 062 434 663 001454 aa 205 454 202 646 001455 aa 512 043 314 525 001456 aa 205 454 545 400 001457 aa 000000 000044 2-136 msg5.7: dec 36  001460 aa 256 223 214 725 2-137 bci 'escape in lsla slot ** for line ****' 001461 aa 203 145 204 362 001462 aa 432 120 624 346 001463 aa 632 054 542 026 001464 aa 465 120 433 145 001465 aa 252 054 545 454 2-138  2-139  001466 2-140 hsltrc: 001466 0a 001472 000000 2-141 zero msg6.1  001467 0a 001504 000000 2-142 zero msg6.2  001470 0a 001514 000000 2-143 zero msg6.3  001471 0a 001522 000000 2-144 zero msg6.4  2-145  001472 aa 000000 000063 2-146 msg6.1: dec 51  001473 aa 306 243 212 024 2-147 bci 'hsla dcw processor, tib ******, list ******, len **'  001474 aa 236 620 475 146 001475 aa 232 562 624 651 001476 aa 732 063 312 220 001477 aa 545 454 545 454 001500 aa 732 043 316 263 001501 aa 205 454 545 454 001502 aa 547 320 432 545 001503 aa 205 454 000 000 001504 aa 000000 000047 2-148 msg6.2: dec 39  001505 aa 306 243 212 047 2-149 bci 'hsla pcw, tib ******, pcw ****** ******'  001506 aa 236 673 206 331 001507 aa 222 054 545 454 001510 aa 545 473 204 723 001511 aa 662 054 545 454 001512 aa 545 420 545 454 001513 aa 545 454 000 000 001514 aa 000000 000035 2-150 msg6.3: dec 29  001515 aa 306 243 212 031 2-151 bci 'hsla interrupt, 3wjt = ******'  001516 aa 456 325 515 164 001517 aa 476 373 200 366 001520 aa 416 320 752 054 001521 aa 545 454 545 400 001522 aa 000000 000055 2-152 msg6.4: dec 45  001523 aa 306 243 212 062 2-153 bci 'hsla status, tib ******, status ****** ******'  001524 aa 632 163 646 273 001525 aa 206 331 222 054 001526 aa 545 454 545 473 001527 aa 206 263 216 364 001530 aa 622 054 545 454 001531 aa 545 420 545 454 001532 aa 545 454 000 000 2-154  001533 671 tct_tbl1:  001533 aa 000000 000000 672 oct 0,0,0,0 00-17 bcd chars  001534 aa 000000 000000 001535 aa 000000 000000 001536 aa 000000 000000 001537 aa 000000 000000 673 oct 0,0,0,0 20-37 001540 aa 000000 000000 001541 aa 000000 000000 001542 aa 000000 000000 001543 aa 000000 000000 674 oct 0,0 40-47 001544 aa 000000 000000 001545 aa 000000 000000 675 oct 0,777000000000 50-53,*,55-57  001546 aa 777000 000000 001547 aa 000000 000000 676 oct 0,0,0,0 60-77 001550 aa 000000 000000 001551 aa 000000 000000 001552 aa 000000 000000 677  001553 678 tct_tbl2:  001553 aa 777777 777777 679 dec -1,-1,-1,-1 00-17  001554 aa 777777 777777 001555 aa 777777 777777 001556 aa 777777 777777 001557 aa 777777 777777 680 dec -1,-1,-1,-1 20-37  001560 aa 777777 777777 001561 aa 777777 777777 001562 aa 777777 777777 001563 aa 777777 777777 681 dec -1,-1 40-47  001564 aa 777777 777777 001565 aa 777777 777777 682 oct 777777777777,000777777777 50-53,*,55-57  001566 aa 000777 777777 001567 aa 777777 777777 683 dec -1,-1,-1,-1 60-77  001570 aa 777777 777777 001571 aa 777777 777777 001572 aa 777777 777777 684 " 685 "  686 "  687 " Subroutine to get a block of words from the 355  688 "  689 "  001573 690 getblock: null  001573 0a 001615 7420 00 691 stx2 gbexit save x2 for return  001574 0a 001616 7220 00 692 lxl2 d355addr get 355 address to read next  001575 0a 001614 7420 00 693 stx2 gbarg 001576 aa 003000 2350 07 694 lda blocksz*2,dl get maximum read size 001577 0a 001617 1150 00 695 cmpa d355core still that much left to be read?  001600 0a 001602 6040 00 696 tmi *+2 yes  001601 0a 001617 2350 00 697 lda d355core no, only read remaining core 001602 0a 001617 2360 00 698 ldq d355core  001603 0a 001617 7550 00 699 sta d355core compute how much 001604 0a 001617 1760 00 700 sbq d355core 355 core still  001605 0a 001617 7560 00 701 stq d355core to be read  001606 0a 001620 7550 00 702 sta read save number of 355 words actually read  001607 0a 001616 0550 00 703 asa d355addr compute next 355 addr to read  001610 aa 000001 7710 00 704 arl 1 compute number to 36 bit words  001611 0a 001614 7510 07 705 stca gbarg,07  001612 0a 001706 7020 00 706 tsx2 read_355_words go actually do the read  001613 0a 002073 0000 00 707 arg indword  001614 00 001614 001614 708 gbarg: zero *,* 001615 aa 000000 7100 00 709 gbexit: tra 0 return to caller 710 "  711 "  712 " Constants 713 "  714 "  001616 aa 000000 000000 715 d355addr: oct 0 next 355 address to read  001617 aa 000000 100000 716 d355core: dec 32768 amount of 355 core (32k to start)  001620 aa 000000 000000 717 read: oct 0 number of 355 words read  718 " 719 "  720 " Subroutine to fetch a 355 word from dump area. Relative  721 " address of 355 word in buffer passed in a reg upper. 355  722 " word returned in a upper. 723 "  724 "  001621 725 fetch: null 001621 aa 000000 6360 01 726 eaq 0,au copy input to q  001622 aa 000001 7710 00 727 arl 1 convert 355 addr to 600 addr  001623 0a 002074 0750 03 728 ada buffer,du relocate to buffer  001624 aa 000000 2350 01 729 lda 0,au get two 355 words  001625 aa 000001 3160 03 730 canq 1,du did we want odd word?  001626 aa 000003 6000 04 731 tze 3,ic no  001627 aa 000000 6350 05 732 eaa 0,al yes, get in a upper  001630 aa 000000 7100 12 733 tra 0,2 return to caller  001631 aa 000000 6350 01 734 eaa 0,au get even word in a upper 001632 aa 000000 7100 12 735 tra 0,2 return to caller  736 " 737 "  738 "  739 " Subroutine to convert 355 words to octal  740 "  741 " Input - x5 points to first word to dump  742 " x6 contains number of 355 words to dump  743 " prtally holds tally word pointing to output buffer  744 "  745 "  001633 746 dump_oct: null  001633 0a 001670 4500 00 747 stz oddsw clear any residual value from oddsw 001634 aa 000000 6350 16 748 eaa 0,6 get count 001635 aa 000022 7710 00 749 arl 18 position in a-lower  001636 aa 000000 5310 00 750 neg 0 negate  001637 0a 001666 7550 00 751 sta docount save  001640 752 do_loop: null  001640 aa 000000 2360 15 753 ldq 0,5 get two 355 words 001641 aa 000006 2350 07 754 do_con: lda 6,dl  001642 aa 000000 5310 00 755 neg 0 negate  001643 0a 001667 7550 00 756 sta docnt2 save  001644 aa 000000 2350 07 757 do_: lda 0,dl clear a  001645 aa 000003 7370 00 758 lls 3 get an octit  001646 0a 000704 7550 52 759 sta prtally,sc store bcd representation  001647 0a 001667 0540 00 760 aos docnt2 hsave we done a 355 word yet?  001650 0a 001644 6040 00 761 tmi do_ no  001651 0a 001671 2340 00 762 szn noblank if no blank wanted, skip  001652 0a 001655 6010 00 763 tnz do_m  001653 aa 000020 2350 07 764 lda =o20,dl get a blank  001654 0a 000704 7550 52 765 sta prtally,sc store at end of 355 word  001655 0a 001666 0540 00 766 do_m: aos docount test if done 001656 aa 000000 6000 12 767 tze 0,2 yes, return to caller 001657 0a 001670 2340 00 768 szn oddsw did we do odd half of word  001660 aa 000003 6010 04 769 tnz 3,ic yes  001661 0a 001670 0540 00 770 aos oddsw no, we are going to it now  001662 0a 001641 7100 00 771 tra do_con 001663 0a 001670 4500 00 772 stz oddsw  001664 aa 000001 0650 03 773 adx5 1,du bump input pointer  001665 0a 001640 7100 00 774 tra do_loop continue  775 "  776 "  777 " constants 778 "  779 "  001666 aa 000000 000000 780 docount: oct 0  001667 aa 000000 000000 781 docnt2: oct 0  001670 aa 000000 000000 782 oddsw: oct 0  001671 aa 000000 000000 783 noblank: oct 0  784 " 785 "  786 "  787 " Subroutine to convert 355 to ascii graphics  788 "  789 " Input - x5 points to first word to dump  790 " x6 holds number of 355 words to dump  791 " prtally is a tally word pointing to the output buffer 792 "  793 "  794 "  001672 795 dump_ascii: 001672 796 null  001672 0a 001705 7420 00 797 stx2 daxit save return address  798  001673 799 xloop1: 001673 aa 000000 2350 15 800 lda 0,5 get word  001674 aa 012255 7020 00 801 tsx2 asge convert to GE BCD  001675 aa 000004 6220 00 802 eax2 4 store 4 characters 001676 aa 000006 7750 00 803 xloop2: alr 6 character in A (30-35)  001677 0a 000704 7550 52 804 sta prtally,sc store it  001700 aa 777777 6220 12 805 eax2 -1,2 decrement character index  001701 0a 001676 6010 00 806 tnz xloop2 and loop for 4 characters  001702 aa 000001 6250 15 807 eax5 1,5 step to next word  001703 aa 777776 6260 16 808 eax6 -2,6 decrement word count  001704 0a 001673 6010 00 809 tnz xloop1 loop until done  810  001705 0a 001705 7100 00 811 daxit: tra * return to caller  812  813 include rd355  3-1 " 3-2 " Begin include file ...... rd355.incl.alm  3-3 " Modified April, 1981, by Charlie Hornig, to move the 355 mailboxes  3-4  3-5  003400 3-6 bool dn355mbx,3400 location of DataNet 355 mailbox 040000 3-7 bool bit22,040000 bit 22 - parity bit for PCW  000075 3-8 bool dump,000075 dump op-code for DIA  3-9  3-10 " 3-11 " READ_355_WORDS - Read a number of words from DataNet 355. 3-12 "  3-13 " tsx2 read_355_words  3-14 " arg indword must be followed by data buffer  3-15 " zero 355_address,no_36bit_words  3-16  001706 3-17 read_355_words: 001706 0a 001750 7420 00 3-18 stx2 r3exit save return point 3-19  001707 aa 000000 2120 32 3-20 absa 0,2* get location of indword 001710 aa 000006 7350 00 3-21 als 6 in AU  001711 aa 000075 2750 07 3-22 ora dump,dl OR in dump op-code  001712 0a 001754 7020 00 3-23 tsx2 parity get parity on PCW 001713 0a 002071 2360 00 3-24 ldq mbx_offset get offset of this mbx  001714 aa 7 03400 7551 06 3-25 sta mem|dn355mbx,ql put PCW in 355 mailbox 3-26  001715 0a 001750 2220 00 3-27 ldx2 r3exit restore X2  001716 aa 000001 2350 12 3-28 lda 1,2 get 355 location and count  001717 aa 100000 2750 03 3-29 ora =o100000,du set 36-bit transfer mode  001720 aa 000000 7550 32 3-30 sta 0,2* store in indword 3-31  001721 0a 002064 2360 00 3-32 ldq iom_chan get channel number  001722 aa 000014 2350 07 3-33 lda 4*3,dl get interrupt cell number  001723 aa 000040 1160 07 3-34 cmpq 32,dl check the channel number  001724 0a 001726 6040 00 3-35 tmi *+2 all ok, continue  001725 aa 000004 1750 07 3-36 sba 4,dl fix the interrupt cell number  001726 0a 002065 0750 00 3-37 ada iom_no add in the iom number  001727 aa 6 02010 6351 65 3-38 eaa com|iom_mxbase,*al add in mbx base addr  001730 0a 001753 7550 00 3-39 sta norm_int_cell save it away 3-40  001731 aa 000037 3760 07 3-41 anq 31,dl get channel number mod 32  001732 aa 400000 2350 03 3-42 lda =o400000,du get a bit  001733 aa 000000 7710 06 3-43 arl 0,ql move the bit 001734 0a 001752 7550 00 3-44 sta intbit save the bit  3-45  001735 0a 001753 2270 00 3-46 ldx7 norm_int_cell point to cells  001736 aa 7 00000 4501 17 3-47 stz mem|0,7 clear all pending interrupts  001737 aa 7 00020 4501 17 3-48 stz mem|16,7 also for emergency  3-49  001740 aa 012272 7020 00 3-50 tsx2 connect_iom  001741 0a 002060 000000 3-51 zero diapcw,0 connect to dia via iom  3-52  001742 0a 001753 2270 00 3-53 ldx7 norm_int_cell get addr of int cell  001743 3-54 wait_for_int:  001743 0a 001752 2350 00 3-55 lda intbit look for interrupt 001744 aa 7 00000 3151 17 3-56 cana mem|0,7 is this it?  001745 0a 001750 6010 00 3-57 tnz r3exit yes, done  001746 aa 7 00020 3151 17 3-58 cana mem|16,7 no, was it emergency-level? 001747 0a 001743 6000 00 3-59 tze wait_for_int nope, loop for more  3-60  001750 0a 001750 6220 00 3-61 r3exit: eax2 * restore return addr 001751 aa 000002 7100 12 3-62 tra 2,2 return  3-63  001752 aa 000000 000000 3-64 intbit: oct 0  001753 3-65 norm_int_cell:  001753 aa 000000 000000 3-66 oct 0  3-67 " 3-68 " Subroutine to calculate parity on ica pcw. Enter with A reg  3-69 " holding word on which parity is to be calculated. Returns the word  3-70 " in the A-reg with parity bit set. 3-71  001754 3-72 parity: null  001754 0a 001764 7550 00 3-73 sta atemp save input word 001755 aa 000000 7740 00 3-74 gtb 0 calculate parity  001756 aa 000001 3750 07 3-75 ana 1,dl test for odd or even 001757 aa 000003 6010 04 3-76 tnz 3,ic odd  001760 aa 040000 2350 07 3-77 lda bit22,dl even..set parity bit 001761 0a 001764 2550 00 3-78 orsa atemp .. 001762 0a 001764 2350 00 3-79 lda atemp get pcw again  001763 aa 000000 7100 12 3-80 tra 0,2 return  3-81  001764 3-82 bss atemp,1 temp storage  3-83  3-84 " End of include file ...... rd355.incl.alm 3-85  814 include conf355  4-1 "  4-2 " Begin include file ... conf355.incl.alm  4-3 "  4-4 "  4-5 " This subroutine will look for a datanet 355 configuration card and  4-6 " will extract the necessary information from it. There are three  4-7 " required fields on the d355 card. These are 355 tag(A-D), channel 4-8 " number(1-64), and iom tag(A-B). The iom tag is converted to an  4-9 " iom number. The calling sequence of this routine is:  4-10 "  4-11 " lda which_355  4-12 " tsx2 conf355 4-13 " tra error routine  4-14 " next instruction 4-15 "  4-16 "  4-17 "  001765 4-18 conf355: null  001765 0a 002067 7550 00 4-19 sta conf355n save which 355 we want config for  001766 0a 002066 7420 00 4-20 stx2 confx2 save return address  001767 aa 000044 7730 00 4-21 lrl 36 355 tag in Q  001770 0a 002072 2350 00 4-22 lda srcharg get search arg "d355" 001771 aa 012264 7020 00 4-23 tsx2 getconf search config data  001772 0a 002016 7100 00 4-24 tra conferr tra if not found  001773 aa 6 00001 1161 17 4-25 cmpq com|1,7 test 355 number  001774 aa 012265 6010 00 4-26 tnz getmore if not the one, try again 4-27  001775 aa 6 00002 2351 17 4-28 lda com|2,7 get iom tag field 001776 0a 002036 6040 00 4-29 tmi badiom none, error  001777 aa 000001 1750 07 4-30 sba 1,dl convert to iom number  002000 0a 002065 7550 00 4-31 sta iom_no save it  002001 aa 000006 7350 00 4-32 als 6 make room for channel number  002002 aa 6 00003 0751 17 4-33 ada com|3,7 get channel no  002003 0a 002034 6040 00 4-34 tmi badchan error check  002004 0a 002064 7510 01 4-35 stca iom_chan,01 store for connect 002005 aa 000033 7350 00 4-36 als 36-9 create a pcw 002006 0a 002061 7550 00 4-37 sta diapcw+1 ..  002007 0a 002063 7550 00 4-38 sta maskpcw+1 set up a mask pcw too  4-39  002010 0a 002067 2360 00 4-40 ldq conf355n get number  002011 aa 000001 1760 07 4-41 sbq 1,dl relative to zero 002012 aa 000300 4020 07 4-42 mpy 192,dl get mbx_offset 002013 0a 002071 7560 00 4-43 stq mbx_offset for later  4-44  002014 0a 002066 2220 00 4-45 ldx2 confx2 retrieve return address  002015 aa 000001 7100 12 4-46 tra 1,2 return  4-47  4-48  002016 0a 002070 2340 00 4-49 conferr: szn conf355err error switch on?  002017 0a 002032 6000 00 4-50 tze confexit no, skip error  002020 aa 012241 7020 00 4-51 tsx2 erpt print error message 002021 aa 040 146 156 160 4-52 acc 'fnp configuration card not found' 002022 aa 040 143 157 156 002023 aa 146 151 147 165 002024 aa 162 141 164 151 002025 aa 157 156 040 143 002026 aa 141 162 144 040 002027 aa 156 157 164 040 002030 aa 146 157 165 156 002031 aa 144 000 000 000 002032 4-53 confexit: null  002032 0a 002066 2220 00 4-54 ldx2 confx2 retrieve return address  002033 aa 000000 7100 12 4-55 tra 0,2 take error exit  4-56  002034 4-57 badchan: null  002034 0a 002056 6350 00 4-58 eaa chanmsg get addr of chan message  002035 0a 002037 7100 00 4-59 tra *+2  002036 4-60 badiom: null  002036 0a 002055 6350 00 4-61 eaa iommsg 002037 0a 002053 7550 00 4-62 sta errarg 002040 aa 012241 7020 00 4-63 tsx2 erpt  002041 aa 047 142 141 144 4-64 acc 'bad ^a number on fnp configuration card'  002042 aa 040 136 141 040 002043 aa 156 165 155 142 002044 aa 145 162 040 157 002045 aa 156 040 146 156 002046 aa 160 040 143 157 002047 aa 156 146 151 147 002050 aa 165 162 141 164 002051 aa 151 157 156 040 002052 aa 143 141 162 144 002053 0a 002053 0000 00 4-65 errarg: arg *  002054 0a 002032 7100 00 4-66 tra confexit take error exit  4-67  4-68  002055 aa 151 157 155 000 4-69 iommsg: aci 'iom'  002056 aa 143 150 141 156 4-70 chanmsg: aci 'chan' 002057 aa 000000 0110 03 4-71 even  002060 aa 000000 700000 4-72 diapcw: oct 000000700000,0 pcw to send to iom  002061 aa 000000 000000 002062 aa 000000 740000 4-73 maskpcw: oct 000000740000,0 mask pcw to send to iom 002063 aa 000000 000000 002064 aa 000000 000000 4-74 iom_chan: oct 0 channel number on iom  002065 aa 000000 000000 4-75 iom_no: oct 0 iom tag 002066 aa 000000 000000 4-76 confx2: oct 0  002067 4-77 conf355n:  002067 aa 000000 000000 4-78 oct 0  002070 4-79 conf355err: 002070 aa 000000 000000 4-80 oct 0  002071 4-81 mbx_offset: 002071 aa 000000 000000 4-82 oct 0  002072 aa 146 156 160 040 4-83 srcharg: aci 'fnp ' 4-84  4-85  4-86 " End include file ... conf355.incl.alm 815 " 816 "  817 "  818 " indirect word and buffer for reading 355 core load blocks 819 "  820 "  821 odd  002073 aa 000000 000000 822 indword: oct 0  002074 823 buffer: bss ,blocksz  824 " 825 include bos_sdw  5-1 "  5-2 " BEGIN INCLUDE FILE sdw.incl.alm 02/12/74  5-3 "  000014 5-4 equ sdw.add_shift,12  007000 5-5 bool sdw.r1,007000 Ringbrack 1 (DL)  000700 5-6 bool sdw.r2,000700 Ringbrack 2 (DL)  000070 5-7 bool sdw.r3,000070 Ringbrack 3 (DL)  5-8  000004 5-9 bool sdw.df,000004 Directed fault bit (0 -> fault)  000003 5-10 bool sdw.fault_code,000003 Number of directed fault  5-11  377770 5-12 bool sdw.bound,377770 Bound field (DU)  000004 5-13 bool sdw.read,000004 Read permission bit (DU) 000002 5-14 bool sdw.execute,000002 Execute permission bit (DU)  000001 5-15 bool sdw.write,000001 Write permission bit (DU)  5-16  400000 5-17 bool sdw.privileged,400000 Privileged bit (DL) 200000 5-18 bool sdw.unpaged,200000 Unpaged bit (DL)  100000 5-19 bool sdw.entry_bound_sw,100000 Entry bound switch (DL) 040000 5-20 bool sdw.cache,040000 Cache enabled bit (DL)  037777 5-21 bool sdw.entry_bound,037777 Entry bound (DL)  5-22  5-23 "  5-24 " END INCLUDE FILE sdw.incl.alm  5-25 "  826 include pt_equ 6-1 " 6-2 " Begin include file ...... pt_equ.incl.alm 6-3 " Created 8/28/73 by N. I. Morris  6-4 " Modified 8/79 by R.J.C. Kissel to use expanded BOS.  6-5 " Last modified by Sherman D. Sprague 02/11/81 for DPS8 support.  006000 6-6 bool pt_org,6000  6-7  006000 6-8 equ printon,pt_org+0 turn on printer  006001 6-9 equ tapeon,pt_org+1 turn on tape  006002 6-10 equ wteof,pt_org+2 close out tape or print  006003 6-11 equ space,pt_org+3 fill line with blanks  006004 6-12 equ headform,pt_org+4 print header  006005 6-13 equ print,pt_org+5 print line 006006 6-14 equ ptblock,pt_org+6 print block of data  006010 6-15 equ initprint,pt_org+8 init print package 006011 6-16 equ print_edited,pt_org+9 print edited 006014 6-17 equ ptbfirst,pt_org+12 non-zero on first call to ptblock  006015 6-18 equ ptsegno,pt_org+13 non-zero to print segment # 006016 6-19 equ pthdr,pt_org+14 page heading  6-20  6-21 " End of include file ...... pt_equ.incl.alm  6-22  827 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  828 include bos_common 8-1 "  8-2 " Begin include file ...... bos_common.incl.alm 8-3 " Modified on 8/31/76 by N. I. Morris  8-4 " Modified on 9/01/80 by Sherman D. Sprague for DPS8 operation  8-5 " Modified on 5/26/82 by Sherman D. Sprague to lengthen config size 8-6 " Modified on 3/01/83 by Sherman D. Sprague to lengthen dirlen  8-7 " MACHINE CONDITIONS AREA  8-8 " Its length is "storlen". 8-9  000000 8-10 equ amptwregs,0 Ass. Mem PTW registers  000100 8-11 equ amptwptr,64 Ass. Mem PTW pointers 000200 8-12 equ amsdwregs,128 Ass. Mem SDW registers  000400 8-13 equ amsdwptr,256 Ass. Mem SDW pointers  000500 8-14 equ ouhist,320 operations hist regs  000700 8-15 equ cuhist,448 control unit hist regs  001100 8-16 equ eishist,576 eis hist regs  001300 8-17 equ aphist,704 appending unit hist regs  001500 8-18 equ prs,832 pointer regs  001520 8-19 equ regs,848 sreg 001530 8-20 equ low_order_port,856 port to read clock from 001532 8-21 equ mctime,858 bootload memory clock  001540 8-22 equ scu,864  001550 8-23 equ mcm,872 memory masks 8 ports 001570 8-24 equ dbr,888  001572 8-25 equ intrpts,890 waiting interrupts 001573 8-26 equ bar,891 bar  001574 8-27 equ modereg,892 processor & cache mode registers  001576 8-28 equ faultreg,894 processor fault register  001600 8-29 equ ptrlen,896 pointer-lengths EIS 0 mod 8 001610 8-30 equ coreblocks,904 array of port information  8-31 " Bits 0-17 => num 1st 64-word block  8-32 " Bits 18-35 => num of 64-word blocks  8-33 " (-1) => no mem on this port  001620 8-34 equ lowport_cfg,912 Saved CFG from bootload SCU  8-35  002000 8-36 equ storlen,1024  8-37  8-38  8-39  8-40 " BOS COMMAND DIRECTORY 8-41 " Its length is "dirlen".  8-42  002000 8-43 equ dir,1024 ( 0-23) => sector # of first sector on BOS disk  8-44 " (24-35) => # of sectors in BOS common  002001 8-45 equ used,dir+1 ( 0-23) => # of next available sector on BOS disk  002002 8-46 equ useable,dir+2 ( 0-23) => first unavailable sector on BOS disk  002003 8-47 equ corearea,dir+3 ( 0-23) => starting sector of Multics core image  8-48 " (24-35) => # of sectors in Multics core image  002004 8-49 equ setuparea,dir+4 Sector and length of setup 002005 8-50 equ utilarea,dir+5 where utility package is kept  002010 8-51 equ iom_mxbase,dir+8 IOM IMW area address  002011 8-52 equ iom_mbbase,dir+9 IOM mailbox base  002012 8-53 equ bos_dvt,dir+10 BOS disk loc: (o3/iom,o6/chn,o9/drive,o18/devtype)  002013 8-54 equ unitgroup,dir+11 disk unitgroup (device no. or area no.)  002014 8-55 equ diskchanno,dir+12 channel to be used for disk  002015 8-56 equ tapechanno,dir+13 channel # for tapes  002016 8-57 equ rdrchanno,dir+14 channel number for card reader  002017 8-58 equ ttychanno,dir+15 channel # for operator's tty  002020 8-59 equ quietsw,dir+16 if on, don't print card and macro commands  002021 8-60 equ inputsw,dir+17 read from tty, cards, macros  002022 8-61 equ macroloc,dir+18 disk addr, buffer index of macro file  002023 8-62 equ fdump_state,dir+19 completion flag for last FDUMP  002024 8-63 equ d355_state,dir+20 = 1 if DataNet 355 loaded successfully  002025 8-64 equ skipsw,dir+21 if on, skip runcom lines 002026 8-65 equ ttypmtsw,dir+22 if on, prompt  002027 8-66 equ curtcmd,dir+23 current bos command 002030 8-67 equ readysw,dir+24 if on, print ready message  002032 8-68 equ cmdlst,dir+26 list of commands 8-69  000600 8-70 equ dirlen,384 8-71  8-72  8-73  8-74 " MACRO BUFFER AREA 8-75  002600 8-76 equ macrobuf,dir+dirlen io buffer for macro files 002700 8-77 equ macroline,macrobuf+64 runcom command line 002716 8-78 equ macroargs,macroline+14 argument descriptors for runcom  8-79  8-80  8-81  8-82 " CONFIGURATION CARD AREA  8-83 " Its length is 2048 words.  8-84  003000 8-85 equ conf,macrobuf+128 start of configuration info  007000 8-86 equ econf,conf+2048 end of configuration info  000020 8-87 equ confl,16 length of each line  8-88  8-89  007000 8-90 equ seg6length,econf length of bos_common area segment 8-91  8-92 " End of include file ...... bos_common.incl.alm  8-93  829 end  LITERALS 003474 aa 204763 474227 003475 aa 777777 777777 003476 aa 202020 212262 003477 aa 202063 214725 003500 aa 002020 202020 003501 aa 212246 516320 003502 aa 262164 436320 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 003503 5a 000003 000000 003504 5a 000017 600000 003505 aa 000000 000000 003506 55 000010 000002 003507 5a 000002 400003 003510 55 000006 000010 003511 aa 006 144 155 160 003512 aa 063 065 065 000 003513 55 000002 000003 003514 6a 000000 400002 003515 55 000013 000003 003516 aa 014 163 171 155 symbol_table  003517 aa 142 157 154 137 003520 aa 164 141 142 154 003521 aa 145 000 000 000 DEFINITIONS HASH TABLE  003522 aa 000000 000015 003523 aa 000000 000000 003524 aa 000000 000000 003525 aa 000000 000000 003526 aa 000000 000000 003527 aa 000000 000000 003530 aa 000000 000000 003531 5a 000010 000000 003532 aa 000000 000000 003533 aa 000000 000000 003534 aa 000000 000000 003535 aa 000000 000000 003536 aa 000000 000000 003537 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  003540 aa 000001 000000 003541 aa 000000 000000 INTERNAL EXPRESSION WORDS LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 003503 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 224026 146033 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 000503 000020 aa 000000 000246 000021 aa 000000 000464 000022 aa 000467 000246 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 000011 000066 aa 000132 000027 000067 aa 122721 273007 000070 aa 000000 112272 000071 aa 215454 600000 000072 aa 000140 000040 000073 aa 113400 415301 000074 aa 000000 111341 000075 aa 220414 400000 000076 aa 000150 000052 000077 aa 043243 125752 000100 aa 000000 103437 000101 aa 417733 000000 000102 aa 000163 000037 000103 aa 102276 474114 000104 aa 000000 110227 000105 aa 663042 200000 000106 aa 000173 000041 000107 aa 043243 125745 000110 aa 000000 103730 000111 aa 106336 600000 000112 aa 000204 000041 000113 aa 105543 476637 000114 aa 000000 110555 000115 aa 260135 200000 000116 aa 000215 000040 000117 aa 077322 074066 000120 aa 000000 107733 000121 aa 111404 200000 000122 aa 000225 000040 000123 aa 110235 072677 000124 aa 000000 111024 000125 aa 524460 600000 000126 aa 000235 000044 000127 aa 121622 277475 000130 aa 000000 112162 000131 aa 321563 400000 000132 aa 076163 160145 >spec>h>3.17>dmp355.alm 000133 aa 143076 150076 000134 aa 063056 061067 000135 aa 076144 155160 000136 aa 063065 065056 000137 aa 141154 155040 000140 aa 076154 144144 >ldd>bos>include>bosequ.incl.alm  000141 aa 076142 157163 000142 aa 076151 156143 000143 aa 154165 144145 000144 aa 076142 157163 000145 aa 145161 165056 000146 aa 151156 143154 000147 aa 056141 154155 000150 aa 076154 144144 >ldd>bos>include>dn355_trace_msgs.incl.alm  000151 aa 076142 157163 000152 aa 076151 156143 000153 aa 154165 144145 000154 aa 076144 156063 000155 aa 065065 137164 000156 aa 162141 143145 000157 aa 137155 163147 000160 aa 163056 151156 000161 aa 143154 056141 000162 aa 154155 040040 000163 aa 076154 144144 >ldd>bos>include>rd355.incl.alm 000164 aa 076142 157163 000165 aa 076151 156143 000166 aa 154165 144145 000167 aa 076162 144063 000170 aa 065065 056151 000171 aa 156143 154056 000172 aa 141154 155040 000173 aa 076154 144144 >ldd>bos>include>conf355.incl.alm  000174 aa 076142 157163 000175 aa 076151 156143 000176 aa 154165 144145 000177 aa 076143 157156 000200 aa 146063 065065 000201 aa 056151 156143 000202 aa 154056 141154 000203 aa 155040 040040 000204 aa 076154 144144 >ldd>bos>include>bos_sdw.incl.alm  000205 aa 076142 157163 000206 aa 076151 156143 000207 aa 154165 144145 000210 aa 076142 157163 000211 aa 137163 144167 000212 aa 056151 156143 000213 aa 154056 141154 000214 aa 155040 040040 000215 aa 076154 144144 >ldd>bos>include>pt_equ.incl.alm  000216 aa 076142 157163 000217 aa 076151 156143 000220 aa 154165 144145 000221 aa 076160 164137 000222 aa 145161 165056 000223 aa 151156 143154 000224 aa 056141 154155 000225 aa 076154 144144 >ldd>bos>include>bos_tv.incl.alm  000226 aa 076142 157163 000227 aa 076151 156143 000230 aa 154165 144145 000231 aa 076142 157163 000232 aa 137164 166056 000233 aa 151156 143154 000234 aa 056141 154155 000235 aa 076154 144144 >ldd>bos>include>bos_common.incl.alm  000236 aa 076142 157163 000237 aa 076151 156143 000240 aa 154165 144145 000241 aa 076142 157163 000242 aa 137143 157155 000243 aa 155157 156056 000244 aa 151156 143154 000245 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  656 .cr27f dmp355: 79. 670 .cr355 dmp355: 88. 644 .crbdt dmp355: 71. 646 .crbtm dmp355: 72. 650 .crbuf dmp355: 73. 653 .criom dmp355: 76. 640 .crldt dmp355: 69, 223, 225, 229, 233, 237, 241. 660 .crltb dmp355: 81. 642 .crltm dmp355: 70. 651 .crmem dmp355: 74, 240.  657 .crmod dmp355: 80, 236.  652 .crnbf dmp355: 75. 654 .crnhs dmp355: 77. 655 .crnls dmp355: 78. 664 .crreg dmp355: 85, 224.  665 .crsnp dmp355: 86. 666 .crspw dmp355: 87. 661 .crtra dmp355: 82. 662 .crtrb dmp355: 83, 228, 367. 663 .crtrc dmp355: 84, 232.  673 abssw dmp355: 142, 187, 218, 621.  674 all_sw dmp355: 135, 171, 572, 622.  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 dmp355: 149, bos_tv: 14, 15.  12222 argbos bos_tv: 39. 75 argerr dmp355: 161, 168, 175. 17 arglen bosequ: 17, bos_tv: 15, 16, 17. 35 argloop dmp355: 136, 144, 155, 173.  12223 argmul bos_tv: 40. 12201 arg_count bos_tv: 22. 12255 asge dmp355: 801, bos_tv: 66. 12256 asgetab bos_tv: 67. 1764 atemp rd355: 73, 78, 79, 82.  2034 badchan conf355: 34, 57.  2036 badiom conf355: 29, 60.  1573 bar bos_common: 26. 2 bf bosequ: 9. 40000 bit22 rd355: 7, 77.  514 blk_loop dmp355: 219, 506, 569. 1400 blocksz dmp355: 62, 361, 694, 823.  12217 bosmul bos_tv: 36. 12214 bosphy bos_tv: 33. 2012 bos_dvt bos_common: 53. 2074 buffer dmp355: 271, 288, 508, 728, 823. 12261 bzel bos_tv: 70. 2056 chanmsg conf355: 58, 70.  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. 517 ck_dup dmp355: 510, 567.  2032 cmdlst bos_common: 68. 6 com bosequ: 14, rd355: 38, conf355: 25, 28, 33. 3000 conf bos_common: 85, 86.  1765 conf355 dmp355: 182, conf355: 18. 2070 conf355err dmp355: 172, conf355: 49, 79.  2067 conf355n conf355: 19, 40, 77. 2016 conferr conf355: 24, 49.  2032 confexit conf355: 50, 53, 66. 20 confl bos_common: 87. 2066 confx2 conf355: 20, 45, 54, 76.  12272 connect_iom rd355: 50, 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. 1616 d355addr dmp355: 185, 692, 703, 715.  1617 d355core dmp355: 190, 245, 249, 568, 695, 697, 698, 699, 700, 701, 716. 2024 d355_state bos_common: 63. 12060 darg bos_tv: 15, 16.  1705 daxit dmp355: 797, 811.  1570 dbr bos_common: 24. 2060 diapcw rd355: 51, conf355: 37, 72.  1110 diatrc dn355_trace_msgs: 3, 37. 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. 3400 dn355mbx rd355: 6, 25.  1667 docnt2 dmp355: 756, 760, 781. 1666 docount dmp355: 751, 766, 780. 615 donedmp dmp355: 573, 578.  1644 do_ dmp355: 757, 761.  1641 do_con dmp355: 754, 771.  1640 do_loop dmp355: 752, 774.  1655 do_m dmp355: 763, 766.  0 ds bosequ: 7. 75 dump rd355: 8, 22.  1672 dump_ascii dmp355: 554, 795.  1633 dump_oct dmp355: 290, 334, 414, 541, 546, 746.  656 dupline dmp355: 512, 515, 521, 523, 618. 672 dupsw dmp355: 517, 524, 526, 620.  12100 earg bos_tv: 16, 17.  7000 econf bos_common: 86, 90.  1100 eishist bos_common: 16. 12243 erbuf bos_tv: 56. 12242 ercv bos_tv: 55. 12241 erpt dmp355: 176, 400,  conf355: 51, 63,  bos_tv: 54. 2053 errarg conf355: 62, 65.  616 exit dmp355: 178, 592.  1576 faultreg bos_common: 28. 735 fault_names dmp355: 284, 656.  2023 fdump_state bos_common: 62. 1621 fetch dmp355: 226, 230, 234, 238, 242, 314, 318, 321, 326, 384, 410, 725.  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. 5 fltnam dmp355: 65. 4 fltnum dmp355: 64, 272, 279. 12120 fltscu bos_tv: 17. 1614 gbarg dmp355: 693, 705, 708. 1615 gbexit dmp355: 691, 709.  12253 geas bos_tv: 64. 12254 geastab bos_tv: 65. 1573 getblock dmp355: 507, 690.  12264 getconf conf355: 23, bos_tv: 73. 12265 getmore conf355: 26, bos_tv: 74. 12273 getmpc bos_tv: 80. 12266 getperiph bos_tv: 75. 12313 getportinfo bos_tv: 96. 12250 getprt bos_tv: 61. 12207 getsec bos_tv: 28. 12275 get_special_interrupt bos_tv: 82. 12276 get_status_interrupt bos_tv: 83. 706 header dmp355: 110, 640, 641. 30 header_lth dmp355: 110, 111, 117, 192, 641. 6004 headform dmp355: 203, pt_equ: 12. 12304 hexwd bos_tv: 89. 1466 hsltrc dn355_trace_msgs: 7, 140. 701 ic_355 dmp355: 186, 539, 559, 631.  730 indwd2 dmp355: 366, 650.  2073 indword dmp355: 222, 267, 310, 360, 707, 822.  12300 initint dmp355: 98, bos_tv: 85. 6010 initprint pt_equ: 15. 12271 init_io dmp355: 96, bos_tv: 78. 2021 inputsw bos_common: 60. 1752 intbit rd355: 44, 55, 64. 12302 intno bos_tv: 87. 1572 intrpts bos_common: 25. 12303 intrpts1 bos_tv: 88. 1262 inttrc dn355_trace_msgs: 4, 79. 2055 iommsg conf355: 61, 69.  2064 iom_chan rd355: 32, conf355: 35, 74.  2011 iom_mbbase bos_common: 52. 2010 iom_mxbase rd355: 38, bos_common: 51. 2065 iom_no rd355: 37, conf355: 31, 75.  12237 itaper bos_tv: 52. 12240 itapew bos_tv: 53. 12206 ldcom dmp355: 106, bos_tv: 27. 12001 line dmp355: 258, 278, 285, 286, 303, 319, 323, 332, 420, 422, 443, 448,  464, 478, 528, 634,  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. 1375 lsltrc dn355_trace_msgs: 6, 114. 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. 2062 maskpcw conf355: 38, 73.  4 max_no_355s dmp355: 164, 576, 630. 2071 mbx_offset rd355: 24, conf355: 43, 81.  1550 mcm bos_common: 23. 1532 mctime bos_common: 21. 7 mem dmp355: 122, 134, 136, 148, 595, bosequ: 15, rd355: 25, 47, 48, 56, 58. 734 modchn dmp355: 239, 307, 655. 732 modchn_nm dmp355: 302, 653.  1574 modereg bos_common: 27. 776 modtab dmp355: 428, dn355_trace_msgs: 1.  247 mod_loop dmp355: 308, 339.  1224 ms2.10 dn355_trace_msgs: 47, 70. 1235 ms2.11 dn355_trace_msgs: 48, 72. 1244 ms2.12 dn355_trace_msgs: 49, 74. 1251 ms2.13 dn355_trace_msgs: 50, 76. 1014 msg1.1 dn355_trace_msgs: 11, 20. 1023 msg1.2 dn355_trace_msgs: 12, 22. 1032 msg1.3 dn355_trace_msgs: 13, 24. 1040 msg1.4 dn355_trace_msgs: 14, 26. 1050 msg1.5 dn355_trace_msgs: 15, 28. 1056 msg1.6 dn355_trace_msgs: 16, 30. 1065 msg1.7 dn355_trace_msgs: 17, 32. 1077 msg1.8 dn355_trace_msgs: 18, 34. 1125 msg2.1 dn355_trace_msgs: 38, 52. 1133 msg2.2 dn355_trace_msgs: 39, 54. 1141 msg2.3 dn355_trace_msgs: 40, 56. 1146 msg2.4 dn355_trace_msgs: 41, 58. 1160 msg2.5 dn355_trace_msgs: 42, 60. 1170 msg2.6 dn355_trace_msgs: 43, 62. 1201 msg2.7 dn355_trace_msgs: 44, 64. 1212 msg2.8 dn355_trace_msgs: 45, 66. 1217 msg2.9 dn355_trace_msgs: 46, 68. 1267 msg3.1 dn355_trace_msgs: 81, 87. 1276 msg3.2 dn355_trace_msgs: 82, 89. 1306 msg3.3 dn355_trace_msgs: 83, 91. 1320 msg3.4 dn355_trace_msgs: 84, 93. 1327 msg3.5 dn355_trace_msgs: 85, 95. 1341 msg4.1 dn355_trace_msgs: 100, 105. 1351 msg4.2 dn355_trace_msgs: 101, 107. 1360 msg4.3 dn355_trace_msgs: 102, 109. 1367 msg4.4 dn355_trace_msgs: 103, 111. 1404 msg5.1 dn355_trace_msgs: 116, 124. 1412 msg5.2 dn355_trace_msgs: 117, 126. 1423 msg5.3 dn355_trace_msgs: 118, 128. 1431 msg5.4 dn355_trace_msgs: 119, 130. 1441 msg5.5 dn355_trace_msgs: 120, 132. 1447 msg5.6 dn355_trace_msgs: 121, 134. 1457 msg5.7 dn355_trace_msgs: 122, 136. 1472 msg6.1 dn355_trace_msgs: 141, 146. 1504 msg6.2 dn355_trace_msgs: 142, 148. 1514 msg6.3 dn355_trace_msgs: 143, 150. 1522 msg6.4 dn355_trace_msgs: 144, 152. 12216 mulbos bos_tv: 35. 12202 nextline bos_tv: 23. 607 next_355 dmp355: 183, 571.  12203 nlraw bos_tv: 24. 1671 noblank dmp355: 363, 499, 762, 783.  542 nodupsw dmp355: 525, 531.  1753 norm_int_cell rd355: 39, 46, 53, 65.  45 notabs dmp355: 141, 146.  56 nottape dmp355: 147, 157.  527 no_dup dmp355: 513, 516, 519. 573 nxtline dmp355: 518, 557.  12252 octwd bos_tv: 63. 1670 oddsw dmp355: 747, 768, 770, 772, 782. 500 ouhist bos_common: 14. 12000 pagectl bos_tv: 12, 13.  1754 parity rd355: 23, 72.  3 pgm bosequ: 10. 12215 phyadd bos_tv: 34. 12213 phybos bos_tv: 32. 6005 print dmp355: 206, 207, 259, 291, 293, 294, 304, 336, 341, 342, 488, 497,  498, 529, 555, pt_equ: 13. 6000 printon dmp355: 130, pt_equ: 8. 6011 print_edited pt_equ: 16. 105 print_header dmp355: 138, 180, 577. 1500 prs bos_common: 18. 704 prtally dmp355: 270, 287, 331, 333, 407, 533, 535, 536, 537, 538, 543, 548,  549, 550, 551, 637, 759, 765, 804. 702 prtally_model dmp355: 269, 330, 532, 633.  703 prtally_model2 dmp355: 406, 635.  6014 ptbfirst pt_equ: 17. 6006 ptblock pt_equ: 14. 6016 pthdr dmp355: 111, 114, 115, 128, 195, 201,  pt_equ: 19. 1600 ptrlen bos_common: 29. 6015 ptsegno pt_equ: 18. 6000 pt_org dmp355: 105, pt_equ: 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19. 12251 punch bos_tv: 62. 2020 quietsw bos_common: 59. 1750 r3exit rd355: 18, 27, 57, 61.  12267 rdclock dmp355: 113, bos_tv: 76. 12211 rdev bos_tv: 30. 2016 rdrchanno bos_common: 57. 12234 rdsec bos_tv: 49. 1620 read dmp355: 561, 563, 702, 717.  12246 readcd bos_tv: 59. 12247 readtty bos_tv: 60. 2030 readysw bos_common: 67. 1706 read_355_words dmp355: 221, 266, 309, 359, 365, 706,  rd355: 17. 133 read_com dmp355: 217. 12232 rec_per_dev_list bos_tv: 47. 621 registers dmp355: 227, 261, 602. 1520 regs bos_common: 19. 712 reg_names dmp355: 257, 644.  123 reg_nml dmp355: 257, 258, 649. 12260 rjust bos_tv: 69. 4000 runcom_bit bosequ: 19. 12200 scan bos_tv: 21. 1540 scu bos_common: 22. 14 sdw.add_shift bos_sdw: 4. 377770 sdw.bound bos_sdw: 12. 40000 sdw.cache bos_sdw: 20. 4 sdw.df bos_sdw: 9. 37777 sdw.entry_bound bos_sdw: 21. 100000 sdw.entry_bound_sw bos_sdw: 19. 2 sdw.execute bos_sdw: 14. 3 sdw.fault_code bos_sdw: 10. 400000 sdw.privileged bos_sdw: 17. 7000 sdw.r1 bos_sdw: 5. 700 sdw.r2 bos_sdw: 6. 70 sdw.r3 bos_sdw: 7. 4 sdw.read bos_sdw: 13. 200000 sdw.unpaged bos_sdw: 18. 1 sdw.write bos_sdw: 15. 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. 1004 skdtrc dn355_trace_msgs: 2, 10. 2025 skipsw bos_common: 64. 6003 space dmp355: 205, 260, 292, 305, 337, 362, 489, 496, 509, 530, 556, pt_equ: 11. 2072 srcharg conf355: 22, 83.  654 star_len dmp355: 466, 469, 471, 475, 480, 616.  653 star_offset dmp355: 450, 454, 456, 457, 460, 614.  2000 storlen bos_common: 36. 12262 stripa bos_tv: 71. 12263 stripg bos_tv: 72. 662 sv_regs dmp355: 399, 402, 619. 2015 tapechanno bos_common: 56. 6001 tapeon dmp355: 153, pt_equ: 9. 1533 tct_tbl1 dmp355: 449, 671.  1553 tct_tbl2 dmp355: 465, 678.  1 tmp bosequ: 8. 337 tp.a dmp355: 383, 390, 493. 347 tp.b dmp355: 388, 392.  373 tp.b0 dmp355: 397, 404.  377 tp.b1 dmp355: 409, 417.  440 tp.c dmp355: 447, 486.  503 tp.d dmp355: 452, 488.  650 tp.t1 dmp355: 327, 328, 392, 424, 429, 610.  651 tp.t2 dmp355: 395, 492, 611. 652 tp.t3 dmp355: 411, 412, 433, 434, 473, 474, 482, 483, 484, 485, 612. 731 tracewds dmp355: 368, 371, 651. 622 trace_base dmp355: 231, 354, 370, 381, 604. 623 trace_cur dmp355: 235, 350, 373, 380, 606. 624 trace_data dmp355: 419, 477, 608, 636.  510 trace_space dmp355: 351, 353, 355, 357, 386, 495.  305 tr_prt dmp355: 262, 264, 349. 2017 ttychanno bos_common: 58. 12245 ttyinit dmp355: 101, bos_tv: 58. 2026 ttypmtsw bos_common: 65. 616 ttyrequest dmp355: 99, 102, 591. 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.  1335 utltrc dn355_trace_msgs: 5, 99. 1743 wait_for_int rd355: 54, 59.  12301 wantflt bos_tv: 86. 12212 wdev bos_tv: 31. 14 whichdlen dmp355: 194, 195, 197, 627.  675 which_355 dmp355: 166, 169, 181, 198, 574, 575, 623. 676 which_desc dmp355: 194, 625.  700 which_list dmp355: 164, 200, 628. 6002 wteof dmp355: 585, pt_equ: 10. 12235 wtsec bos_tv: 50. 616 x2 dmp355: 95, 107, 121, 133, 593. 12277 xio_wait bos_tv: 84. 1673 xloop1 dmp355: 799, 809.  1676 xloop2 dmp355: 803, 806.  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