assm 01 12-10-82 15.930 mclt multics hc fnp colts exec rev b 811214 page 1 *********************************************************************************** * (c) copyright, 1981, by honeywell information systems inc. * *********************************************************************************** preface program break 672 common length 0 v count bits 5 primary symdef entry mclt 2 colts 14 tdip 610 secondary symdef entry .chain 2 block length symref 1 denq 2 begin 3 g3wjt 4 itest 5 mdisp 6 dspqur end of binary card 00000001 7 frebuf 10 gettib 11 getubf 12 secdsp 13 setptw 14 tdhung end of binary card 00000002 assm 01 12-10-82 15.930 mclt multics hc fnp colts exec rev b 811214 page 2 1 * *********************************************************** 2 * * * 3 * * copyright, (c) honeywell information systems inc., 1982 * 4 * * * 5 * *********************************************************** 6 lbl ,colts assm 01 12-10-82 15.930 mclt multics hc fnp colts exec rev b 811214 page 3 00000 100101 0 8 bci 2,811214 00001 020104 0 9 cpr 1981 10 * 11 * 12 * insert comments on purpose of module 13 * 14 * 15 pcc on 16 pmc off 17 editp on 18 detail on 19 symdef mclt 20 symdef colts 21 symdef tdip 22 symref begin 23 symref g3wjt 24 symref mdisp 25 symref secdsp 26 symref dspqur 27 symref getubf 28 symref frebuf 29 symref itest 30 symref gettib 31 symref setptw 32 symref denq 33 symref tdhung 34 pmc save,on 00002 35 mclt null 00002 36 start mclt symdef -.chain crsm save,off 00002 even ine '','',2 ife '','',1 00002 000000 0 .chain dec 0 crsm restore 00003 442343 0 bci 2,mclt 00004 632020 0 00005 0 00002 1 ind mclt 00006 010201 0 date 00007 001002 0 ine '.002.','',1 00010 330000 0 bci 4,.002. 00011 023320 0 00012 202020 0 00013 202020 0 00014 37 tib assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 4 terminal information block (tib) ttls 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 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 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.leng equ t.metr+1 length of a tib ******************************** * t.stat bits ******************************** 000001 tsfcd bool 000001 carrier detect 000002 tsfcts bool 000002 clear to send 000004 tsfdsr bool 000004 data set ready assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 6 terminal information block (tib) 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 001000 tflfec bool 001000 do lf echo on cr assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 7 terminal information block (tib) 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 040000 tffrmi bool 040000 frame mode assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 8 terminal information block (tib) 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 002000 tfsoip bool 002000 suspension of output in progress 004000 tforp bool 004000 output resume pending (waiting until tro) ********************************* * redefined tib flags in t.flg ********************************* 000020 tfdlup equ tfprtr line is on dialup modem 00014 38 csbits assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 9 control and status bits ttls control and status bits control bits 000001 c.srec bool 000001 set receive mode 000002 c.rrec bool 000002 reset receive mode 000004 c.sxmt bool 000004 set transmit mode 000010 c.rxmt bool 000010 reset transmit mode 000020 c.sdtr bool 000020 set data terminal ready 000040 c.rdtr bool 000040 reset data terminal ready 000100 c.ssup bool 000100 set supervisory transmit mode 000100 c.stre bool 000100 set tally runout enable (hdlc) 000200 c.rsup bool 000200 reset supervisory transmit mode 000200 c.rtre bool 000200 reset tally runout enable (hdlc) 000400 c.stat bool 000400 store status 001000 c.sbrk bool 001000 send line break 002000 c.smrk bool 002000 store marker status 004000 c.strm bool 004000 store terminate status 010000 c.srqs bool 010000 set request to send 020000 c.rrqs bool 020000 reset request to send 040000 c.pad bool 040000 unused 100000 c.cmd bool 100000 indicates cmd subop 400000 c.scmd bool 400000 indicates supplementary cmd subop the following must be used in the optional fields to the cmd (or contrl) macros in the control_tables 000001 c.scrq bool 000001 set call request 000002 c.rcrq bool 000002 reset call request assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 10 control and status bits status bits 000001 s.cd bool 000001 carrier detect 000002 s.cts bool 000002 clear to send 000004 s.dsr bool 000004 data set ready 000010 s.sprc bool 000010 supervisory receive mode 000020 s.st bool 000020 status requested 000040 s.mark bool 000040 marker status 000100 s.term bool 000100 terminate status 000200 s.prex bool 000200 pre-exhaust 000400 s.brk bool 000400 line break received 001000 s.brch bool 001000 break character received 002000 s.ring bool 002000 ring 004000 s.exh bool 004000 exhaust status 010000 s.prty bool 010000 parity error 010000 s.fcse bool 010000 frame check sequence error (hdlc) 020000 s.xte bool 020000 transfer timing error 040000 s.pwi bool 040000 acu power indicator 100000 s.dlo bool 100000 acu data line occupied 200000 s.acr bool 200000 acu abandon call and retry 400000 s.ads bool 400000 acu raised data set status the following four bits share the values of acu status but can never be misinterpreted. 040000 s.rto bool 040000 receive time out (bsc) 040000 s.isd bool 040000 idle state detect (hdlc) assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 11 control and status bits 100000 s.rbt bool 100000 receive block termination (bsc & hdlc) 200000 s.bmk bool 200000 marker status (bsc) 200000 s.rabt bool 200000 receive abort (hdlc) 400000 s.bdmk bool 400000 delayed marker status (bsc) 400000 s.pbyt bool 400000 partial byte (hdlc) bits in common between standard status 000177 s.tib bool 000177 and tib status dataset status bits in standard status 000017 s.dss bool 000017 and tib status asynchronous configuration bits 000001 fg.icw bool 000001 icw (two send icw's) 000002 fg.lpr bool 000002 lateral parity receive 000004 fg.lps bool 000004 lateral parity send 000010 fg.lpo bool 000010 lateral parity odd 000020 fg.5bt bool 000020 5-bit character mode 000040 fg.6bt bool 000040 6-bit character mode 000100 fg.7bt bool 000100 7-bit character mode 000200 fg.8bt bool 000200 8-bit character mode 000400 fg.beb bool 000400 ebcdic mode (bsc) 000400 fg.itf bool 000400 interfame time fill (hdlc) 001000 fg.btr bool 001000 transparent mode (bsc) 002000 fg.cct bool 002000 enable cct 00014 39 tconst assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 12 flag and control bit definitions ttls flag and control bit definitions 000001 gbf6up bool 000001 cs up global switch device types 000001 ttasci equ 1 ascii terminals, cdi, tty 33, 35, 37, etc 000002 tt1050 equ 2 ibm 1050 000003 tt2741 equ 3 ibm 2741, trendata, dura, etc. 000004 ttards equ 4 ards, tektronix 000005 ttsync equ 5 general sync devices 000006 ttg115 equ 6 remote computer interface, g115 000007 ttbsc equ 7 binary synchronous communications 000010 tt202c equ 8 ascii on 202c6 modem 000011 ttvip equ 9 vip terminal 000020 ttpvip equ 16 polled vip 000021 ttx25l equ 17 x.25 link access procedure (lap) 000023 ttcolt equ 19 colts (online t&d executive) signal types 000113 quit bool 113 dia cmd, break received 000100 dialup bool 100 dia cmd, accept new terminal 000101 hangup bool 101 dia cmd, disconnected line 000114 wrutim bool 114 dia cmd, wru timeout 000105 sndout bool 105 dia cmd, send output 000120 acupwi bool 120 dia cmd, no power to acu 000121 acudlo bool 121 dia cmd, data line occupied 000122 acuacr bool 122 dia cmd, dial out failed 000123 acung bool 123 dia cmd, request for acu is invalid control types 000001 srec equ c.srec set receive mode 000002 rrec equ c.rrec reset receive 000004 sxmit equ c.sxmt set xmit mode 000010 rxmit equ c.rxmt reset xmit 000020 sdtr equ c.sdtr set data terminal ready 000040 rdtr equ c.rdtr reset dtr 000100 ssup equ c.ssup set supervisory xmit 000200 rsup equ c.rsup reset supervisory xmit 000400 stat equ c.stat store status 001000 sbrk equ c.sbrk send line break 002000 smark equ c.smrk send marker status 004000 sterm equ c.strm send terminate status 010000 srts equ c.srqs set request to send 020000 rrts equ c.rrqs reset request to send 000001 scrq equ c.scrq set call request 000002 rcrq equ c.rcrq reset call request 000100 stroe equ c.stre set tally runout enable (hdlc) 000200 rtroe equ c.rtre reset tally runout enable (hdlc) assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 13 flag and control bit definitions status bits 000001 cd equ s.cd carrier detect 000002 cts equ s.cts clear to send 000004 dsr equ s.dsr data set ready 000010 suprec equ s.sprc supervisory receive 000020 st equ s.st status requested 000400 break equ s.brk line break received 001000 brkchr equ s.brch break char received 002000 ring equ s.ring ring 000100 term equ s.term terminate status 000040 marker equ s.mark marker status 004000 exh equ s.exh exhaust status 000200 prexh equ s.prex pre-exhaust status 010000 parity equ s.prty parity error 020000 xte equ s.xte transfer timing error 040000 pwi equ s.pwi power indicator on acu 100000 dlo equ s.dlo data line occupied (acu) 400000 ads equ s.ads dialed station has answered data set is in data mode (acu) 200000 acr equ s.acr abandon call and retry (acu) 040000 rcvto equ s.rto rcv time out 100000 bscrcv equ s.rbt bsc terminate 200000 bscmrk equ s.bmk bsc marker 400000 bscdmk equ s.bdmk bsc delayed marker 010000 fcserr equ s.fcse frame check sequence error (hdlc) 040000 idlesd equ s.isd idle state detect (hdlc) 100000 rcvtrm equ s.rbt receive terminate (hdlc) 200000 rcvabt equ s.rabt receive abort (hdlc) 400000 parbyt equ s.pbyt partial byte (hdlc) assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 14 flag and control bit definitions eject output types 000401 adprtr bool 401 insert printer addr string 000402 adkybd bool 402 insert keyboard addr string 000403 outmsg bool 403 insert output msg 000404 repeat bool 404 insert next char n times various characters matched and sent 000064 eoa bool 64 eoa from/to 2741/1050 000001 minus bool 1 minus char from 1050 000055 ibmnl bool 55 cr nl from/to 2741/1050 000075 ibmpad bool 75 2741/1050 pad character(idle) 000074 ibmeot bool 74 2741/1050 eot char 000174 eotshf bool 174 eot w/case shift 000035 ibmbs bool 35 backspace from 2741 000057 ibmtab bool 57 tab from 2741 000042 ibmsl bool 42 2741 slash 000024 ibm0 bool 24 2741 zero 000044 ibm9 bool 44 2741 nine 000076 ibmprf bool 76 2741 prefix code 000003 ibmpls bool 3 2741 plus sign 000034 ibmup bool 34 2741 upshift 000037 ibmdwn bool 37 2741 downshift 000012 nl bool 12 ascii new-line 000015 cr bool 15 ascii carriage return 000000 pad bool 0 ascii pad char 000020 dle bool 20 ascii data link escape 000004 eot bool 4 ascii end of transmission 000033 esc bool 33 ascii escape char 000014 ff bool 14 ascii form feed char 000011 tab bool 11 ascii tab char 000010 bs bool 10 ascii backspace 000040 space bool 40 ascii space 000005 awru bool 5 ascii "who are you?" 000000 null bool 0 nothing 000006 ack bool 6 ascii ack 000025 nak bool 25 ascii nak 000001 soh bool 1 ascii start of header 000026 syn bool 26 ascii syn character 000002 stx bool 2 ascii start of text char 000003 etx bool 3 ascii end of text char 000007 bel bool 007 ascii bell character 000150 h bool 150 ascii h (esc mtr on) 000154 l bool 154 ascii l (used by vip for ff) 000161 q bool 161 ascii q (used by vip for quit) 000100 atchar bool 100 ascii at sign (used to mark reset-read) 000777 nochar bool 777 used in cmt to match no character assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 15 flag and control bit definitions scan subop types 000501 match bool 501 match the char exactly 000502 search bool 502 search until match 000503 ignore bool 503 skip to next char, block check unchanged 000504 sbcc bool 504 start the bcc computation 000505 endchn bool 505 point to last character in chain 000506 cbcc bool 506 compare current with bcc char 000507 cmask bool 507 compare char with mask 000510 rescan bool 510 reset scan position to first char in chai 000511 strlrc bool 511 start lrc computation 000512 outlrc bool 512 insert lrc into chain 000513 cmplrc bool 513 compare lrc accumulation vs current char 000514 seteom bool 514 set last buffer in message flag ( for bld 000515 replac bool 515 replace current char 000516 cmplst bool 516 compare current vs list of chars for equa 000517 movchr bool 517 move current char to tib extension 000520 movmsk bool 520 movchr with masking of current char 000521 count bool 521 count number of chars scanned 000522 serch2 bool 522 search for one of two chars 000523 setbit bool 523 turn on bits in current char 000524 offbit bool 524 turn off bits in current char 000525 chktrm bool 525 check the sync termination char 000526 mvlst2 bool 526 move last two chars to tib ext 000527 nxtchr bool 527 update block check and skip to next char 00014 40 hwcm assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 16 hardware comm. region (hwcm) ttls hardware comm. region (hwcm) 000000 h.ric0 equ 0 primary receive icw 000002 h.ric1 equ 2 alternate receive icw 000004 h.sic0 equ 4 primary send icw 000006 h.sic1 equ 6 alternate send icw 000010 h.baw equ 8 base address word 000011 h.sfcm equ 9 software comm. region address 000012 h.mask equ 10 mask register 000014 h.aicw equ 12 active status icw 000016 h.cnfg equ 14 configuration status 00014 41 sfcm pcc save,off assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 17 sfcm for .003. 000000 sf.hcm equ 0 hardware comm. region address 000001 sf.nxa equ sf.hcm+1 current input status pointer 000002 sf.nxp equ sf.nxa+1 status save buffer ptr 000003 sf.ioc equ sf.nxp+1 i/o chain pointer 000004 sf.bfc equ sf.ioc+1 current input buffer ptr 000005 sf.flg equ sf.bfc+1 flag word 000006 sf.bfa equ sf.flg+1 alternate input buffer ptr 000007 sf.bfl equ sf.bfa+1 output buffer length 000010 sf.icw equ sf.bfl+1 ptr to current input icw 000011 sf.ocw equ sf.icw+1 ptr to current output icw 000012 sf.ltb equ sf.ocw+1 ptr to lsla table 000013 sf.otb equ sf.ltb+1 ptr to output buffer 000014 sf.ity equ sf.otb+1 tally for input icw 000015 sf.oty equ sf.ity+1 tally for output icw 000016 sf.sic equ sf.oty+1 standard status icw 000020 sf.ssb equ sf.sic+2 status save buffer (10 words) 000032 sf.sbf equ sf.ssb+10 status buffer (8 words) bit definitions for sf.flg 000200 sffrlm bool 200 already sent error message about resync a 000100 sffopt bool 100 dsr and cts reported 000040 sffrsy bool 40 resync required 000020 sffptr bool 20 expecting input ptro 000010 sffrun bool 10 lsla running ok 000004 sffnsx bool 4 no stx on last input frame 000002 sffsnd bool 2 second output buffer current 000001 sffslo bool 1 short frame lsla (22 time slots) assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 18 sfcm for .003. pcc restore 00014 42 buffer assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 19 buffer format ttls 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 00014 43 global assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 20 global switches ttls global switches 000001 gbfup bool 000001 cs is up 000002 gbfhng bool 000002 we've received "blast hangup" 000004 gbfbla bool 000004 doing "blast" output 00014 44 comreg assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 21 system communications region ttls 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 assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 22 system communications region 000676 .crcct set 446 address of first cct descriptor 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 assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 23 test tib extension definitions 45 ttls test tib extension definitions 46 * 00014 47 tibex tb3wjt,word pmc restore 00014 48 tibex tbscid,word pmc restore 00014 49 tibex tbiflg,word pmc restore 00014 50 tibex tbaicw,word pmc restore 00014 51 tibex tbaiw2,word pmc restore 00014 52 tibex tbconf,word pmc restore 00014 53 tibex tbcnf2,word pmc restore 00014 54 tibex tberc1,word pmc restore 00014 55 tibex tberc2,word pmc restore 00014 56 tibex tbhcrb,word pmc restore 00014 57 tibex tbcbfs,word pmc restore 00014 58 tibex tbtmp1,word pmc restore 00014 59 tibex tbtmp2,word pmc restore 00014 60 tibex tbtmp3,word pmc restore 00014 61 tibex tbtmp4,word pmc restore 00014 62 tibex tbtcur,word pmc restore 00014 63 tibex tbrtib,word pmc restore 00014 64 tibex tbaux1,word pmc restore 00014 65 tibex tbvtib,word pmc restore 00014 66 tibex tbaux2,word pmc restore 00014 67 tibex tbbufr,word pmc restore 00014 68 tibex tbbufs,word pmc restore 00014 69 tibex tbmtal,word pmc restore 00014 70 tibex tbbtal,word pmc restore 00014 71 tibex tbspar,word assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 24 test tib extension definitions pmc restore 00014 72 tibex tbsic1,word pmc restore 00014 73 tibex tbsice,word pmc restore 74 * 75 pmc restore assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 25 colts executive line handler 76 ttls colts executive line handler 77 * 00014 78 colts tstflg tflisn,slisn 00020 79 wait 0,0,begin 80 * 00024 81 slisn signal dialup 00026 82 wait 0,sendr,tshang 83 * 00032 84 tshang tstflg tfhang,shang 00036 85 waitm 86 * 00037 87 shangc calasm t6dis 00042 88 shang signal hangup 00044 89 goto tdhung 90 * 00046 91 sendr clrflg tfwrit end of binary card 00000003 00051 92 calasm tdac1 00054 93 tstflg tfupsf,gtibex 00060 94 sndicm calasm tstc11 00063 95 tstflg tfhang,shangc 00067 96 sendin 00070 97 signal sndout 00072 98 wait 0,sendr,tshngc 99 * 00076 100 tshngc tstflg tfhang,shangc 00102 101 waitm 102 * 00103 103 gtibex clrflg tfupsf 00106 104 getext tibxsz,texerr 00111 105 calasm tstc3 00114 106 goto sndicm 00116 107 texerr calasm tstc2 end of binary card 00000004 00121 108 goto sndicm 109 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 26 colts test page line handler 110 ttls colts test page line handler 111 * 00123 112 ctest wait 0,schan,tchang 113 * 00127 114 tchang tstflg tfhang,chang 00133 115 waitm 116 * 00134 117 chang calasm t6dtp 00137 118 retext 00140 119 signal hangup 00142 120 goto tdhung 121 * 00144 122 schan clrflg tfwrit 00147 123 calasm tdac2 00152 124 schana tstflg tfofc,schanb 00156 125 calasm prcmes 00161 126 stcht setime 1 00163 127 wait timer,0,tchng end of binary card 00000005 128 * 00167 129 tchng tstflg tfhang,chang 00173 130 tstflg tfacu,timer 00177 131 waitm 132 * 00200 133 timer setime 0 00202 134 calasm timprc 00205 135 sndtes tstflg tfhang,chang 00211 136 sendin 00212 137 signal sndout 00214 138 goto ctest 139 * 00216 140 schanc clrflg tfwrit 00221 141 calasm tdac7 00224 142 goto schana 143 * 00226 144 schanb clrflg tfofc 00231 145 signal sndout 00233 146 wait 0,schanc,tthang end of binary card 00000006 00237 147 tthang tstflg tfhang,chang 00243 148 waitm 149 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 27 process dac icm from 600 150 ttls process dac icm from 600 00244 151 tdac1 subr td1 00247 1 03 012 0 152 ldx2 t.ocp,1 get outbuf ptr 00250 1 13 013 0 153 stx2 t.ocur,1 save as current 00251 1 56 012 0 154 stz t.ocp,1 clear orig ptr 00252 273 002 0 155 iacx2 2 step to start of icm 00253 1 13 015 0 156 stx2 t.occh,1 save ptr to icm 00254 2 07 004 0 157 lda t600cd,2 get command code from icm 00255 422 370 0 158 icmpa toplx2 is it link nrx2? 00256 0 74 273 551 159 tze lnorx2-* yes, go link it 00257 422 300 0 160 icmpa toplx1 is it link nrx1? 00260 0 74 224 504 161 tze lnorx1-* yes, go link 00261 0 03 127 410 162 ldx2 pnores-* see if non-res exec already linked 00262 0 74 007 271 163 tze tdac8-* no, bad news 00263 222 200 0 164 icana toplk2 00264 0 64 307 573 165 tnz lkmod2-* go link tp submod2 00265 222 100 0 166 icana toplk1 00266 0 64 277 565 167 tnz lkmod1-* go link tp submod1 00267 222 017 0 168 icana topsrt 00270 0 64 122 412 169 tnz tstc-* go start test 00271 673 042 0 170 tdac8 ila topinv 00272 0 17 344 636 171 prcend sta temp3-* save reply code 00273 0 03 116 411 172 ldx2 zerov-* 00274 173 return tdac1 return to op blocks 174 * 00276 673 041 0 175 tstc9 ila topgo load op complete code 00277 0 71 773 272 176 tra prcend-* and return 177 00300 0 00314 1 178 rtdac9 ind tdac9 179 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 28 process tp dac icm 180 ttls process tp dac icm 181 * 00301 182 prcmes subr pr2 end of binary card 00000007 00304 0 03 104 410 183 ldx2 pnores-* get nrx1 ptr 00305 2 10 061 0 184 tsy tpproc,2 process msg 00306 422 000 0 185 icmpa 0 is it bad icm? 00307 0 64 014 323 186 tnz tpdac8-* yes, send back icm 00310 0 03 262 572 187 ldx2 dsp1bs-* get tp submod ptr 00311 0 07 767 300 188 lda rtdac9-* set up return from submod 00312 2 17 017 0 189 sta ep15,2 save ptr in submod 00313 2 71 013 0 190 tra ep11,2 go to submod icm decode 191 * 00314 192 tdac9 null 00314 1 43 023 0 193 ldx1 -tbvtib,1 restore test tib ptr 00315 1 03 011 0 194 ldx2 t.elnk,1 get tib ext ptr 00316 2 07 015 0 195 lda -tbtmp2,2 get desired timer value 00317 0 17 643 162 196 sta stcht+1-* save for setime 00320 0 03 071 411 197 ldx2 zerov-* 00321 198 return prcmes 199 * 00323 0 03 064 407 200 tpdac8 ldx2 sndtst-* get op block return ptr 00324 201 return prcmes 202 * 00326 203 tdac2 subr td2 00331 0 03 057 410 204 ldx2 pnores-* get nrx1 ptr 00332 2 10 037 0 205 tsy tpda2,2 00333 0 03 056 411 206 ldx2 zerov-* 00334 207 return tdac2 return to op blocks 208 * 00336 209 tdac7 subr td7 00341 0 03 047 410 210 ldx2 pnores-* get nrx1 ptr 00342 2 10 041 0 211 tsy tpda7,2 00343 0 03 046 411 212 ldx2 zerov-* 00344 213 return tdac7 return to op blocks 214 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 29 return icm to 600/6000 215 ttls return icm to 600/6000 216 * 00346 217 tstc11 subr t11 00351 1 03 015 0 218 ldx2 t.occh,1 get icm ptr end of binary card 00000008 00352 0 07 264 636 219 lda temp3-* get reply code 00353 0 56 263 636 220 stz temp3-* clear temp loc 00354 2 17 005 0 221 sta t355cd,2 save reply in exec icm 00355 1 41 013 0 222 ldx3 t.ocur,1 set up inp buff ptrs 00356 1 50 005 0 223 stx3 t.icp,1 first buff addr 00357 1 41 014 0 224 ldx3 t.olst,1 last buff addr 00360 1 50 006 0 225 stx3 t.ilst,1 00361 1 41 016 0 226 ldx3 t.ocnt,1 output buff count 00362 1 50 007 0 227 stx3 t.icpl,1 use as input buff count 00363 1 56 013 0 228 stz t.ocur,1 clear pointers 00364 1 56 015 0 229 stz t.occh,1 00365 0 03 024 411 230 ldx2 zerov-* 00366 231 return tstc11 return to op blocks 232 * 00370 233 tstc2 subr tc2 00373 673 050 0 234 ila topbuf get buffer denial code 00374 0 03 015 411 235 ldx2 zerov-* 00375 236 return tstc2 return to op blocks 237 * 00377 238 tstc3 subr tc3 00402 0 03 006 410 239 ldx2 pnores-* get ptr to nrx1 00403 2 10 045 0 240 tsy tptc3,2 set up test channel 00404 0 03 005 411 241 ldx2 zerov-* 00405 242 return tstc3 return to op blocks 243 * 00407 0 00205 1 244 sndtst ind sndtes 00410 0 00000 0 245 pnores ind ** ptr to nrx1 00411 000000 0 246 zerov oct 0 assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 30 channel test request 247 ttls channel test request 248 * 00412 249 tstc null initiate test start 00412 0 03 776 410 250 ldx2 pnores-* get nrx1 ptr 00413 2 10 043 0 251 tsy tptstc,2 00414 422 042 0 252 icmpa topinv check for bad icm 00415 0 74 655 272 253 tze prcend-* invalid icm 00416 422 050 0 254 icmpa topbuf check for buffer denial 255 00417 0 74 653 272 256 tze prcend-* buff denial return 00420 0 71 656 276 257 tra tstc9-* normal return 258 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 31 line dis connect processor 259 ttls line dis connect processor 00421 260 t6dis subr t6d end of binary card 00000009 00424 0 03 764 410 261 ldx2 pnores-* get nrx1 addr 00425 0 74 006 433 262 tze t6ret-* gone, so return 00426 2 07 023 0 263 lda tpmodu,2 get number of users 00427 0 74 003 432 264 tze t6ds1-* none, so release nr exec 00430 0 53 053 503 265 stx1 execfl-* tp still active so set exec disc flag 00431 0 71 002 433 266 tra t6ret-* return 00432 0 10 012 444 267 t6ds1 tsy relex-* release nr exec 00433 0 03 756 411 268 t6ret ldx2 zerov-* 00434 269 return t6dis return to op blocks 270 * 00436 0 00000 0 271 modrsl zero 00437 3 47 001 0 272 ldq 1,3 load size of buffer 00440 6337 12 0 273 qrl 10 position to num of wds 00441 573 040 0 274 iaq bufsiz correct count 00442 4 10 145 607 275 tsy tdlblk-*,* release it 00443 4 71 773 436 276 tra modrsl-*,* return 277 * 00444 0 00000 0 278 relex zero 00445 0 03 743 410 279 ldx2 pnores-* get nrx1 ptr 00446 4 74 776 444 280 tze relex-*,* nr exec gone so return 00447 2 41 015 0 281 ldx3 tpxm2,2 get nrx2 ptr 00450 0 74 003 453 282 tze rlx1-* already gone 00451 0 75 002 453 283 tmi rlx1-* likewise 00452 0 10 764 436 284 tsy modrsl-* release nrx2 00453 0 41 735 410 285 rlx1 ldx3 pnores-* get nrx1 ptr 00454 0 10 762 436 286 tsy modrsl-* release nrx1 00455 0 56 733 410 287 stz pnores-* clear ptr 00456 4 71 766 444 288 tra relex-*,* return 289 * 00457 290 t6dtp subr t6p 00462 0 03 110 572 291 ldx2 dsp1bs-* get submod addr 00463 0 74 003 466 292 tze wrapup-* submod 1 not loaded 00464 2 20 012 0 293 szn ep10,2 is part 2 loaded? 00465 2 65 016 0 294 tpl ep14,2 yes go to submod wrapup 00466 3331 00 0 295 wrapup inh 00467 0 03 721 410 296 ldx2 pnores-* get ptr to nrx1 end of binary card 00000010 00470 2 10 035 0 297 tsy tpdis,2 go finish disconnect 00471 7331 00 0 298 eni 00472 0 07 100 572 299 lda dsp1bs-* get tp submod ptr 00473 0 64 005 500 300 tnz wrpend-* tp still present 00474 0 07 007 503 301 lda execfl-* tp gone,check if exec disc 00475 0 74 003 500 302 tze wrpend-* exec still active 00476 0 10 746 444 303 tsy relex-* release non res exec mods 00477 0 56 004 503 304 stz execfl-* clear flag 00500 0 03 711 411 305 wrpend ldx2 zerov-* 00501 306 return t6dtp return to op blocks 307 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 32 line dis connect processor 00503 000000 0 308 execfl oct 0 309 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 33 link exec non-resident submods 310 ttls link exec non-resident submods 311 * 00504 312 lnorx1 null link nrx1 00504 0 20 704 410 313 szn pnores-* get possible ptr to nrx1 00505 0 64 571 276 314 tnz tstc9-* already linked, return icm 00506 0 10 131 637 315 tsy mvblk-* move to contig buffer 00507 422 000 0 316 icmpa 0 check for normal return 00510 0 64 562 272 317 tnz prcend-* bad news, buff denied 00511 0 03 125 636 318 ldx2 temp3-* get nrx1 ptr 00512 0 13 676 410 319 stx2 pnores-* save it 00513 2 13 014 0 320 stx2 tpxm1,2 save in nrx1 also 00514 0 04 064 600 321 ldaq tdmdsp-* set up ptrs in nrx1 00515 2 14 002 0 322 staq tpmdsp,2 mdisp,secdsp 00516 0 04 070 606 323 ldaq tdgbuf-* 00517 2 14 006 0 324 staq tpgubf,2 getubf,frebuf 00520 0 07 065 605 325 lda tdqur2-* 00521 2 17 004 0 326 sta tpdspq,2 dspqur 00522 0 07 071 613 327 lda tg3wjt-* 00523 2 17 005 0 328 sta tpg3w,2 g3wjt 00524 0 07 144 670 329 lda getadr-* 00525 2 17 010 0 330 sta tpgtib,2 gettib 00526 0 07 143 671 331 lda convad-* 00527 2 17 011 0 332 sta tpsptw,2 setptw 00530 0 07 104 634 333 lda iitest-* 00531 2 17 012 0 334 sta tpitst,2 itest 00532 0 07 133 665 335 lda sigsnd-* 00533 2 17 013 0 336 sta tpdenq,2 denq 00534 0 07 130 664 337 lda dsp1bp-* 00535 2 17 017 0 338 sta tpd1bs,2 dsp1bs 00536 0 04 044 602 339 ldaq tdsnp-* end of binary card 00000011 00537 2 14 020 0 340 staq tpsnd,2 tdsnds,wrapup 00540 0 07 126 666 341 lda testop-* 00541 2 17 030 0 342 sta tpctst,2 ctest 00542 0 07 125 667 343 lda icktim-* 00543 2 17 024 0 344 sta tpchkt,2 cktime 00544 0 07 004 550 345 lda imodrl-* 00545 2 17 027 0 346 sta tpmrsl,2 modrsl 00546 0 56 070 636 347 lnxret stz temp3-* clear temp ptr 00547 0 71 527 276 348 tra tstc9-* return icm 349 * 00550 0 00436 1 350 imodrl ind modrsl 351 * 00551 352 lnorx2 null link nrx2 00551 0 41 637 410 353 ldx3 pnores-* check if nrx1 linked 00552 0 74 524 276 354 tze tstc9-* no, so return icm 00553 3 20 015 0 355 szn tpxm2,3 check if nrx2 already linked 00554 0 64 522 276 356 tnz tstc9-* yes, return icm 00555 0 10 062 637 357 tsy mvblk-* put in contig buffer 00556 422 000 0 358 icmpa 0 check for bad return 00557 0 64 513 272 359 tnz prcend-* bad news, buff denied assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 34 link exec non-resident submods 00560 0 03 630 410 360 ldx2 pnores-* get nrx1 ptr 00561 0 07 055 636 361 lda temp3-* get nrx2 ptr 00562 2 17 015 0 362 sta tpxm2,2 link nrx2 to nrx1 00563 2 10 033 0 363 tsy tpinz,2 go to nrx1 init 00564 0 71 762 546 364 tra lnxret-* return icm 365 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 35 pointers & entry points in nrx1 366 ttls pointers & entry points in nrx1 367 * 000002 368 tpmdsp equ 2 mdisp 000003 369 tpsecd equ 3 secdsp 000004 370 tpdspq equ 4 dspqur 000005 371 tpg3w equ 5 g3wjt 000006 372 tpgubf equ 6 getubf 000007 373 tpfrbf equ 7 frebuf 000010 374 tpgtib equ 8 gettib 000011 375 tpsptw equ 9 setptw 000012 376 tpitst equ 10 itest 000013 377 tpdenq equ 11 denq 000014 378 tpxm1 equ 12 nrx1 000015 379 tpxm2 equ 13 nrx2 000016 380 tpsubm equ 14 submod1 000017 381 tpd1bs equ 15 dsp1bs 000020 382 tpsnd equ 16 tdsnds 000021 383 tpwrp equ 17 wrapup 000023 384 tpmodu equ 19 moduse 000024 385 tpchkt equ 20 cktime 000027 386 tpmrsl equ 23 modrsl 000030 387 tpctst equ 24 ctest 388 * 000031 389 tpip equ 25 interrupt processor 390 * 000033 391 tpinz equ 27 non-res exec init 392 * 000035 393 tpdis equ 29 disconnect tp 394 * 000037 395 tpda2 equ 31 396 * 000041 397 tpda7 equ 33 398 * 000043 399 tptstc equ 35 400 * 000045 401 tptc3 equ 37 402 * 000047 403 tpls1 equ 39 link nrx1 404 * 000052 405 tpls2 equ 42 link nrx2 406 * 000055 407 tptim equ 45 elapsed time proc 408 * 000057 409 tpctm equ 47 check timer 410 * 000061 411 tpproc equ 49 process msg 412 * 000064 413 tpsen equ 52 prepare icm for return 414 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 36 link t/d submodules 415 ttls link t/d submodules 00565 416 lkmod1 null link submodule -1- 00565 0 03 623 410 417 ldx2 pnores-* get nrx1 ptr 00566 2 10 047 0 418 tsy tpls1,2 go link it 00567 422 000 0 419 icmpa 0 ck for error 00570 0 64 502 272 420 tnz prcend-* error, so exit 00571 0 71 505 276 421 tra tstc9-* return icm 422 * 423 * 424 * module -1- link address table 425 * 00572 0 00000 0 426 dsp1bs ind ** ptr to submod1 427 * 428 * 00573 429 lkmod2 null link submodule -2- 00573 0 03 615 410 430 ldx2 pnores-* get nrx1 ptr 00574 2 10 052 0 431 tsy tpls2,2 go link it 00575 422 000 0 432 icmpa 0 ck for error 00576 0 64 474 272 433 tnz prcend-* error, so exit 00577 0 71 477 276 434 tra tstc9-* return icm 435 * 436 * 437 * submodule 1 header format 438 * 000000 439 ep0 equ 0 submodule data 000001 440 ep1 equ 1 submodule data 000002 441 ep2 equ 2 exec control 000003 442 ep3 equ 3 exec control 000004 443 ep4 equ 4 master dispatcher address 000005 444 ep5 equ 5 event dispatcher address 000006 445 ep6 equ 6 tib timeout dispatch address 000007 446 ep7 equ 7 grts dispatch queuer address 000010 447 ep8 equ 8 address of icm send routine 000011 448 ep9 equ 9 exec return address after wrapup 000012 449 ep10 equ 10 part 2 address and flag 000013 450 ep11 equ 11 icm decode 000014 451 ep12 equ 12 process interrupt 000015 452 ep13 equ 13 process tib timeout 000016 453 ep14 equ 14 test line wrapup 000017 454 ep15 equ 15 initialize submodule (entered via tsy) 000021 455 ep17 equ 17 ptr to getubf 000022 456 ep18 equ 18 ptr to frebuf 457 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 37 colts system symbols and definitions 458 ttls colts system symbols and definitions 000026 459 tdispp bool 26 colts dispatcher priority 000014 460 trlbkp bool 14 rellbf priority 00600 0 05000 3 461 tdmdspeind mdisp master dispatcher 00601 0 12000 3 462 tddisp ind secdsp secondary dispatcher 00602 0 00623 1 463 tdsnp eind tdsnds return icm to 600 00603 0 00466 1 464 tdwrp ind wrapup exec return address after wrapup 00604 0 00614 1 465 timout ind timprc test tib timeout processor ptr 00605 0 06000 3 466 tdqur2 ind dspqur dispatcher queuer end of binary card 00000012 00606 0 11000 3 467 tdgbufeind getubf ptr to getubf 00607 0 07000 3 468 tdlblk ind frebuf frebuf address 469 * define icm format 000002 470 tmcksm equ 2 checksum word 000003 471 tmcsta equ 3 355 reply in test icm 000004 472 t600cd equ 4 000005 473 t355cd equ 5 000006 474 tmcid1 equ 6 000007 475 tmcid2 equ 7 000010 476 tmcid3 equ 8 000011 477 tmcid4 equ 9 000012 478 tmcid5 equ 10 000013 479 tmcid6 equ 11 480 600 to 355 op-codes 000017 481 topsrt bool 17 f.1 000100 482 toplk1 bool 100 f.1 000200 483 toplk2 bool 200 f.1 000300 484 toplx1 bool 300 link nrx1 000370 485 toplx2 bool 370 link nrx2 486 355 to 600 op-codes 000041 487 topgo bool 41 operation complete op-code 000042 488 topinv bool 42 invalid icm op-code 000045 489 topact bool 45 channel active op-code 000046 490 topdis bool 46 line disconnected op-code 000047 491 topnlk bool 47 module not linked op-code 000050 492 topbuf bool 50 bufferdenial op-code assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 38 test system interrupt processor 493 ttls test system interrupt processor 494 * 00610 495 tdip null 00610 0 03 600 410 496 ldx2 pnores-* get nrx1 ptr 00611 4 74 767 600 497 tze tdmdsp-*,* no nrx1, exit to disp 00612 2 71 031 0 498 tra tpip,2 process interrupt 499 * 00613 0 03000 3 500 tg3wjt ind g3wjt get 3rd word of jump table 501 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 39 time out processor 502 ttls time out processor 503 * 00614 504 timprc subr tim 00617 0 03 571 410 505 ldx2 pnores-* get nrx1 ptr 00620 2 10 055 0 506 tsy tptim,2 go proc timer 00621 0 03 751 572 507 ldx2 dsp1bs-* get submod1 ptr 00622 2 64 015 0 508 tnz ep13,2 go proc tib timeout 00623 509 tdsnds null 00623 0 03 565 410 510 ldx2 pnores-* get nrx1 ptr 00624 2 10 064 0 511 tsy tpsen,2 go prepare icm for return 00625 0 03 564 411 512 ldx2 zerov-* 00626 513 return timprc return to op blocks 514 * 515 * 516 * 00630 517 cktime null 00630 0 03 560 410 518 ldx2 pnores-* get nrx1 ptr 00631 2 10 057 0 519 tsy tpctm,2 check elapsed time 00632 3 43 021 0 520 ldx1 -tbrtib,3 get abs test tib addr 00633 4 71 746 601 521 tra tddisp-*,* exit to secdsp 522 * 00634 0 04000 3 523 iitest ind itest 524 * 00635 000000 0 525 temp2 oct 0 00636 000000 0 526 temp3 oct 0 527 * assm 01 12-10-82 15.935 mclt multics hc fnp colts exec rev b 811214 page 40 subroutine - move icm to contiguous buffer 528 ttls subroutine - move icm to contiguous buffer 529 * 00637 0 00000 0 530 mvblk zero 00640 2 07 000 0 531 lda 0,2 00641 0 17 774 635 532 sta temp2-* save total number 36-bit wds 00642 0336 01 0 533 als 1 convert to 18-bit wd count 00643 773 040 0 534 iaa bufsiz force to next even bufsiz 00644 022 740 0 535 iana -bufsiz mask residue 00645 6333 00 0 536 caq 00646 4 10 740 606 537 tsy tdgbuf-*,* get system buffers - contiguous 00647 0 71 013 662 538 tra wtmem-* no go joe 00650 0 50 766 636 539 stx3 temp3-* save addr for caller 00651 2 04 002 0 540 mvblk4 ldaq 2,2 move the data 00652 3 14 002 0 541 staq 2,3 00653 273 002 0 542 iacx2 2 increment icm ptr 00654 373 002 0 543 iacx3 2 increment block pointer end of binary card 00000013 00655 673 777 0 544 ila -1 decrement move count 00656 0 16 757 635 545 asa temp2-* 00657 0 64 772 651 546 tnz mvblk4-* not done yet 00660 0 07 531 411 547 lda zerov-* set to zero for normal return 00661 4 71 756 637 548 tra mvblk-*,* move complete 549 00662 550 wtmem null can't get contiguous buffers 00662 673 050 0 551 ila topbuf denied buffers op-code 00663 4 71 754 637 552 tra mvblk-*,* return 553 * 554 * 555 * 00664 0 00572 1 556 dsp1bp ind dsp1bs 00665 0 01000 3 557 sigsnd ind denq 00666 0 00123 1 558 testop ind ctest 00667 000630 1 559 icktim vfd 3/0,15/cktime 00670 0 10000 3 560 getadr ind gettib 00671 0 13000 3 561 convad ind setptw 562 * 563 end of binary card 00000014 564 end 672 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.938 mclt multics hc fnp colts exec rev b 811214 page 41 octal symbol references by sequence no. 2 begin 22 79 40 bufsiz 42 42 274 534 535 134 chang 117 114 117 129 135 147 2 c.rcrq 38 38 39 40 c.rdtr 38 38 39 2 c.rrec 38 38 39 20000 c.rrqs 38 38 39 200 c.rsup 38 38 39 200 c.rtre 38 38 39 10 c.rxmt 38 38 39 1000 c.sbrk 38 38 39 1 c.scrq 38 38 39 20 c.sdtr 38 38 39 2000 c.smrk 38 38 39 1 c.srec 38 38 39 10000 c.srqs 38 38 39 100 c.ssup 38 38 39 400 c.stat 38 38 39 100 c.stre 38 38 39 4000 c.strm 38 38 39 4 c.sxmt 38 38 39 630 cktime 517 517 559 14 colts 78 20 78 671 convad 561 331 561 123 ctest 112 112 138 558 1 denq 32 557 100 dialup 39 39 81 664 dsp1bp 556 337 556 572 dsp1bs 426 187 291 299 426 507 556 6 dspqur 26 466 12 ep10 449 293 449 13 ep11 450 190 450 15 ep13 452 452 508 16 ep14 453 294 453 17 ep15 454 189 454 503 execfl 308 265 301 304 308 7 frebuf 28 468 3 g3wjt 23 500 670 getadr 560 329 560 10 gettib 30 560 11 getubf 27 467 103 gtibex 103 93 103 101 hangup 39 39 88 119 667 icktim 559 343 559 634 iitest 523 333 523 550 imodrl 350 345 350 4 itest 29 523 565 lkmod1 416 167 416 573 lkmod2 429 165 429 504 lnorx1 312 161 312 551 lnorx2 352 159 352 assm 01 12-10-82 15.938 mclt multics hc fnp colts exec rev b 811214 page 42 octal symbol references by sequence no. 546 lnxret 347 347 364 0 macwk1 504 151 173 182 198 201 203 207 209 213 217 231 233 236 238 242 260 269 290 306 504 513 1 macwk2 504 151 182 203 209 217 233 238 260 290 504 2 mclt 35 19 35 36 5 mdisp 24 461 436 modrsl 271 271 276 284 286 350 651 mvblk4 540 540 546 637 mvblk 530 315 357 530 548 552 410 pnores 245 162 183 204 210 239 245 250 261 279 285 287 296 313 319 353 360 417 430 496 505 510 518 272 prcend 171 171 176 253 256 317 359 420 433 301 prcmes 182 125 182 198 201 444 relex 278 267 278 280 288 303 453 rlx1 285 282 283 285 300 rtdac9 178 178 188 144 schan 122 112 122 152 schana 124 124 142 226 schanb 144 124 144 216 schanc 140 140 146 12 secdsp 25 462 46 sendr 91 82 91 98 13 setptw 31 561 42 shang 88 84 88 37 shangc 87 87 95 100 665 sigsnd 557 335 557 200000 s.acr 38 38 39 400000 s.ads 38 38 39 400000 s.bdmk 38 38 39 200000 s.bmk 38 38 39 1000 s.brch 38 38 39 400 s.brk 38 38 39 1 s.cd 38 38 39 2 s.cts 38 38 39 100000 s.dlo 38 38 39 4 s.dsr 38 38 39 4000 s.exh 38 38 39 10000 s.fcse 38 38 39 40000 s.isd 38 38 39 40 s.mark 38 38 39 400000 s.pbyt 38 38 39 200 s.prex 38 38 39 10000 s.prty 38 38 39 40000 s.pwi 38 38 39 200000 s.rabt 38 38 39 100000 s.rbt 38 38 39 2000 s.ring 38 38 39 40000 s.rto 38 38 39 10 s.sprc 38 38 39 20 s.st 38 38 39 100 s.term 38 38 39 assm 01 12-10-82 15.938 mclt multics hc fnp colts exec rev b 811214 page 43 octal symbol references by sequence no. 20000 s.xte 38 38 39 24 slisn 81 78 81 60 sndicm 94 94 106 108 105 sndout 39 39 97 137 145 205 sndtes 135 135 244 407 sndtst 244 200 244 161 stcht 126 126 196 5 t355cd 473 221 473 4 t600cd 472 157 472 421 t6dis 260 87 260 269 432 t6ds1 267 264 267 457 t6dtp 290 117 290 306 433 t6ret 268 262 266 268 777757 tbrtib 63 63 520 777763 tbtmp2 59 59 195 777755 tbvtib 65 65 193 127 tchang 114 112 114 167 tchng 129 127 129 244 tdac1 151 92 151 173 326 tdac2 203 123 203 207 336 tdac7 209 141 209 213 271 tdac8 170 163 170 314 tdac9 192 178 192 601 tddisp 462 462 521 606 tdgbuf 467 323 467 537 14 tdhung 33 89 120 610 tdip 495 21 495 607 tdlblk 468 275 468 600 tdmdsp 461 321 461 497 605 tdqur2 466 325 466 623 tdsnds 509 463 509 602 tdsnp 463 339 463 635 temp2 525 525 532 545 636 temp3 526 171 219 220 318 347 361 526 539 666 testop 558 341 558 116 texerr 107 104 107 20 tfacu 37 37 130 40 tfhang 37 37 84 95 100 114 129 135 147 100 tflisn 37 37 78 100 tfofc 37 37 124 144 200 tfupsf 37 37 93 103 40 tfwrd1 147 78 84 91 93 95 100 103 114 122 124 129 130 135 140 144 147 0 tfwrd2 147 78 84 91 93 95 100 103 114 122 124 129 130 135 140 144 147 1 tfwrit 37 37 91 122 140 613 tg3wjt 500 327 500 33 tibx.1 73 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 1 tibx.3 73 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 assm 01 12-10-82 15.938 mclt multics hc fnp colts exec rev b 811214 page 44 octal symbol references by sequence no. 33 tibxsz 73 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 104 200 timer 133 127 130 133 614 timprc 504 134 465 504 513 11 t.elnk 37 37 194 5 t.icp 37 37 223 7 t.icpl 37 37 227 6 t.ilst 37 37 225 15 t.occh 37 37 156 218 229 16 t.ocnt 37 37 226 12 t.ocp 37 37 152 154 13 t.ocur 37 37 153 222 228 14 t.olst 37 37 224 50 topbuf 492 234 254 492 551 41 topgo 487 175 487 42 topinv 488 170 252 488 100 toplk1 482 166 482 200 toplk2 483 164 483 300 toplx1 484 160 484 370 toplx2 485 158 485 17 topsrt 481 168 481 24 tpchkt 385 344 385 57 tpctm 409 409 519 30 tpctst 387 342 387 17 tpd1bs 381 338 381 37 tpda2 395 205 395 41 tpda7 397 211 397 323 tpdac8 200 186 200 13 tpdenq 377 336 377 35 tpdis 393 297 393 4 tpdspq 370 326 370 5 tpg3w 371 328 371 10 tpgtib 374 330 374 6 tpgubf 372 324 372 33 tpinz 391 363 391 31 tpip 389 389 498 12 tpitst 376 334 376 47 tpls1 403 403 418 52 tpls2 405 405 431 2 tpmdsp 368 322 368 23 tpmodu 384 263 384 27 tpmrsl 386 346 386 61 tpproc 411 184 411 64 tpsen 413 413 511 20 tpsnd 382 340 382 11 tpsptw 375 332 375 45 tptc3 401 240 401 55 tptim 407 407 506 43 tptstc 399 251 399 14 tpxm1 378 320 378 15 tpxm2 379 281 355 362 379 assm 01 12-10-82 15.938 mclt multics hc fnp colts exec rev b 811214 page 45 octal symbol references by sequence no. 32 tshang 84 82 84 76 tshngc 100 98 100 346 tstc11 217 94 217 231 370 tstc2 233 107 233 236 377 tstc3 238 105 238 242 276 tstc9 175 175 257 314 348 354 356 421 434 412 tstc 249 169 249 237 tthang 147 146 147 466 wrapup 295 292 295 464 500 wrpend 305 300 302 305 662 wtmem 550 538 550 411 zerov 246 172 197 206 212 230 235 241 246 268 305 512 547 ** 47052 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