assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 1 preface program break 340 common length 0 v count bits 5 primary symdef entry bkpt 0 brkptr 15 brkhit 216 brktab 12 secondary symdef entry .chain 0 block length symref 1 gettib 2 istbrk 3 setptw end of binary card 00000001 assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 2 1 * *********************************************************** 2 * * * 3 * * copyright, (c) honeywell information systems inc., 1982 * 4 * * * 5 * * copyright (c) 1972 by massachusetts institute of * 6 * * technology and honeywell information systems, inc. * 7 * * * 8 * *********************************************************** 9 assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 3 12 lbl ,breakpoint_man 16 pcc off 17 18 00000 19 tib assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 4 terminal information block (tib) 000000 t.stat equ 0 holds current line status 000001 t.flg equ t.stat+1 flag word 000002 t.flg2 equ t.flg+1 second word of flags 000003 t.cur equ t.flg2+1 current address in control table 000004 t.line equ t.cur+1 10 bit line number 000005 t.icp equ t.line+1 first buffer in input chain 000006 t.ilst equ t.icp+1 last buffer in input chain 000007 t.icpl equ t.ilst+1 count of buffers in icp chain 000010 t.icch equ t.icpl+1 address of next input character 000011 t.elnk equ t.icch+1 link to tib extension 000011 t.rcp equ t.elnk replay chain pointer (share t.elnk) 000012 t.ocp equ t.elnk+1 addr of output chain from cs 000013 t.ocur equ t.ocp+1 addr of current output buffer 000014 t.olst equ t.ocur+1 addr of last buffer in output chain 000015 t.occh equ t.olst+1 addr of next output character 000016 t.ocnt equ t.occh+1 count of buffers in t.ocur 000017 t.type equ t.ocnt+1 line type 000020 t.time equ t.type+1 time at which next timeout will occur 000022 t.reta equ t.time+2 return address from calsub 000023 t.dcwa equ t.reta+1 addr of dcw list to 'execute' 000024 t.dcwl equ t.dcwa+1 length of dcw list 000025 t.echo equ t.dcwl+1 echo buffer address 000026 t.dcp equ t.echo+1 addr of message chain for cs 000027 t.dlst equ t.dcp+1 last buffer in messge chain for cs 000030 t.ftse equ t.dlst+1 first time slot entry in lsla table assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 5 terminal information block (tib) 000030 t.sfcm equ t.ftse pointer to sfcm for hsla lines 000031 t.bcnt equ t.ftse+1 counting temporary 000032 t.brkp equ t.bcnt+1 pointer to current break list 000033 t.pos equ t.brkp+1 current carriage position 000034 t.char equ t.pos+1 pending line control char (lsla only) 000034 t.ecch equ t.char address of current echo char (hsla only) 000035 t.cntr equ t.char+1 counter for control tables 000036 t.flg3 equ t.cntr+1 third word of flags 000037 t.dtp equ t.flg3+1 pointer to delay table for this line 000040 t.frmc equ t.dtp+1 framing chars (2 chars) 000041 t.dcpl equ t.frmc+1 number of buffers in dcp chain 000042 t.scll equ t.dcpl+1 screenline length left, for echo neg. 000043 t.sncc equ t.scll+1 echo negotiation sync ctr. 000044 t.entp equ t.sncc+1 echo negotiation break table ptr 000045 t.ifch equ t.entp+1 input flow control characters 000046 t.ofch equ t.ifch+1 output flow control characters 000047 t.omct equ t.ofch+1 output message count (for flow control) 000050 t.itim equ t.omct+1 time of last call to inproc (2 words) 000052 t.metr equ t.itim+2 address of metering area 000053 t.abf0 equ t.metr+1 absolute address of first permanent buffe 000054 t.abf1 equ t.abf0+1 absolute address of first permanent buffe 000055 t.leng equ t.abf1+1 length of a tib ******************************** * t.stat bits ******************************** 000001 tsfcd bool 000001 carrier detect assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 6 terminal information block (tib) 000002 tsfcts bool 000002 clear to send 000004 tsfdsr bool 000004 data set ready 000010 tsfsrc bool 000010 supervisory receive 000020 tsfst bool 000020 store status 000040 tsfmrk bool 000040 send marker status 000100 tsftrm bool 000100 send terminate status 000200 tsfrcv bool 000200 receive mode 000400 tsfxmt bool 000400 transmit mode 001000 tsfbrk bool 001000 send line break 002000 tsfdtr bool 002000 data terminal ready 004000 tsfsxt bool 004000 supervisory transmit 004000 tsftre bool 004000 tally runout enable (hdlc) 010000 tsfrts bool 010000 request to send 020000 tsfcrq bool 020000 acu call request ******************************** * tib flags -- t.flg ******************************** 000001 tfwrit bool 000001 output chain present 000002 tfbel bool 000002 send bell as next echoed character 000004 tffdpx bool 000004 full duplex mode 000010 tfkybd bool 000010 keyboard addressed 000020 tfprtr bool 000020 printer addressed 000040 tfhang bool 000040 hangup this line 000100 tflisn bool 000100 answer the phone 000200 tfquit bool 000200 send nl on line break 000400 tfctrl bool 000400 do kybd/printer addressing assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 7 terminal information block (tib) 001000 tflfec bool 001000 do lf echo on cr 002000 tfcrec bool 002000 do cr echo on lf 004000 tftbec bool 004000 do space echo on tab 010000 tfwabt bool 010000 do write abort 020000 tfauto bool 020000 this is hsla autobaud line 040000 tfeotx bool 040000 eot expected from 2741 100000 tfisus bool 100000 input suspended 200000 tfecpx bool 200000 echoplex mode 400000 tfosus bool 400000 output suspended ******************************** * second word of tib flags ******************************** 000001 tfxhld bool 000001 hold transmit on 000002 tfdild bool 000002 terminal is dialed up 000004 tfercv bool 000004 enter receive mode 000010 tfrabt bool 000010 do read abort 000020 tfacu bool 000020 do dial out 000040 tfifc bool 000040 input flow control mode 000100 tfofc bool 000100 output flow control mode 000200 tfupsf bool 000200 terminal is upshifted now 000400 tfrply bool 000400 replay mode 001000 tfrpon bool 001000 replay is occurring now 002000 tfplit bool 002000 polite mode 004000 tfblak bool 004000 asynchronous block acknowledgement 010000 tfcrcv bool 010000 'control' receive mode 020000 tfmrcv bool 020000 'message' receive mode assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 8 terminal information block (tib) 040000 tffrmi bool 040000 frame mode 100000 tffip bool 100000 frame in progress 200000 tfsftr bool 200000 terminal is shifting device 400000 tfpfnl bool 400000 line is in prefixnl mode ********************************* * third word of tib flags ********************************* 000001 tfbkpt bool 000001 line is stopped at breakpoint 000002 tfitim bool 000002 timeout if input stops 000004 tfkpar bool 000004 keep parity bits 000010 tfecho bool 000010 echoing has priority over output (lsla) 000020 tfbral bool 000020 break on all characters 000040 tfsked bool 000040 input timeout routine scheduled 000100 tf8in bool 000100 don't strip input parity 000200 tf8out bool 000200 don't strip output parity 000400 tfoddp bool 000400 odd parity 001000 tfabf0 bool 001000 t.afb0 available 002000 tfsoip bool 002000 suspension of output in progress 004000 tforp bool 004000 output resume pending (waiting until tro) 010000 tfabf1 bool 010000 t.abf1 available 020000 tfmask bool 020000 channel has been masked for excessive int ********************************* * redefined tib flags in t.flg ********************************* 000020 tfdlup equ tfprtr line is on dialup modem 00000 20 comreg assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 9 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 09-23-82 12.035 module to handle breakpoints in control tables page 10 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 000707 .crnxe set 455 next available space in extended memory 000710 .crbpe set 456 buffer paging window table entry 000760 .crcpr set 496 copyright notice assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 11 00000 23 bkpt null 24 symdef bkpt 00000 25 start bkpt 26 27 symdef brkptr handles requests from diaman 28 symdef brkhit handles breaks ops for interpreter 29 symdef brktab address of break table pointer 30 31 symref istbrk 32 symref gettib 33 symref setptw 34 000004 35 sm.cd equ 4 location of cmd data in sub-mbx 36 000004 37 brline equ sm.cd+0 line number 000005 38 braddr equ sm.cd+1 addr of break 000006 39 bractc equ sm.cd+2 action code 000007 40 brflag equ sm.cd+3 flags 41 42 * values for action codes 43 000001 44 actset equ 1 set break 000002 45 actrst equ 2 reset break 000003 46 actstr equ 3 restart line from breakpoint 47 48 49 * format of break table 50 000012 51 nbreak equ 10 max number of breaks 52 000000 53 btbadr equ 0 addr of break 000001 54 btblin equ 1 line number 000002 55 btborg equ 2 origional op_block code 000003 56 btbflg equ 3 flags 000004 57 btblen equ 4 length of entry in table 58 59 * btbflg values 60 400000 61 trcoff bool 400000 stop tracing when break is hit assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 12 63 * define address and length of break table 64 * ring-4 multics software finds the following 3 words thru 65 * .crbrk and pretends to understand their meaning 66 00012 0 00270 1 67 brktab ind brtab 00013 000012 0 68 vfd 18/nbreak 00014 000000 0 69 ercode oct 0 error code from last bkpt request. 70 after performing a bkpt operation, ring-4 71 multics software will read this word 72 to check for errors. 73 74 * values for ercode 75 76 * 1 = bad address 77 * 2 = bad line 78 * 3 = no entry in table 79 * 4 = line not at break 80 * 5 = no room in table 81 * 6 = no opblock at address 82 * 7 = invalid request 83 84 85 ************************************************************************ 86 * 87 * modified 79 july 27 by art beattie to call setptw after 88 * call to gettib. 89 * 90 ************************************************************************ assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 13 92 * subroutine to handle request from dia_man. 93 * entered with sub-mbx addr in x3 94 00015 95 brkptr subr brq,(x1,x2,x3) 96 97 * check address supplied in args 98 00031 673 001 0 99 ila 1 error code, in case bad 00032 3 47 005 0 100 ldq braddr,3 pick up value 00033 0 75 026 61 101 tmi brqerr-* 00034 4 67 221 255 102 cmpq a.a004-*,* =.crmem 00035 0 65 024 61 103 tpl brqerr-* toobig 104 105 * check that line number, if given, is ok 106 00036 0 56 227 265 107 stz tibadr-* 0 will mean no line 00037 3 07 004 0 108 lda brline,3 get line from mbx 00040 0 75 010 50 109 tmi brqgo-* none 00041 4 10 215 256 110 tsy a.a005-*,* =gettib, get real tib address 00042 4 10 216 260 111 tsy a.a007-*,* (setptw) virtualize tib address 00043 0 17 222 265 112 sta tibadr-* 00044 0 20 221 265 113 szn tibadr-* was an addr returned? 00045 0 64 003 50 114 tnz brqgo-* yes 00046 673 002 0 115 ila 2 bad line number 00047 0 71 012 61 116 tra brqerr-* 117 118 * check action code to see what kind of request this is 119 end of binary card 00000002 00050 0 56 744 14 120 brqgo stz ercode-* 00051 3 07 006 0 121 lda bractc,3 get code 00052 422 001 0 122 icmpa actset 00053 0 74 011 64 123 tze set-* to set a break 00054 422 002 0 124 icmpa actrst 00055 0 74 047 124 125 tze reset-* to reset a break 00056 422 003 0 126 icmpa actstr 00057 0 74 063 142 127 tze start-* to restart after a break 00060 673 007 0 128 brqinv ila 7 error, invalid request 129 00061 0 17 733 14 130 brqerr sta ercode-* come here to store error 00062 131 brqret return brkptr assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 14 133 * set a breakpoint 134 00064 7 07 005 0 135 set lda braddr,3* get current opblock 00065 0 34 174 261 136 ana l.a001-* =777000 00066 0 27 173 261 137 cmpa l.a001-* does it look like valid opblock? 00067 0 74 003 72 138 tze set1-* yes 00070 673 006 0 139 ila 6 error code, no opblock 00071 0 71 770 61 140 tra brqerr-* 00072 0 43 160 252 141 set1 ldx1 a.a001-* =brtab, address of break table 00073 3 07 005 0 142 lda braddr,3 pickup break addr 00074 1 27 000 0 143 set5 cmpa btbadr,1 entry for this address? 00075 0 74 022 117 144 tze set4-* yes, just update it 00076 173 004 0 145 iacx1 btblen 00077 0 63 154 253 146 cmpx1 a.a002-* =brttbe, end of table? 00100 0 64 774 74 147 tnz set5-* no 148 00101 0 43 151 252 149 ldx1 a.a001-* scan table again for free entry 00102 1 20 000 0 150 set3 szn btbadr,1 look for free empty 00103 0 74 006 111 151 tze set2-* found one 00104 173 004 0 152 iacx1 btblen next entry 00105 0 63 146 253 153 cmpx1 a.a002-* end of table? 00106 0 64 774 102 154 tnz set3-* no 00107 673 005 0 155 ila 5 error, no room 00110 0 71 751 61 156 tra brqerr-* no room for entry, give up 157 00111 3 03 005 0 158 set2 ldx2 braddr,3 address to set break 00112 1 13 000 0 159 stx2 btbadr,1 save in break table 00113 2 07 000 0 160 lda 0,2 get orig opblock 00114 1 17 002 0 161 sta btborg,1 save in table 00115 0 07 151 266 162 lda bkop-* get a breakpoint opblock 00116 2 17 000 0 163 sta 0,2 break is set end of binary card 00000003 00117 3 07 004 0 164 set4 lda brline,3 line number 00120 1 17 001 0 165 sta btblin,1 00121 3 07 007 0 166 lda brflag,3 copy flags 00122 1 17 003 0 167 sta btbflg,1 00123 0 71 737 62 168 tra brqret-* done assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 15 170 171 * reset a break 172 00124 3 03 005 0 173 reset ldx2 braddr,3 address of break toreset 00125 0 74 007 134 174 tze reset3-* bad 00126 0 43 124 252 175 ldx1 a.a001-* =brtab, start of table 00127 1 23 000 0 176 reset2 cmpx2 btbadr,1 find entry for this break 00130 0 74 006 136 177 tze reset1-* got it 00131 173 004 0 178 iacx1 btblen 00132 0 63 121 253 179 cmpx1 a.a002-* =brttbe, end of table 00133 0 64 774 127 180 tnz reset2-* 00134 673 003 0 181 reset3 ila 3 error, no entry 00135 0 71 724 61 182 tra brqerr-* cant find entry, give up 00136 1 07 002 0 183 reset1 lda btborg,1 get origional opblock 00137 2 17 000 0 184 sta 0,2 replace it 00140 1 56 000 0 185 stz btbadr,1 free table entry 00141 0 71 721 62 186 tra brqret-* done assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 16 188 * restart a line at a breakpoint 189 00142 0 20 123 265 190 start szn tibadr-* line specified? 00143 0 74 715 60 191 tze brqinv-* no, done 00144 0 43 121 265 192 ldx1 tibadr-* addr of tib 00145 1 07 036 0 193 lda t.flg3,1 third word of flags 00146 0 31 114 262 194 cana l.a002-* =tfbkpt see if at break 00147 0 64 003 152 195 tnz start5-* is is 00150 673 004 0 196 ila 4 error, not at break 00151 0 71 710 61 197 tra brqerr-* 00152 3 03 005 0 198 start5 ldx2 braddr,3 get starting address specified 00153 0 74 012 165 199 tze start7-* none given, use t.cur 00154 2 07 000 0 200 lda 0,2 be sure opblock at start address 00155 0 34 104 261 201 ana l.a001-* =777000 00156 0 27 103 261 202 cmpa l.a001-* 00157 0 74 003 162 203 tze start6-* good opblock 00160 673 006 0 204 ila 6 error, no opblock 00161 0 71 700 61 205 tra brqerr-* 00162 1 13 003 0 206 start6 stx2 t.cur,1 starting address becomes t.cur 00163 673 000 0 207 ila 0 no new opblock for intp 00164 0 71 020 204 208 tra start2-* 00165 1 03 003 0 209 start7 ldx2 t.cur,1 addr of current opblock end of binary card 00000004 00166 2 07 000 0 210 lda 0,2 pick it up 00167 0 27 077 266 211 cmpa bkop-* is it a break? 00170 0 74 003 173 212 tze start1-* yes, intpreter will want something else 00171 673 000 0 213 ila 0 not a break, interpeter can use real op 00172 0 71 012 204 214 tra start2-* 00173 0 43 057 252 215 start1 ldx1 a.a001-* =brtab, must scan to find real op 00174 1 23 000 0 216 start4 cmpx2 btbadr,1 found entry? 00175 0 74 006 203 217 tze start3-* yes 00176 173 004 0 218 iacx1 btblen 00177 0 63 054 253 219 cmpx1 a.a002-* end of tab? 00200 0 64 774 174 220 tnz start4-* 00201 0 07 066 267 221 lda nullop-* give intpreter a nullop to exec 00202 0 71 002 204 222 tra start2-* 00203 1 07 002 0 223 start3 lda btborg,1 give interpreter the origional op 00204 0 17 011 215 224 start2 sta saveop-* saveop for intp 00205 3 07 007 0 225 lda brflag,3 get flags 00206 0 31 056 264 226 cana l.a004-* asked to start tracing? 00207 0 74 002 211 227 tze 2 no 00210 4 56 047 257 228 stz a.a006-*,* =.crtsw 00211 0 43 054 265 229 ldx1 tibadr-* interpreter needs tib addr 00212 0 07 003 215 230 lda saveop-* op for intp 00213 4 10 041 254 231 tsy a.a003-*,* =istbrk, restart after break 00214 0 71 646 62 232 tra brqret-* done 00215 233 saveop bss 1 assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 17 235 * subroutine called by the intpreterer when a break point op 236 * is found. entered with tib in x1, current op pointer in x2. 237 * an in line return indicates that the break should not be 238 * taken; the a will contain the opblock to execute instead. 239 * a skip return will mean take the break. 240 00216 241 brkhit subr hit,(x3) 242 00224 0 41 026 252 243 ldx3 a.a001-* =brtab, start of break table 00225 3 23 000 0 244 hit2 cmpx2 btbadr,3 entry for current opblock? 00226 0 74 005 233 245 tze hit1-* yes, found it 00227 373 004 0 246 iacx3 btblen 00230 0 61 023 253 247 cmpx3 a.a002-* end of table 00231 0 64 774 225 248 tnz hit2-* 00232 0 71 015 247 249 tra hit3-* no entry in table, so must take break end of binary card 00000005 00233 3 20 001 0 250 hit1 szn btblin,3 is break for special line? 00234 0 75 006 242 251 tmi hit4-* no, take break 00235 1 07 004 0 252 lda t.line,1 check to see if this is the line 00236 3 27 001 0 253 cmpa btblin,3 00237 0 74 003 242 254 tze hit4-* it is, take break 00240 3 07 002 0 255 lda btborg,3 no break, return origional opblock 00241 0 71 007 250 256 tra hitret-* 00242 3 07 003 0 257 hit4 lda btbflg,3 get flag word 00243 0 31 020 263 258 cana l.a003-* =trcoff, should we stop tracing? 00244 0 74 003 247 259 tze hit3-* no 00245 673 001 0 260 ila 1 00246 4 17 011 257 261 sta a.a006-*,* =.crtsw 00247 0 76 747 216 262 hit3 aos brkhit-* skip means take break 00250 263 hitret return brkhit assm 01 09-23-82 12.035 module to handle breakpoints in control tables page 18 265 266 00252 0 00270 1 267 a.a001 ind brtab address of break table 00253 0 00340 1 268 a.a002 ind brtabe address of end of table 00254 0 02000 3 269 a.a003 ind istbrk control table rtn to restart break 00255 0 00651 0 270 a.a004 ind .crmem 00256 0 01000 3 271 a.a005 ind gettib 00257 0 00673 0 272 a.a006 ind .crtsw 00260 0 03000 3 273 a.a007 ind setptw 274 00261 777000 0 275 l.a001 vfd o18/777000 00262 000001 0 276 l.a002 vfd o18/tfbkpt 00263 400000 0 277 l.a003 vfd o18/trcoff 00264 400000 0 278 l.a004 vfd o18/400000 279 00265 280 tibadr bss 1 281 00266 282 bkop bkptop a breakpoint opblock 00267 283 nullop nullop a no-operation opblock 284 00270 285 brtab null the break table 00270 286 bss btblen*nbreak 00340 287 brtabe null 288 end of binary card 00000006 289 end 340 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 09-23-82 12.037 module to handle breakpoints in control tables page 19 octal symbol references by sequence no. 2 actrst 45 45 124 1 actset 44 44 122 3 actstr 46 46 126 252 a.a001 267 141 149 175 215 243 267 253 a.a002 268 146 153 179 219 247 268 254 a.a003 269 231 269 255 a.a004 270 102 270 256 a.a005 271 110 271 257 a.a006 272 228 261 272 260 a.a007 273 111 273 266 bkop 282 162 211 282 0 bkpt 23 23 24 25 6 bractc 39 39 121 5 braddr 38 38 100 135 142 158 173 198 7 brflag 40 40 166 225 216 brkhit 241 28 241 262 263 15 brkptr 95 27 95 131 12 brktab 67 29 67 4 brline 37 37 108 164 61 brqerr 130 101 103 116 130 140 156 182 197 205 50 brqgo 120 109 114 120 60 brqinv 128 128 191 62 brqret 131 131 168 186 232 270 brtab 285 67 267 285 340 brtabe 287 268 287 0 btbadr 53 53 143 150 159 176 185 216 244 3 btbflg 56 56 167 257 4 btblen 57 57 145 152 178 218 246 286 1 btblin 54 54 165 250 253 2 btborg 55 55 161 183 223 255 14 ercode 69 69 120 130 1 gettib 32 271 233 hit1 250 245 250 225 hit2 244 244 248 247 hit3 262 249 259 262 242 hit4 257 251 254 257 250 hitret 263 256 263 2 istbrk 31 269 651 .crmem 20 20 270 673 .crtsw 20 20 272 261 l.a001 275 136 137 201 202 275 262 l.a002 276 194 276 263 l.a003 277 258 277 264 l.a004 278 226 278 1 macwk1 241 95 131 241 263 3 macwk2 241 95 241 12 nbreak 51 51 68 286 267 nullop 283 221 283 136 reset1 183 177 183 127 reset2 176 176 180 134 reset3 181 174 181 assm 01 09-23-82 12.037 module to handle breakpoints in control tables page 20 octal symbol references by sequence no. 124 reset 173 125 173 215 saveop 233 224 230 233 72 set1 141 138 141 111 set2 158 151 158 102 set3 150 150 154 117 set4 164 144 164 74 set5 143 143 147 64 set 135 123 135 3 setptw 33 273 4 sm.cd 35 35 37 38 39 40 173 start1 215 212 215 204 start2 224 208 214 222 224 203 start3 223 217 223 174 start4 216 216 220 152 start5 198 195 198 162 start6 206 203 206 165 start7 209 199 209 142 start 190 127 190 1 tfbkpt 19 19 276 265 tibadr 280 107 112 113 190 192 229 280 3 t.cur 19 19 206 209 36 t.flg3 19 19 193 4 t.line 19 19 252 400000 trcoff 61 61 277 ** 46485 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