assm 01 12-10-82 15.972 multics/mcs printer trace package page 1 multics/mcs printer trace package preface program break 2274 common length 0 v count bits 5 primary symdef entry ptrace 12 ptrabf 156 pterm 422 pspec 476 secondary symdef entry .chain 0 block length symref 1 frebuf 2 getbuf 3 meterc 4 octasc end of binary card 00000001 assm 01 12-10-82 15.972 multics/mcs printer trace package page 2 multics/mcs printer trace package 1 ****************************************************** 2 * * 3 * * 4 * copyright (c) 1972 by massachusetts institute of * 5 * technology and honeywell information systems, inc. * 6 * * 7 * * 8 ****************************************************** 9 assm 01 12-10-82 15.972 multics/mcs printer trace package page 3 multics/mcs printer trace package 12 lbl ,printer_trace 13 pcc off 17 18 *********************************************************** 19 * 20 * printer_trace 21 * 22 * this routine does actual printer tracing 23 * if the trace routine decides that we should be 24 * called at all. if we are called we must 25 * assume that a printer is configured and the 26 * correct processor switches are set, and we 27 * will forge ahead and print the stuff. 28 * 29 * there are two entries, ptrace and ptrabf. 30 * the first is for standard trace data msgs 31 * and the second to dump buffers to the printer. 32 * 33 * this routine uses a queueing technique to handle 34 * the printer. standard trace messages must fit 35 * in one buffer (60 chars), and we will not allocate 36 * any buffers for printer trace if there are fewer 37 * than 64 left in the free pool. 38 * 39 *********************************************************** 40 41 symdef ptrace 42 symdef ptrabf 43 symdef pterm 44 symdef pspec 45 46 symref octasc 47 symref getbuf 48 symref frebuf 49 symref meterc 50 00000 52 systm assm 01 12-10-82 15.972 multics/mcs printer trace package page 4 datanet configuration description 000000 intv set 0 iom interrupt vector base address 000400 intc set 256 program interrupt cell base address 000420 fltst set 272 iom fault status base address 000440 fltv set 288 processor fault vector base address 000450 iomm set 296 iom mailbox base address *************************** * iom channel assignments * *************************** 000000 tych set 0 typewriter channel 000002 lpch set 2 line printer channel 000004 dich set 4 direct interface adaptor 000006 h1ch set 6 high speed line adapter number one 000007 h2ch set 7 high speed line adapter number two 000010 h3ch set 8 high speed line adapter number three 000011 l1ch set 9 low speed line adapter number one 000012 l2ch set 10 low speed line adapter number two 000013 l3ch set 11 low speed line adapter number three 000014 l4ch set 12 low speed line adapter number four 000015 l5ch set 13 low speed line adapter number five 000016 l6ch set 14 low speed line adapter number six 000077 tmch set 63 interval timer channel 000077 swch set 63 data switch channel assm 01 12-10-82 15.972 multics/mcs printer trace package page 5 datanet configuration description ************************* * iom interrupt vectors * ************************* 000000 tyft set 0 typewriter fault 000001 tyrq set 1 typewriter request 000002 tytm set 2 typewriter terminate 000040 lpft set 32 line printer fault 000041 lpat set 33 line printer attention 000042 lptm set 34 line printer terminate 000100 dift set 64 dia fault 000102 ditm set 66 dia terminate 000003 dis0 set 3 dia special - 0 000023 dis1 set 19 dia special - 1 000043 dis2 set 35 dia special - 2 000063 dis3 set 51 dia special - 3 000103 dis4 set 67 dia special - 4 000123 dis5 set 83 dia special - 5 000143 dis6 set 99 dia special - 6 000163 dis7 set 115 dia special - 7 000203 dis8 set 131 dia special - 8 000223 dis9 set 147 dia special - 9 000243 dis10 set 163 dia special - 10 000263 dis11 set 179 dia special - 11 000303 dis12 set 195 dia special - 12 000323 dis13 set 211 dia special - 13 000343 dis14 set 227 dia special - 14 000363 dis15 set 243 dia special - 15 assm 01 12-10-82 15.972 multics/mcs printer trace package page 6 datanet configuration description 000140 h1ft set 96 hsla 1 fault 000004 h1a0 set 4 hsla 1 subch 0 active terminate vector 000005 h1a16 set 5 hsla 1 subch 16 active terminate vector 000006 h1c0 set 6 hsla 1 subch 0 config terminate vector 000007 h1c16 set 7 hsla 1 subch 16 config terminate vector 000024 h1a1 set 20 hsla 1 subch 1 active terminate vector 000025 h1a17 set 21 hsla 1 subch 17 active terminate vector 000026 h1c1 set 22 hsla 1 subch 1 config terminate vector 000027 h1c17 set 23 hsla 1 subch 17 config terminate vector 000044 h1a2 set 36 hsla 1 subch 2 active terminate vector 000045 h1a18 set 37 hsla 1 subch 18 active terminate vector 000046 h1c2 set 38 hsla 1 subch 2 config terminate vector 000047 h1c18 set 39 hsla 1 subch 18 config terminate vector 000064 h1a3 set 52 hsla 1 subch 3 active terminate vector 000065 h1a19 set 53 hsla 1 subch 19 active terminate vector 000066 h1c3 set 54 hsla 1 subch 3 config terminate vector 000067 h1c19 set 55 hsla 1 subch 19 config terminate vector 000104 h1a4 set 68 hsla 1 subch 4 active terminate vector 000105 h1a20 set 69 hsla 1 subch 20 active terminate vector 000106 h1c4 set 70 hsla 1 subch 4 config terminate vector 000107 h1c20 set 71 hsla 1 subch 20 config terminate vector 000124 h1a5 set 84 hsla 1 subch 5 active terminate vector 000125 h1a21 set 85 hsla 1 subch 21 active terminate vector 000126 h1c5 set 86 hsla 1 subch 5 config terminate vector 000127 h1c21 set 87 hsla 1 subch 21 config terminate vector assm 01 12-10-82 15.972 multics/mcs printer trace package page 7 datanet configuration description 000144 h1a6 set 100 hsla 1 subch 6 active terminate vector 000145 h1a22 set 101 hsla 1 subch 22 active terminate vector 000146 h1c6 set 102 hsla 1 subch 6 config terminate vector 000147 h1c22 set 103 hsla 1 subch 22 config terminate vector 000164 h1a7 set 116 hsla 1 subch 7 active terminate vector 000165 h1a23 set 117 hsla 1 subch 23 active terminate vector 000166 h1c7 set 118 hsla 1 subch 7 config terminate vector 000167 h1c23 set 119 hsla 1 subch 23 config terminate vector 000204 h1a8 set 132 hsla 1 subch 8 active terminate vector 000205 h1a24 set 133 hsla 1 subch 24 active terminate vector 000206 h1c8 set 134 hsla 1 subch 8 config terminate vector 000207 h1c24 set 135 hsla 1 subch 24 config terminate vector 000224 h1a9 set 148 hsla 1 subch 9 active terminate vector 000225 h1a25 set 149 hsla 1 subch 25 active terminate vector 000226 h1c9 set 150 hsla 1 subch 9 config terminate vector 000227 h1c25 set 151 hsla 1 subch 25 config terminate vector 000244 h1a10 set 164 hsla 1 subch 10 active terminate vector 000245 h1a26 set 165 hsla 1 subch 26 active terminate vector 000246 h1c10 set 166 hsla 1 subch 10 config terminate vector 000247 h1c26 set 167 hsla 1 subch 26 config terminate vector 000264 h1a11 set 180 hsla 1 subch 11 active terminate vector 000265 h1a27 set 181 hsla 1 subch 27 active terminate vector 000266 h1c11 set 182 hsla 1 subch 11 config terminate vector 000267 h1c27 set 183 hsla 1 subch 27 config terminate vector 000304 h1a12 set 196 hsla 1 subch 12 active terminate vector 000305 h1a28 set 197 hsla 1 subch 28 active terminate vector assm 01 12-10-82 15.972 multics/mcs printer trace package page 8 datanet configuration description 000306 h1c12 set 198 hsla 1 subch 12 config terminate vector 000307 h1c28 set 199 hsla 1 subch 28 config terminate vector 000324 h1a13 set 212 hsla 1 subch 13 active terminate vector 000325 h1a29 set 213 hsla 1 subch 29 active terminate vector 000326 h1c13 set 214 hsla 1 subch 13 config terminate vector 000327 h1c29 set 215 hsla 1 subch 29 config terminate vector 000344 h1a14 set 228 hsla 1 subch 14 active terminate vector 000345 h1a30 set 229 hsla 1 subch 30 active terminate vector 000346 h1c14 set 230 hsla 1 subch 14 config terminate vector 000347 h1c30 set 231 hsla 1 subch 30 config terminate vector 000364 h1a15 set 244 hsla 1 subch 15 active terminate vector 000365 h1a31 set 245 hsla 1 subch 31 active terminate vector 000366 h1c15 set 246 hsla 1 subch 15 config terminate vector 000367 h1c31 set 247 hsla 1 subch 31 config terminate vector 000220 l1ft set 144 lsla 1 fault 000221 l1a set 145 lsla 1 active terminate vector 000222 l1c set 146 lsla 1 configuration terminate vector 000240 l2ft set 160 lsla 2 fault 000241 l2a set 161 lsla 2 active terminate vector 000242 l2c set 162 lsla 2 configuration terminate vector 000260 l3ft set 176 lsla 3 fault 000261 l3a set 177 lsla 3 active terminate vector 000262 l3c set 178 lsla 3 configuration terminate vector 000300 l4ft set 192 lsla 4 fault 000301 l4a set 193 lsla 4 active terminate vector assm 01 12-10-82 15.972 multics/mcs printer trace package page 9 datanet configuration description 000302 l4c set 194 lsla 4 configuration terminate vector 000320 l5ft set 208 lsla 5 fault 000321 l5a set 209 lsla 5 active terminate vector 000322 l5c set 210 lsla 5 configuration terminate vector 000340 l6ft set 224 lsla 6 fault 000341 l6a set 225 lsla 6 active terminate vector 000342 l6c set 226 lsla 6 configuration terminate vector 000360 tmft set 240 timer channel fault 000361 tmro set 241 interval timer runout 000362 etr set 242 elapsed timer roll-over assm 01 12-10-82 15.972 multics/mcs printer trace package page 10 datanet configuration description *************************** * program interrupt cells * *************************** 000400 ilev0 set 256 level 0 (common peripheral fault) 000401 ilev1 set 257 level 1 (common peripheral req/attn) 000402 ilev2 set 258 level 2 (common peripheral terminate) 000403 ilev3 set 259 level 3 (dia special) 000404 ilev4 set 260 level 4 (hsla 1 subch 0-15 active) 000405 ilev5 set 261 level 5 (hsla 1 subch 16-31 active) 000406 ilev6 set 262 level 6 (hsla 1 subch 0-15 config) 000407 ilev7 set 263 level 7 (hsla 1 subch 16-31 config) 000410 ilev8 set 264 level 8 (hsla 2 subch 0-15 active) 000411 ilev9 set 265 level 9 (hsla 2 subch 16-31 active) 000412 ilev10 set 266 level 10 (hsla 2 subch 0-15 config) 000413 ilev11 set 267 level 11 (hsla 2 subch 16-31 config) 000414 ilev12 set 268 level 12 (hsla 3 subch 0-15 active) 000415 ilev13 set 269 level 13 (hsla 3 subch 16-31 active) 000416 ilev14 set 270 level 14 (hsla 3 subch 0-15 config) 000417 ilev15 set 271 level 15 (hsla 3 subch 16-31 config) ******************** * iom fault status * ******************** 000420 tyfts set 272 typewriter fault status word 000422 lpfts set 274 line printer fault status word 000424 difts set 276 dia fault status word 000426 h1fts set 278 hsla 1 fault status word 000427 h2fts set 279 hsla 2 fault status word assm 01 12-10-82 15.972 multics/mcs printer trace package page 11 datanet configuration description 000430 h3fts set 280 hsla 3 fault status word 000431 l1fts set 281 lsla 1 fault status word 000432 l2fts set 282 lsla 2 fault status word 000433 l3fts set 283 lsla 3 fault status word 000434 l4fts set 284 lsla 4 fault status word 000435 l5fts set 285 lsla 5 fault status word 000436 l6fts set 286 lsla 6 fault status word 000437 tmfts set 287 timer fault status word *************************** * processor fault vectors * *************************** 000440 suflt set 288 startup fault 000441 sdflt set 289 shutdown fault 000442 parflt set 290 memory parity fault 000443 iopflt set 291 illegal operation fault 000444 ovflt set 292 overflow fault 000445 memflt set 293 illegal memory operation fault 000446 dvflt set 294 divide check fault 000447 ipiflt set 295 illegal program interrupt fault assm 01 12-10-82 15.972 multics/mcs printer trace package page 12 datanet configuration description ************************************ * iom mailbox communication region * ************************************ 000450 itmb set 296 interval timer mailbox 000451 etmb set 297 elapsed timer mailbox 000454 dimb set 300 dia pcw mailbox 000456 dist set 302 dia status icw mailbox 000460 tyst set 304 typewriter status icw mailbox 000462 tyicw set 306 typewriter data icw mailbox 000470 lpst set 312 line printer status icw mailbox 000472 lpicw set 314 line printer data icw mailbox 000475 cptp set 317 cpu page table pointer 000476 yelcnt set 318 memory yellow counter (edac corected erro 000500 l1mb set 320 lsla 1 mailbox base address 000520 l2mb set 336 lsla 2 mailbox base address 000540 l3mb set 352 lsla 3 mailbox base address 000560 l4mb set 368 lsla 4 mailbox base address 000600 l5mb set 384 lsla 5 mailbox base address 000620 l6mb set 400 lsla 6 mailbox base address 001000 h1mb set 512 hsla 1 mailbox base address 002000 h2mb set 1024 hsla 2 mailbox base address 003000 h3mb set 1536 hsla 3 mailbox base address 002000 .end. set 1024 end of iom mailbox communication region 00000 53 comreg assm 01 12-10-82 15.972 multics/mcs printer trace package page 13 system communications region ********************************** * system communication region * ********************************** 000640 .crldt set 416 date and time of binding 000644 .crbdt set 420 date and time of bootloading 000650 .crbuf set 424 starting address of buffer area 000651 .crmem set 425 last location of memory 000652 .crnbf set 426 number of buffers available 000653 .criom set 427 start of iom table 000654 .crnhs set 428 number of hsla's configured 000655 .crnls set 429 number of lsla's configured 000656 .crcon set 430 console enabled flag 000657 .crmod set 431 starting address of module chain 000660 .crnxa set 432 ptr to next avaliable buffer 000661 .crtra set 433 trace entry enable mask 000662 .crtrb set 434 base address of trace table 000663 .crtrc set 435 next available location in trace table 000664 .crreg set 436 disaster fault register storage location 000665 .crttb set 437 location of tib table 000666 .crtte set 438 location of end of tib table 000667 .crdly set 439 head of delay table chain 000670 .crver set 440 mcs version number, 4 chars 000672 .crbrk set 442 addr of breakpoint control table 000673 .crtsw set 443 if non-zero, tracing will cease 000674 .crnxs set 444 next free small block 000675 .crnbs set 445 number of buffers devoted to small space 000676 .crcct set 446 address of first cct descriptor assm 01 12-10-82 15.972 multics/mcs printer trace package page 14 system communications region 000677 .crskd set 447 address of scheduler data block 000700 .cretb set 448 list of echo-negotiation bit tables 000701 .crcpt set 449 address of cpu page table 000702 .crpte set 450 address of variable cpu page table entry 000703 .crtsz set 451 size of trace data buffer 000704 .crmet set 452 non-zero if metering enabled 000705 .crtdt set 453 address of tib for t&d executive channel 000706 .crbtm set 454 address of time meters for getbuf/frebuf 000760 .crcpr set 496 copyright notice 00000 54 buffer assm 01 12-10-82 15.972 multics/mcs printer trace package page 15 buffer format 000000 bf.nxt equ 0 address of next buffer in chain 000001 bf.siz equ bf.nxt+1 size of buffer (bits0-2) 000001 bf.flg equ bf.nxt+1 flags (bits3-8) 000001 bf.tly equ bf.nxt+1 tally of buffer (bits9-17) 000002 bf.dta equ bf.siz+1 start of data 000040 bufsiz equ 32 buffer size 000074 bufnch equ bufsiz*2-4 number of data characters in a buffer 000050 bufmax equ 40 maximum number of input buffers 000012 bufpre equ 10 number of buffers to trigger pre-exhaust 000005 bufshf equ 5 number of bits shifted to divide by bufsi 000024 bufres equ 20 number of reserved buffers 700000 bufsmk bool 700000 mask to isolate bf.siz 077000 buffmk bool 077000 mask to isolate bf.flg 000777 buftmk bool 000777 mask to isolate bf.tly 000002 bufthr equ 2 threshold at which to send send_output 000400 bfmsiz equ 256 maximum buffer size in words ******************************** * buffer flags ******************************** 040000 bfflst bool 040000 last buffer in message 020000 bffbrk bool 020000 buffer contains break character 010000 bfftra bool 010000 throw away this buffer when done inputtin 004000 bffrpy bool 004000 buffer is last in replay chain 002000 bffctl bool 002000 buffer consists of keybd/prtr control 001000 bffhld bool 001000 hold output buffer until dmpout assm 01 12-10-82 15.972 multics/mcs printer trace package page 16 macros, constants and stuff 56 00000 57 ptrc null 00000 58 start ptrc,10 symdef -.chain 00000 even 000012 modnum equ 10 00000 000012 0 .chain dec 10 00001 476351 0 bci 2,ptrc 00002 232020 0 00003 0 00000 1 ind ptrc 00004 010201 0 date 00005 001002 0 00006 330000 0 bci 4,.001. 00007 013320 0 00010 202020 0 00011 202020 0 60 61 mesg macro 62 pmc save,off 63 pcc save,off 64 temp set #1+1 65 temp set temp/2 66 dec #1 67 ascii temp,#2 68 pcc restore 69 pmc restore 70 endm 71 72 mpy macro 73 mpf #1 74 lrl 1 75 endm mpy 76 77 000100 78 thresh equ 64 we won't allocate a buffer if there aren't 79 at least this many left 80 000001 81 bufsw bool 000001 000040 82 blank bool 040 000052 83 star bool 052 * character 000002 84 tslew bool 02 bit to tell printer to slew to top of form 777775 85 ntslew equ -3 complement of tslew assm 01 12-10-82 15.972 multics/mcs printer trace package page 17 ptrace - entry to do normal printer tracing 00012 87 ptrace subr ptr,(x1,x3) 88 89 *********************************************************** 90 * 91 * ptrace 92 * 93 * this routine prepares and prints normal 94 * printer tracing messages. 95 * 96 * at entry: 97 * x2 - points to trace data words 98 * a - contains module number and switches 99 * q - contains trace type indicator 100 * 101 *********************************************************** 102 00023 0 13 124 147 103 stx2 datap-* save ptr for awhile 00024 0 17 130 154 104 sta modsw-* save module number/switch word 00025 0 57 130 155 105 stq ttype-* and trace type word, too 106 00026 0 43 126 154 107 ldx1 modsw-* get module number of caller 00027 4 43 101 130 108 ldx1 a.a006-*,* (modtab,1) get address of module's message table 109 (-1 to index by module) 00030 0 42 125 155 110 adcx1 ttype-* index by type 00031 1 43 777 0 111 ldx1 -1,1 x1 now points to message for specified module 112 and specified trace type 113 find out how many buffers are left 00032 4 07 104 136 114 lda a.a012-*,* .crnbf 00033 422 100 0 115 icmpa thresh are there enough? 00034 0 75 064 120 116 tmi tra160-* if not, send "lost" message 00035 473 040 0 117 ilq bufsiz else we will get a buffer to send to printer 00036 4 10 073 131 118 tsy a.a007-*,* getbuf 00037 0 71 061 120 119 tra tra160-* if we couldn't get one, send "lost" message 00040 0 50 106 146 120 stx3 bufadr-* save address of buffer 00041 3333 00 0 121 cx3a 00042 0 06 075 137 122 ada l.a005-* bf.dta,b.0 00043 0332 00 0 123 cax2 data target address into x2 (with char addr) 124 00044 1 07 000 0 125 lda 0,1 get message length in chars 00045 3 17 001 0 126 sta bf.tly,3 it will be buffer tally 00046 322 777 0 127 iera -1 negate it 128 this is actually -(tally+1) in case we need blank end of binary card 00000002 00047 0 17 101 150 129 sta msglen-* save the complement 130 00050 2332 00 0 131 cx1a set x1 to point to beginning of message 00051 0 06 067 140 132 ada l.a006-* 1,b.0 00052 4332 00 0 133 cax1 with character addressing 134 135 start copying characters into data buffer 00053 136 tra100 null assm 01 12-10-82 15.972 multics/mcs printer trace package page 18 ptrace - entry to do normal printer tracing 00053 1 07 200 0 137 lda 0,1,b.0 get message character 00054 422 052 0 138 icmpa star is it a *? 00055 0 64 035 112 139 tnz tra150-* no, just copy char into buffer 140 else must substitute program data 00056 0 41 054 132 141 ldx3 a.a008-* addr(conv),b.0 00057 4 47 070 147 142 ldq datap-*,* get data word to convert to ascii 00060 4 10 053 133 143 tsy a.a009-*,* octasc 00061 473 000 0 144 ilq 0 initialize count of digits 00062 0 41 050 132 145 ldx3 a.a008-* get starting address again 00063 146 tra110 null 00063 573 001 0 147 iaq 1 increment digit count 00064 173 300 0 148 iacx1 0,b.1 point to next char 00065 0 76 063 150 149 aos msglen-* if any 00066 0 74 004 72 150 tze tra120-* 00067 1 07 200 0 151 lda 0,1,b.0 get character 00070 422 052 0 152 icmpa star another star? 00071 0 74 772 63 153 tze tra110-* yes, up digit count and check again 154 00072 155 tra120 null store digits in buffer 00072 7333 00 0 156 cqa first figure out where to start 00073 773 772 0 157 iaa -6 00074 0 74 004 100 158 tze tra140-* want all six 00075 159 tra130 null 00075 373 300 0 160 iacx3 0,b.1 skip leading zero 00076 773 001 0 161 iaa 1 any more to skip? 00077 0 75 776 75 162 tmi tra130-* yes, check again 163 00100 164 tra140 null 00100 3 07 200 0 165 lda 0,3,b.0 get x3 -> digit 00101 2 17 200 0 166 sta 0,2,b.0 put it in message buffer 00102 373 300 0 167 iacx3 0,b.1 bump from and 00103 273 300 0 168 iacx2 0,b.1 to pointers 00104 573 777 0 169 iaq -1 any more digits? 00105 0 64 773 100 170 tnz tra140-* yes, get next one 00106 0 20 042 150 171 szn msglen-* end of message 00107 0 74 015 124 172 tze tra170-* yes, go queue it 00110 1 07 200 0 173 lda 0,1,b.0 no, get character after stars 00111 0 76 036 147 174 aos datap-* pick up next data word next time 175 00112 176 tra150 null literal character from message 00112 2 17 200 0 177 sta 0,2,b.0 into buffer 00113 0 76 035 150 178 aos msglen-* any more? 00114 0 74 010 124 179 tze tra170-* no, go send it 00115 173 300 0 180 iacx1 0,b.1 yes, bump from and end of binary card 00000003 00116 273 300 0 181 iacx2 0,b.1 to pointers 00117 0 71 734 53 182 tra tra100-* go around again 183 00120 184 tra160 null if no buffer could be allocated, 185 queue the dummy buffer that says "lost" 00120 0 41 014 134 186 ldx3 a.a010-* addr(lost) assm 01 12-10-82 15.972 multics/mcs printer trace package page 19 ptrace - entry to do normal printer tracing 00121 3 20 000 0 187 szn 0,3 is it already queued? 00122 0 64 004 126 188 tnz trabak-* yes, forget it 00123 0 71 002 125 189 tra tra180-* 190 00124 191 tra170 null 00124 0 41 022 146 192 ldx3 bufadr-* 00125 193 tra180 null x3 points to buffer to be queued for printing 00125 4 10 010 135 194 tsy a.a011-*,* pquer 195 00126 196 trabak return ptrace 197 198 00130 1 00537 1 199 a.a006 ind modtab-1,1 to address table of message table addresses 00131 0 02000 3 200 a.a007 ind getbuf buffer allocating suroutine 00132 2 00151 1 201 a.a008 zero conv,b.0 00133 0 04000 3 202 a.a009 ind octasc 00134 0 00142 1 203 a.a010 ind lost 00135 0 00322 1 204 a.a011 ind pquer 00136 0 00652 0 205 a.a012 ind .crnbf number of buffers available 206 00137 2 00002 0 207 l.a005 zero bf.dta,b.0 00140 2 00001 0 208 l.a006 zero 1,b.0 209 00141 233100 0 00142 210 even 00142 000000 0 211 lost dec 0 dummy buffer for "lost" message 00143 000004 0 212 dec 4 00144 114117 0 213 aci 2,lost 00145 123124 0 214 00146 215 bufadr bss 1 address of allocated buffer 00147 216 datap bss 1 address of current data word 00150 217 msglen bss 1 -(remaining no. of chars in message) 00151 218 conv bss 3 space for putting data word converted to ascii 00154 219 modsw bss 1 module number and switch word 00155 220 ttype bss 1 trace type assm 01 12-10-82 15.972 multics/mcs printer trace package page 20 ptrabf -- subroutine to do actual printer tracing 222 223 ************************************************************************ 224 * 225 * ptrabf is called by traceb if the printer is configured 226 * 227 * the word containing the module number and buffer size is passed in the a 228 * 229 * the low-order processor switch and the switch corresponding to the 230 * module number must be on for tracing to occur 231 * 232 * eight words per line will be sent to the printer 233 * 234 ************************************************************************ 235 00156 236 ptrabf subr trb 237 00161 2335 14 0 238 lrl 12 isolate modnum 00162 773 777 0 239 iaa -1 subtract one 00163 0 37 121 304 240 ora l.b002-* get shift template 00164 0 17 003 167 241 sta trbshf-* for shift instruction 00165 673 001 0 242 ila 1 get high-order bit alone in a 00166 0336 21 0 243 als 17 for shifting 00167 2337 00 0 244 trbshf arl ** (modified above) 245 00170 4 31 104 274 246 cana a.b001-*,* .crtra 00171 0 74 074 265 247 tze trbbak-* bit not on in enable mask 248 00172 073 077 0 249 sel swch get processor switches end of binary card 00000004 00173 0 70 112 305 250 stex bprcsw-* 251 00174 122 001 0 252 iora bufsw bufsw + module switch 00175 0 17 111 306 253 sta temp2-* must both be on 00176 0 34 107 305 254 ana bprcsw-* 00177 0 27 107 306 255 cmpa temp2-* 00200 0 64 065 265 256 tnz trbbak-* else we'll skip it 00201 673 000 0 257 ila 0 258 size is in q(0-11) 259 if we shift 9 high-order bits into a 00202 0334 11 0 260 lls 9 we will have size/8 00203 322 777 0 261 iera -1 negate it 00204 773 001 0 262 iaa 1 00205 0 17 102 307 263 sta remain-* this will be main loop counter 00206 0 50 102 310 264 stx3 datptr-* hang on to origin of buffer 265 put out heading message 00207 473 040 0 266 ilq bufsiz get a buffer 00210 4 10 065 275 267 tsy a.b002-*,* getbuf 00211 0 71 056 267 268 tra trb040-* no buffer, just say "lost" 00212 673 020 0 269 ila 16 set tally for introductory message 00213 3 17 001 0 270 sta bf.tly,3 00214 0 50 075 311 271 stx3 outptr-* assm 01 12-10-82 15.972 multics/mcs printer trace package page 21 ptrabf -- subroutine to do actual printer tracing 00215 0 47 073 310 272 ldq datptr-* get address of buffer being dumped 00216 0 41 062 300 273 ldx3 a.b005-* adrasc,b.0 00217 4 10 057 276 274 tsy a.b003-*,* (octasc) convert it for output 00220 673 774 0 275 ila -4 00221 0 17 065 306 276 sta temp2-* 00222 0 43 067 311 277 ldx1 outptr-* 00223 173 002 0 278 iacx1 bf.dta point x1 at word 2 of output buffer 00224 0 03 055 301 279 ldx2 a.b006-* addr(bufmsg) 280 00225 281 trb010 null 00225 2 04 000 0 282 ldaq 0,2 put heading message into buffer 00226 1 14 000 0 283 staq 0,1 00227 273 002 0 284 iacx2 2 00230 173 002 0 285 iacx1 2 00231 0 76 055 306 286 aos temp2-* 00232 0 75 773 225 287 tmi trb010-* 288 now send it to the printer 00233 0 41 056 311 289 ldx3 outptr-* 00234 4 10 043 277 290 tsy a.b004-*,* pquer 291 292 for every 8 words, we will build 293 a buffer full of octal ascii digits 294 00235 0 03 053 310 295 ldx2 datptr-* 00236 296 trb020 null 00236 473 040 0 297 ilq bufsiz get a buffer 00237 4 10 036 275 298 tsy a.b002-*,* getbuf 00240 0 71 027 267 299 tra trb040-* "lost" if no buffer 00241 0 50 050 311 300 stx3 outptr-* save buffer pointer for queuing routine end of binary card 00000005 00242 673 067 0 301 ila 55 these buffers have 55 characters always 00243 3 17 001 0 302 sta bf.tly,3 00244 3333 00 0 303 cx3a 00245 0 06 036 303 304 ada l.b001-* bf.dta,b.0 00246 4333 00 0 305 cax3 x3 points to data portion of output buffer 306 now put eight words wotrth of ascii 307 into that buffer 00247 673 770 0 308 ila -8 00250 0 17 036 306 309 sta temp2-* 310 00251 311 trb030 null 00251 2 47 000 0 312 ldq 0,2 get data words 00252 4 10 024 276 313 tsy a.b003-*,* (octasc) convert into output buffer 00253 673 040 0 314 ila blank followed by a blank 00254 3 17 200 0 315 sta 0,3,b.0 00255 373 300 0 316 iacx3 0,b.1 put in a blank 00256 273 001 0 317 iacx2 1 get next data word 00257 0 76 027 306 318 aos temp2-* done eight words yet? 00260 0 75 771 251 319 tmi trb030-* no, do the next one 320 yes, queue the line for printing 00261 0 41 030 311 321 ldx3 outptr-* assm 01 12-10-82 15.972 multics/mcs printer trace package page 22 ptrabf -- subroutine to do actual printer tracing 00262 4 10 015 277 322 tsy a.b004-*,* pquer 323 bump to next line 00263 0 76 024 307 324 aos remain-* are there any more? 00264 0 75 752 236 325 tmi trb020-* yes, go process next line 326 327 00265 328 trbbak null all done 00265 329 return ptrabf 330 331 332 00267 333 trb040 null if we couldn't get a buffer, 334 we'll queue the "lost" message 00267 0 41 013 302 335 ldx3 a.b007-* addr(lost) 00270 3 20 000 0 336 szn 0,3 if it's not queued already 00271 0 64 774 265 337 tnz trbbak-* 00272 4 10 005 277 338 tsy a.b004-*,* pquer 00273 0 71 772 265 339 tra trbbak-* now return 340 341 342 343 00274 0 00661 0 344 a.b001 ind .crtra trace enable mask 00275 0 02000 3 345 a.b002 ind getbuf 00276 0 04000 3 346 a.b003 ind octasc octal-ascii conversion routine 00277 0 00322 1 347 a.b004 ind pquer 00300 2 00317 1 348 a.b005 zero adrasc,b.0 00301 0 00312 1 349 a.b006 zero bufmsg 00302 0 00142 1 350 a.b007 ind lost 351 352 00303 2 00002 0 353 l.b001 zero bf.dta,b.0 00304 2337 00 0 354 l.b002 arl 0 355 356 00305 357 bprcsw bss 1 for processor switches 00306 358 temp2 bss 1 a temporary 00307 359 remain bss 1 number of lines remaining to print 00310 360 datptr bss 1 pointer to input buffer 00311 361 outptr bss 1 pointer to output buffer 362 00312 363 even 00312 142165 0 364 bufmsg ascii 5,buffer at 00313 146146 0 end of binary card 00000006 00314 145162 0 00315 040141 0 00316 164040 0 00317 365 adrasc bss 3 address will be converted here 366 assm 01 12-10-82 15.972 multics/mcs printer trace package page 23 pquer -- queue a line for printing 368 369 ************************************************************************ 370 * 371 * pquer is called from ptrace or ptrabf to queue a line for the printer 372 * 373 * the address of the buffer containing the line is passed in x3 374 * if nothing is already queued, pwrite will be called to initiate the i/o; 375 * otherwise, the buffer will be added to the chain of queued i/o 376 * 377 ************************************************************************ 378 00322 379 pquer subr pqu,(inh,x1) 380 00334 0 43 203 537 381 ldx1 plast-* prepare to add buffer to queue 00335 0 64 005 342 382 tnz pqu010-* 383 if no old chain, 00336 0 50 200 536 384 stx3 pfirst-* make this first and last 00337 0 50 200 537 385 stx3 plast-* 00340 0 10 006 346 386 tsy pwrite-* and start i/o 00341 0 71 003 344 387 tra pqubak-* and return 388 00342 389 pqu010 null a chain is there, 00342 0 50 175 537 390 stx3 plast-* make this the last buffer 00343 1 50 000 0 391 stx3 0,1 and chain it to previous one 392 00344 393 pqubak null 00344 394 return pquer assm 01 12-10-82 15.972 multics/mcs printer trace package page 24 pwrite -- start i/o on the printer 396 397 ************************************************************************ 398 * 399 * pfirst points to the buffer to be printed, whose second word contains 400 * a character tally and whose data starts in the third word 401 * 402 * we will keep a line count per page so as to slew to top of 403 * form every 66 lines. 404 * 405 ************************************************************************ 406 00346 407 pwrite subr pwr,(i,x3,a,q) 408 409 * 410 * load print buffer for prt300 here, once only 411 * 412 00365 0 41 151 536 413 ldx3 pfirst-* get pointer to head of i/o chain end of binary card 00000007 00366 0 74 032 420 414 tze pwrbak-* oops, there isn't any 00367 3333 00 0 415 cx3a get data address 00370 0 06 130 520 416 ada l.c001-* bf.dta,c.0 00371 4 17 121 512 417 sta a.c001-*,* lpicw (printer data icw mailbox) 418 we have to send the printer a tally of 419 6-bit bytes (god knows why) 00372 3 07 001 0 420 lda bf.tly,3 get tally 00373 773 001 0 421 iaa 1 make sure shift doesn't truncate 00374 0337 01 0 422 ars 1 divide by 2 00375 423 mpy l.c005-* =3 00377 4 57 117 516 424 stq a.c006-*,* lpicw+1 425 00400 0 56 134 534 426 stz pstat-* zero out printer status 00401 0 56 134 535 427 stz pstat+1-* 00402 0 04 120 522 428 ldaq l.c002-* printer status icw 00403 4 14 110 513 429 staq a.c002-*,* lpst (printer status icw mailbox) 430 00404 0 07 123 527 431 lda linect-* get line count for this page 00405 773 001 0 432 iaa 1 bump it 00406 0 27 122 530 433 cmpa maxlin-* will this be last line on page? 00407 0 75 005 414 434 tmi pwr010-* no, branch 435 yes, twiddle pcw to do slew to 436 top-of-form 00410 673 002 0 437 ila tslew 00411 0 72 122 533 438 orsa prtpcw+1-* 00412 0 56 115 527 439 stz linect-* zero line count 00413 0 71 002 415 440 tra 2 00414 441 pwr010 null 00414 0 17 113 527 442 sta linect-* update line count 443 00415 3331 00 0 444 inh inhibit indicators for sel and cioc 00416 073 002 0 445 sel lpch select the line printer channel assm 01 12-10-82 15.972 multics/mcs printer trace package page 25 pwrite -- start i/o on the printer 00417 0 60 113 532 446 cioc prtpcw-* connect 447 00420 448 pwrbak return pwrite 449 assm 01 12-10-82 15.972 multics/mcs printer trace package page 26 pterm -- printer terminate interrupt processor 451 452 ************************************************************************ 453 * 454 * assuming good status, buffer at head of printer i/o queue (pfirst) 455 * will be freed, unless it was dummy buffer containing "lost" message 456 * 457 * if we find we just did slew to top of form (linect = 0), 458 * we must fix pcw to resume slewing one line at a time 459 * 460 ************************************************************************ 461 00422 462 pterm subr pte,(inh,a,q,x3) end of binary card 00000008 463 00442 0 04 072 534 464 ldaq pstat-* get status 00443 0 74 031 474 465 tze ptebak-* no status, don't bother 466 00444 0 31 060 524 467 cana l.c003-* =o200000, power off 00445 0 64 027 474 468 tnz ptebak-* is useless 00446 0 31 057 525 469 cana l.c004-* 170000, major status mask 00447 0 74 003 452 470 tze pte100-* it's cool we'll proceed 471 472 ************************************************************************ 473 * code to deal with imperfect status goes here 474 * just meter it for now 475 ************************************************************************ 476 00450 473 006 0 477 ilq 6 00451 4 10 046 517 478 tsy a.c007-*,* meterc 479 00452 480 pte100 null 00452 0 41 064 536 481 ldx3 pfirst-* get address of block just printed 00453 3 07 000 0 482 lda 0,3 pointer to next block 00454 0 17 062 536 483 sta pfirst-* is now first 00455 0 64 002 457 484 tnz 2 if there is none, 00456 0 56 061 537 485 stz plast-* no last pointer either 486 00457 0 61 035 514 487 cmpx3 a.c003-* addr(lost) 00460 0 74 004 464 488 tze pte110-* if line printed was "lost" message, don't free it 00461 473 040 0 489 ilq bufsiz else free the buffer 00462 4 10 033 515 490 tsy a.c004-*,* frebuf 00463 0 71 002 465 491 tra 2 00464 492 pte110 null if "lost", just unchain the buffer 00464 3 56 000 0 493 stz 0,3 494 00465 0 20 042 527 495 szn linect-* just started a new page? 00466 0 64 003 471 496 tnz pte120-* 00467 673 775 0 497 ila ntslew yes, change pcw back to slew one line 00470 0 32 043 533 498 ansa prtpcw+1-* 499 00471 500 pte120 null assm 01 12-10-82 15.972 multics/mcs printer trace package page 27 pterm -- printer terminate interrupt processor 00471 0 20 045 536 501 szn pfirst-* another line to print? 00472 0 74 002 474 502 tze ptebak-* no, go away 00473 0 10 653 346 503 tsy pwrite-* yes, start it off 504 00474 505 ptebak return pterm assm 01 12-10-82 15.972 multics/mcs printer trace package page 28 pspec -- for printer special interrupts 507 508 just start any outstanding printer i/o 509 00476 510 pspec subr psp,(inh) 511 end of binary card 00000009 00505 0 20 031 536 512 szn pfirst-* is there any i/o? 00506 0 74 002 510 513 tze 2 no, forget it 00507 0 10 637 346 514 tsy pwrite-* yes, start it up 515 00510 516 return pspec assm 01 12-10-82 15.972 multics/mcs printer trace package page 29 data for printer code 518 00512 0 00472 0 519 a.c001 ind lpicw printer data icw mailbox 00513 0 00470 0 520 a.c002 ind lpst printer status icw mailbox 00514 0 00142 1 521 a.c003 ind lost dummy buffer for lost output 00515 0 01000 3 522 a.c004 ind frebuf 00516 0 00473 0 523 a.c006 ind lpicw+1 for storing tally 00517 0 03000 3 524 a.c007 ind meterc 525 00520 4 00002 0 526 l.c001 zero bf.dta,c.0 00521 233100 0 00522 527 even 00522 1 00534 1 528 l.c002 icw pstat,w.2,1 00523 000001 0 00524 200000 0 529 l.c003 oct 200000 00525 170000 0 530 l.c004 oct 170000 00526 000003 0 531 l.c005 dec 3 532 533 00527 0 00000 0 534 linect zero 0 number of lines on current page 00530 000074 0 535 maxlin dec 60 maximum lines/page 00531 000000 0 536 called oct 0 1 = pwrite has been called, 0 = 537 never been called 538 00532 539 even 00532 000000 0 540 prtpcw oct 0,111 non-edited, slew one line (changed on occasion 00533 000111 0 541 to slew to top-of-form) 00534 000000 0 542 pstat oct 0,0 printer status 00535 000000 0 543 00536 0 00000 0 544 pfirst zero 0 head of printer i/o queue 00537 0 00000 0 545 plast zero 0 tail of printer i/o queue assm 01 12-10-82 15.972 multics/mcs printer trace package page 30 printer tracing tables and messages 00540 547 modtab null 00540 0 00546 1 548 ind skdtrc 00541 0 01007 1 549 ind diatrc 00542 0 01403 1 550 ind inttrc 00543 0 01555 1 551 ind utltrc 00544 0 01671 1 552 ind lsltrc 00545 0 02104 1 553 ind hsltrc 554 555 00546 556 skdtrc null scheduler tracing messages 00546 0 00556 1 557 ind msg1.1 00547 0 00577 1 558 ind msg1.2 00550 0 00622 1 559 ind msg1.3 00551 0 00641 1 560 ind msg1.4 00552 0 00665 1 561 ind msg1.5 00553 0 00703 1 562 ind msg1.6 end of binary card 00000010 00554 0 00724 1 563 ind msg1.7 00555 0 00756 1 564 ind msg1.8 565 00556 566 msg1.1 mesg 31,(interrupt at *****, 3wjt ******) 00577 567 msg1.2 mesg 35,(idle, indicators ******, ier ******) 00622 568 msg1.3 mesg 28,(run interrupt routine ******) end of binary card 00000011 00641 569 msg1.4 mesg 37,(restart interrupted routine at ******) 00665 570 msg1.5 mesg 25,(run queued routine ******) end of binary card 00000012 00703 571 msg1.6 mesg 31,(set timer ****** for tib ******) 00724 572 msg1.7 mesg 49,(interval timer runout, current time ****** ******) end of binary card 00000013 00756 573 msg1.8 mesg 48,(queue routine, pri ******, rtn ******, x1 ******) 574 01007 575 diatrc null dia tracing messages 01007 0 01024 1 576 ind msg2.1 end of binary card 00000014 01010 0 01042 1 577 ind msg2.2 01011 0 01061 1 578 ind msg2.3 01012 0 01075 1 579 ind msg2.4 01013 0 01127 1 580 ind msg2.5 01014 0 01154 1 581 ind msg2.6 01015 0 01205 1 582 ind msg2.7 01016 0 01236 1 583 ind msg2.8 01017 0 01252 1 584 ind msg2.9 01020 0 01266 1 585 ind ms2.10 01021 0 01315 1 586 ind ms2.11 01022 0 01336 1 587 ind ms2.12 01023 0 01353 1 588 ind ms2.13 dial out 589 01024 590 msg2.1 mesg 26,(dia terminate, tcword = **) 01042 591 msg2.2 mesg 28,(dia interrupt for mailbox **) end of binary card 00000015 assm 01 12-10-82 15.972 multics/mcs printer trace package page 31 printer tracing tables and messages 01061 592 msg2.3 mesg 22,(dia reading mailbox **) 01075 593 msg2.4 mesg 49,(new entry in dia i/o queue: opcode ***, line ****) end of binary card 00000016 01127 594 msg2.5 mesg 40,(wcd in mailbox **: opcode ***, line ****) 01154 595 msg2.6 mesg 48,(using dia i/o queue entry: opcode ***, line ****) end of binary card 00000017 01205 596 msg2.7 mesg 47,(dia sending input count of ****** for line ****) 01236 597 msg2.8 mesg 22,(dia writing mailbox **) end of binary card 00000018 01252 598 msg2.9 mesg 22,(dia freeing mailbox **) 01266 599 ms2.10 mesg 44,(wtx in mailbox ** for line ****, *** buffers) end of binary card 00000019 01315 600 ms2.11 mesg 31,(rtx in mailbox ** for line ****) 01336 601 ms2.12 mesg 24,(alter parameters: ******) 01353 602 ms2.13 mesg 46,(dial: *** digits - ****** ****** ****** ******) end of binary card 00000020 603 01403 604 inttrc null interpreter tracing messages 605 01403 0 01410 1 606 ind msg3.1 01404 0 01433 1 607 ind msg3.2 01405 0 01457 1 608 ind msg3.3 01406 0 01512 1 609 ind msg3.4 01407 0 01535 1 610 ind msg3.5 611 01410 612 msg3.1 mesg 36,(itest: tib at ******, t.cur = ******) end of binary card 00000021 01433 613 msg3.2 mesg 37,(iwrite: tib at ******, t.cur = ******) 01457 614 msg3.3 mesg 51,(istat: tib at ******, t.cur = ******, status ******) end of binary card 00000022 01512 615 msg3.4 mesg 36,(itime: tib at ******, t.cur = ******) 01535 616 msg3.5 mesg 30,(op block at ******, type = ***) end of binary card 00000023 617 618 01555 619 utltrc null utilities tracing messages 01555 0 01561 1 620 ind msg4.1 01556 0 01605 1 621 ind msg4.2 01557 0 01627 1 622 ind msg4.3 01560 0 01651 1 623 ind msg4.4 624 01561 625 msg4.1 mesg 38,(buffer allocated at ******, size = ***) 01605 626 msg4.2 mesg 34,(buffer freed at ******, size = ***) end of binary card 00000024 01627 627 msg4.3 mesg 34,(request for ** buffers of size ***) 01651 628 msg4.4 mesg 29,(freeing buffer list at ******) end of binary card 00000025 629 01671 630 lsltrc null lsla tracing messages 631 01671 0 01700 1 632 ind msg5.1 assm 01 12-10-82 15.972 multics/mcs printer trace package page 32 printer tracing tables and messages 01672 0 01720 1 633 ind msg5.2 01673 0 01747 1 634 ind msg5.3 01674 0 01766 1 635 ind msg5.4 01675 0 02014 1 636 ind msg5.5 01676 0 02033 1 637 ind msg5.6 01677 0 02061 1 638 ind msg5.7 639 01700 640 msg5.1 mesg 29,(lsla interrupt, 3wjt = ******) 01720 641 msg5.2 mesg 43,(lsla output frame at ******, sfcm at ******) end of binary card 00000026 01747 642 msg5.3 mesg 28,(lsla output buffer at ******) 01766 643 msg5.4 mesg 42,(lsla input frame at ******, sfcm at ******) end of binary card 00000027 02014 644 msg5.5 mesg 27,(lsla input buffer at ******) 02033 645 msg5.6 mesg 41,(sending *** to lsla slot ** for line ****) end of binary card 00000028 02061 646 msg5.7 mesg 36,(escape in lsla slot ** for line ****) 647 648 02104 649 hsltrc null hsla tracing messages 02104 0 02111 1 650 ind msg6.1 02105 0 02144 1 651 ind msg6.2 02106 0 02171 1 652 ind msg6.3 02107 0 02211 1 653 ind msg6.4 02110 0 02241 1 654 ind msg6.5 655 02111 656 msg6.1 mesg 51,(hsla dcw processor, tib ******, list ******, len **) end of binary card 00000029 02144 657 msg6.2 mesg 39,(hsla pcw, tib ******, pcw ****** ******) end of binary card 00000030 02171 658 msg6.3 mesg 29,(hsla interrupt, 3wjt = ******) 02211 659 msg6.4 mesg 45,(hsla status, tib ******, status ****** ******) end of binary card 00000031 02241 660 msg6.5 mesg 51,(hsla, tib ******, attempting icw indicator recovery) 661 end of binary card 00000032 662 end 2274 is the next available location. 355map version/assembly dates gmpa 770711/071177 gmpb 770711/071177 gmpc 770711/071177 there were no warning flags in the above assembly assm 01 12-10-82 15.983 multics/mcs printer trace package page 33 octal symbol references by sequence no. 317 adrasc 365 348 365 130 a.a006 199 108 199 131 a.a007 200 118 200 132 a.a008 201 141 145 201 133 a.a009 202 143 202 134 a.a010 203 186 203 135 a.a011 204 194 204 136 a.a012 205 114 205 274 a.b001 344 246 344 275 a.b002 345 267 298 345 276 a.b003 346 274 313 346 277 a.b004 347 290 322 338 347 300 a.b005 348 273 348 301 a.b006 349 279 349 302 a.b007 350 335 350 512 a.c001 519 417 519 513 a.c002 520 429 520 514 a.c003 521 487 521 515 a.c004 522 490 522 516 a.c006 523 424 523 517 a.c007 524 478 524 2 bf.dta 54 54 207 278 353 526 1 bf.tly 54 54 126 270 302 420 2 b.0 137 151 165 166 173 177 201 207 208 315 348 353 3 b.1 148 160 167 168 180 181 316 40 blank 82 82 314 305 bprcsw 357 250 254 357 146 bufadr 215 120 192 215 312 bufmsg 364 349 364 40 bufsiz 54 54 117 266 297 489 1 bufsw 81 81 252 4 c.0 526 151 conv 218 201 218 147 datap 216 103 142 174 216 310 datptr 360 264 272 295 360 1007 diatrc 575 549 575 1 frebuf 48 522 2 getbuf 47 200 345 2104 hsltrc 649 553 649 1403 inttrc 604 550 604 652 .crnbf 53 53 205 661 .crtra 53 53 344 527 linect 534 431 439 442 495 534 137 l.a005 207 122 207 140 l.a006 208 132 208 303 l.b001 353 304 353 304 l.b002 354 240 354 520 l.c001 526 416 526 522 l.c002 528 428 528 524 l.c003 529 467 529 525 l.c004 530 469 530 assm 01 12-10-82 15.983 multics/mcs printer trace package page 34 octal symbol references by sequence no. 526 l.c005 531 423 531 142 lost 211 203 211 350 521 2 lpch 52 52 445 472 lpicw 52 52 519 523 470 lpst 52 52 520 1671 lsltrc 630 552 630 2 macwk1 510 87 196 236 329 379 394 407 448 462 505 510 516 4 macwk2 510 87 236 379 407 462 510 530 maxlin 535 433 535 3 meterc 49 524 154 modsw 219 104 107 219 540 modtab 547 199 547 1266 ms2.10 599 585 599 1315 ms2.11 600 586 600 1336 ms2.12 601 587 601 1353 ms2.13 602 588 602 556 msg1.1 566 557 566 577 msg1.2 567 558 567 622 msg1.3 568 559 568 641 msg1.4 569 560 569 665 msg1.5 570 561 570 703 msg1.6 571 562 571 724 msg1.7 572 563 572 756 msg1.8 573 564 573 1024 msg2.1 590 576 590 1042 msg2.2 591 577 591 1061 msg2.3 592 578 592 1075 msg2.4 593 579 593 1127 msg2.5 594 580 594 1154 msg2.6 595 581 595 1205 msg2.7 596 582 596 1236 msg2.8 597 583 597 1252 msg2.9 598 584 598 1410 msg3.1 612 606 612 1433 msg3.2 613 607 613 1457 msg3.3 614 608 614 1512 msg3.4 615 609 615 1535 msg3.5 616 610 616 1561 msg4.1 625 620 625 1605 msg4.2 626 621 626 1627 msg4.3 627 622 627 1651 msg4.4 628 623 628 1700 msg5.1 640 632 640 1720 msg5.2 641 633 641 1747 msg5.3 642 634 642 1766 msg5.4 643 635 643 2014 msg5.5 644 636 644 2033 msg5.6 645 637 645 2061 msg5.7 646 638 646 2111 msg6.1 656 650 656 2144 msg6.2 657 651 657 assm 01 12-10-82 15.983 multics/mcs printer trace package page 35 octal symbol references by sequence no. 2171 msg6.3 658 652 658 2211 msg6.4 659 653 659 2241 msg6.5 660 654 660 150 msglen 217 129 149 171 178 217 777775 ntslew 85 85 497 4 octasc 46 202 346 311 outptr 361 271 277 289 300 321 361 536 pfirst 544 384 413 481 483 501 512 544 537 plast 545 381 385 390 485 545 342 pqu010 389 382 389 344 pqubak 393 387 393 322 pquer 379 204 347 379 394 532 prtpcw 540 438 446 498 540 476 pspec 510 44 510 516 534 pstat 542 426 427 464 528 542 452 pte100 480 470 480 464 pte110 492 488 492 471 pte120 500 496 500 474 ptebak 505 465 468 502 505 422 pterm 462 43 462 505 156 ptrabf 236 42 236 329 12 ptrace 87 41 87 196 0 ptrc 57 57 58 414 pwr010 441 434 441 420 pwrbak 448 414 448 346 pwrite 407 386 407 448 503 514 307 remain 359 263 324 359 546 skdtrc 556 548 556 52 star 83 83 138 152 77 swch 52 52 249 306 temp2 358 253 255 276 286 309 318 358 32 temp 660 566 567 568 569 570 571 572 573 590 591 592 593 594 595 596 597 598 599 600 601 602 612 613 614 615 616 625 626 627 628 640 641 642 643 644 645 646 656 657 658 659 660 100 thresh 78 78 115 53 tra100 136 136 182 63 tra110 146 146 153 72 tra120 155 150 155 75 tra130 159 159 162 100 tra140 164 158 164 170 112 tra150 176 139 176 120 tra160 184 116 119 184 124 tra170 191 172 179 191 125 tra180 193 189 193 126 trabak 196 188 196 225 trb010 281 281 287 236 trb020 296 296 325 251 trb030 311 311 319 267 trb040 333 268 299 333 265 trbbak 328 247 256 328 337 339 167 trbshf 244 241 244 assm 01 12-10-82 15.983 multics/mcs printer trace package page 36 octal symbol references by sequence no. 2 tslew 84 84 437 155 ttype 220 105 110 220 1555 utltrc 619 551 619 1 w.2 528 ** 46688 words of memory were used by 355map for this assembly. ----------------------------------------------------------- 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