assm 01 04-18-84 09.712 bsc_tables -- tables for bisync line type page 1 preface this program will be loaded mod 64 program break 4610 common length 0 v count bits 5 primary symdef entry bsc 0 bscstr 562 bscacu 641 bsctst 2323 bscwt 2732 bscwtr 2737 bscrd 3076 bsccki 3614 bsccko 3606 bscswa 2663 end of binary card 00000001 bscbad 2721 bshang 2640 secondary symdef entry .chain 500 block length symref 1 begin 2 cvabs 3 acutst 4 cvaddr 5 frebfh 6 hungup 7 setbpt end of binary card 00000002 10 st3270 11 sthasp 12 stpchn end of binary card 00000003 assm 01 04-18-84 09.712 bsc_tables -- tables for bisync line type 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 10 lbl ,bsc_tables assm 01 04-18-84 09.712 bsc_tables -- tables for bisync line type page 3 13 pcc off 16 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 17 * 18 * bsc_tables 19 * 20 * these tables are designed to run all types of bisync line 21 * discipline - ascii and ebcdic, transparent and non- 22 * transparent. 23 * 24 * coded by bob adsit may 1976 25 * completed and debugged by larry johnson, november 1976 26 * modified: 23 november 1980 by g. palter to fix a bug 27 * which caused fnp crashes with a store fault 28 * 29 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 30 00000 31 bsc null 32 33 symdef bsc 34 symdef bscstr 35 symdef bscacu return from autocall 36 symdef bsctst bisync test state handler 37 symdef bscwt write w/o recieve mode 38 symdef bscwtr write with recieve mocd 39 symdef bscrd read routine 40 symdef bsccki check input routine 41 symdef bsccko check output routine 42 symdef bscswa switch acks routine 43 symdef bscbad report bad block subroutine 44 symdef bshang when line hangs up 45 46 symref begin 47 symref hungup 48 symref frebfh subroutine to free a buffer 49 symref setbpt subroutine to set buffer pte 50 symref cvabs subroutine to 'absolutize' an address 51 symref cvaddr subroutine to convert a tib extension address 52 symref st3270 start of 3270 control tables 53 symref sthasp start of hasp control tables 54 symref acutst make autocall 55 00000 57 cctdef cct control bit definitions 000000 ct.ncs bool 000 normal char store 000001 ct.t1s bool 001 store and terminate on next 000002 ct.t2s bool 002 store and terminate after 2 chars 000003 ct.t0s bool 003 store and terminate 000004 ct.dmk bool 004 store and marker delayed 000005 ct.mk1 bool 005 store and marker on next 000006 ct.ign bool 006 ignore, no store assm 01 04-18-84 09.712 bsc_tables -- tables for bisync line type page 4 000007 ct.mrk bool 007 store and marker 000020 ct.sw bool 020 switch icws 000040 ct.syn bool 040 resync channel 000100 ct.tb1 bool 100 switch to table 1 000200 ct.tb2 bool 200 switch to table 2 000300 ct.tb3 bool 300 switch to table 3 000400 ct.tb4 bool 400 switch to table 4 000023 ct.eol equ ct.sw+ct.t0s eol for regular tty 000061 ct.grt equ ct.sw+ct.syn+ct.t1s for etx plus bcc char 000421 ct.etx equ ct.t1s+ct.sw+ct.tb4 000423 ct.nak equ ct.t0s+ct.sw+ct.tb4 000005 ct.itb equ ct.mk1 000204 ct.stx equ ct.tb2+ct.dmk 000207 ct.mtb equ ct.mrk+ct.tb2 ** following codes are for setcct opblock 000000 scc.dl equ 0 delete current cct 000001 scc.df equ 1 set to default cct based on modes 000002 scc.bs equ 2 reset to base of current cct 58 000422 59 ct.bcc equ ct.t2s+ct.sw+ct.tb4 60 00000 61 base 64 62 00000 63 cct.ab null * cct for ascii binary synchronous devices 64 * table 0 - non transparent text and control sequences 65 00000 000000 0 66 vfd 9/ct.ncs,9/ct.ncs * 000 001 00001 000421 0 67 vfd 9/ct.ncs,9/ct.etx * 002 etx 00002 423423 0 68 vfd 9/ct.nak,9/ct.nak * eot enq 00003 000000 0 69 vfd 9/ct.ncs,9/ct.ncs * 006 007 00004 000000 0 70 vfd 9/ct.ncs,9/ct.ncs * 010 011 00005 000000 0 71 vfd 9/ct.ncs,9/ct.ncs * 012 013 00006 000000 0 72 vfd 9/ct.ncs,9/ct.ncs * 014 015 00007 000000 0 73 vfd 9/ct.ncs,9/ct.ncs * 016 017 00010 100000 0 74 vfd 9/ct.tb1,9/ct.ncs * dle 021 00011 000000 0 75 vfd 9/ct.ncs,9/ct.ncs * 022 023 00012 000423 0 76 vfd 9/ct.ncs,9/ct.nak * 024 nak 00013 006421 0 77 vfd 9/ct.ign,9/ct.etx * 026 etb 00014 000000 0 78 vfd 9/ct.ncs,9/ct.ncs * 030 031 00015 000000 0 79 vfd 9/ct.ncs,9/ct.ncs * 032 033 00016 000000 0 80 vfd 9/ct.ncs,9/ct.ncs * 034 035 00017 000005 0 81 vfd 9/ct.ncs,9/ct.itb * 036 itb 82 83 00020 84 dup 1,48 00020 000000 0 85 vfd 9/ct.ncs,9/ct.ncs end of binary card 00000004 86 assm 01 04-18-84 09.712 bsc_tables -- tables for bisync line type page 5 87 * table 1 - looking at character following dle 88 00100 000000 0 89 vfd 9/ct.ncs,9/ct.ncs * 000 001 00101 204423 0 90 vfd 9/ct.stx,9/ct.nak * stx etx 00102 423423 0 91 vfd 9/ct.nak,9/ct.nak * eot enq 00103 000000 0 92 vfd 9/ct.ncs,9/ct.ncs * 006 007 00104 000000 0 93 vfd 9/ct.ncs,9/ct.ncs * 010 011 00105 000000 0 94 vfd 9/ct.ncs,9/ct.ncs * 012 013 00106 000000 0 95 vfd 9/ct.ncs,9/ct.ncs * 014 015 00107 000000 0 96 vfd 9/ct.ncs,9/ct.ncs * 016 017 00110 000000 0 97 vfd 9/ct.ncs,9/ct.ncs * 020 021 00111 000000 0 98 vfd 9/ct.ncs,9/ct.ncs * 022 023 00112 000000 0 99 vfd 9/ct.ncs,9/ct.ncs * 024 025 00113 000423 0 100 vfd 9/ct.ncs,9/ct.nak * 026 etb 00114 000000 0 101 vfd 9/ct.ncs,9/ct.ncs * 030 031 00115 000000 0 102 vfd 9/ct.ncs,9/ct.ncs * 032 033 end of binary card 00000005 00116 000000 0 103 vfd 9/ct.ncs,9/ct.ncs * 034 035 00117 000207 0 104 vfd 9/ct.ncs,9/ct.mtb * 036 itb 00120 000000 0 105 vfd 9/ct.ncs,9/ct.ncs * 040 041 00121 000000 0 106 vfd 9/ct.ncs,9/ct.ncs * 042 043 00122 000000 0 107 vfd 9/ct.ncs,9/ct.ncs * 044 045 00123 000000 0 108 vfd 9/ct.ncs,9/ct.ncs * 046 047 00124 000000 0 109 vfd 9/ct.ncs,9/ct.ncs * 050 051 00125 000000 0 110 vfd 9/ct.ncs,9/ct.ncs * 052 053 00126 000000 0 111 vfd 9/ct.ncs,9/ct.ncs * 054 055 00127 000000 0 112 vfd 9/ct.ncs,9/ct.ncs * 056 057 00130 423423 0 113 vfd 9/ct.nak,9/ct.nak * ak0 ak1 00131 000000 0 114 vfd 9/ct.ncs,9/ct.ncs * 062 063 00132 000000 0 115 vfd 9/ct.ncs,9/ct.ncs * 064 065 00133 000000 0 116 vfd 9/ct.ncs,9/ct.ncs * 066 067 00134 000000 0 117 vfd 9/ct.ncs,9/ct.ncs * 070 071 00135 000423 0 118 vfd 9/ct.ncs,9/ct.nak * 072 wak 00136 423000 0 119 vfd 9/ct.nak,9/ct.ncs * rvi 075 00137 000000 0 120 vfd 9/ct.ncs,9/ct.ncs * 076 077 121 122 00140 123 dup 1,32 00140 000000 0 124 vfd 9/ct.ncs,9/ct.ncs end of binary card 00000006 125 126 * table 2 - transparent text 127 00200 200200 0 128 vfd 9/ct.tb2,9/ct.tb2 * 000 001 00201 200200 0 129 vfd 9/ct.tb2,9/ct.tb2 * 002 003 00202 200200 0 130 vfd 9/ct.tb2,9/ct.tb2 * 004 005 00203 200200 0 131 vfd 9/ct.tb2,9/ct.tb2 * 006 007 00204 200200 0 132 vfd 9/ct.tb2,9/ct.tb2 * 010 011 00205 200200 0 133 vfd 9/ct.tb2,9/ct.tb2 * 012 013 00206 200200 0 134 vfd 9/ct.tb2,9/ct.tb2 * 014 015 00207 200200 0 135 vfd 9/ct.tb2,9/ct.tb2 * 016 017 00210 300200 0 136 vfd 9/ct.tb3,9/ct.tb2 * dle 021 assm 01 04-18-84 09.712 bsc_tables -- tables for bisync line type page 6 00211 200200 0 137 vfd 9/ct.tb2,9/ct.tb2 * 022 023 00212 200200 0 138 vfd 9/ct.tb2,9/ct.tb2 * 024 025 00213 200200 0 139 vfd 9/ct.tb2,9/ct.tb2 * 026 027 00214 200200 0 140 vfd 9/ct.tb2,9/ct.tb2 * 030 031 00215 200200 0 141 vfd 9/ct.tb2,9/ct.tb2 * 032 033 00216 200200 0 142 vfd 9/ct.tb2,9/ct.tb2 * 034 035 00217 200200 0 143 vfd 9/ct.tb2,9/ct.tb2 * 036 037 144 145 00220 146 dup 1,48 00220 200200 0 147 vfd 9/ct.tb2,9/ct.tb2 end of binary card 00000007 148 149 * table 3 - looking for end of transparent text 150 00300 200200 0 151 vfd 9/ct.tb2,9/ct.tb2 * 000 001 00301 200422 0 152 vfd 9/ct.tb2,9/ct.bcc * 002 etx 00302 200423 0 153 vfd 9/ct.tb2,9/ct.nak * 004 enq end of binary card 00000008 00303 200200 0 154 vfd 9/ct.tb2,9/ct.tb2 * 006 007 00304 200200 0 155 vfd 9/ct.tb2,9/ct.tb2 * 010 011 00305 200200 0 156 vfd 9/ct.tb2,9/ct.tb2 * 012 013 00306 200200 0 157 vfd 9/ct.tb2,9/ct.tb2 * 014 015 00307 200200 0 158 vfd 9/ct.tb2,9/ct.tb2 * 016 017 00310 200200 0 159 vfd 9/ct.tb2,9/ct.tb2 * 020 021 00311 200200 0 160 vfd 9/ct.tb2,9/ct.tb2 * 022 023 00312 200200 0 161 vfd 9/ct.tb2,9/ct.tb2 * 024 025 00313 200422 0 162 vfd 9/ct.tb2,9/ct.bcc * 026 etb 00314 200200 0 163 vfd 9/ct.tb2,9/ct.tb2 * 030 031 00315 200200 0 164 vfd 9/ct.tb2,9/ct.tb2 * 032 033 00316 200200 0 165 vfd 9/ct.tb2,9/ct.tb2 * 034 035 00317 200207 0 166 vfd 9/ct.tb2,9/ct.mtb * 036 itb 167 168 00320 169 dup 1,48 00320 200200 0 170 vfd 9/ct.tb2,9/ct.tb2 end of binary card 00000009 171 172 * table 4 - end of text and control sequences 173 * ignoring all characters 174 * setcct micro-op must take us out of here for next 175 * data message or control sequence 176 00400 406406 0 177 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 000 001 00401 406406 0 178 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 002 003 00402 406406 0 179 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 004 005 00403 406406 0 180 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 006 007 00404 406406 0 181 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 010 011 00405 406406 0 182 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 012 013 00406 406406 0 183 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 014 015 00407 406406 0 184 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 016 017 00410 406406 0 185 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 020 021 assm 01 04-18-84 09.712 bsc_tables -- tables for bisync line type page 7 00411 406406 0 186 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 022 023 00412 406406 0 187 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 024 025 00413 406406 0 188 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 026 027 00414 406406 0 189 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 030 031 00415 406406 0 190 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 032 033 00416 406406 0 191 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 034 035 00417 406406 0 192 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 * 036 037 193 194 00420 195 dup 1,48 00420 406406 0 196 vfd 9/ct.ign+ct.tb4,9/ct.ign+ct.tb4 end of binary card 00000011 197 00500 198 start bsc,,c3bism0b0000 symdef -.chain 00500 even 00500 000000 0 .chain dec 0 00501 226223 0 bci 2,bsc 00503 0 00000 1 ind bsc 00504 000401 0 date 00506 230322 0 bci 4,c3bism0b0000 00512 199 tib assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 8 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 04-18-84 09.715 bsc_tables -- tables for bisync line type page 9 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 ******************************** assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 10 terminal information block (tib) 000001 tsfcd bool 000001 carrier detect 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 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 11 terminal information block (tib) 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 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 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 12 terminal information block (tib) 010000 tfcrcv bool 010000 'control' receive mode 020000 tfmrcv bool 020000 'message' receive mode 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 040000 tfinq bool 040000 input is queued for the channel assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 13 terminal information block (tib) ********************************* * redefined tib flags in t.flg ********************************* 000020 tfdlup equ tfprtr line is on dialup modem 00512 200 sfcm hsla pcc save,off assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 14 sfcm for hsla 000000 sf.hcm equ 0 addr of hwcm 000001 sf.nxa equ sf.hcm+1 addr of next available queue entry 000002 sf.nxp equ sf.nxa+1 addr of next queue entry to process 000003 sf.tly equ sf.nxp+1 tally of status queue 000004 sf.tib equ sf.tly+1 addr of tib for this line 000005 sf.flg equ sf.tib+1 flag word 000006 sf.ib0 equ sf.flg+1 pointer to input buffer 1 000007 sf.ib1 equ sf.ib0+1 pointer to input buffer 2 000010 sf.ob0 equ sf.ib1+1 pointer to output buffer 1 000011 sf.ob1 equ sf.ob0+1 pointer to output buffer 2 000012 sf.pcw equ sf.ob1+1 current pcw 2nd word 000013 sf.cct equ sf.pcw+1 cct addr for this line, if non-zero 000014 sf.rct equ sf.cct+1 repeat count for status queue overflows 000015 sf.hsl equ sf.rct+1 address of hsla table entry for this line 000016 sf.bsz equ sf.hsl+1 max buffer size 000017 sf.fbs equ sf.bsz+1 buffer size to be used during frame input 000020 sf.mms equ sf.fbs+1 maximum synchronous message size 000020 sf.csz equ sf.mms current asynchronous buffer size 000021 sf.rms equ sf.mms+1 remaining unallocated message length 000021 sf.nic equ sf.rms char. address of next asynchronous input 000022 sf.noc equ sf.nic+1 char address of next asynchronous output 000023 sf.ssl equ sf.noc+1 number of entries in software status queu 000024 sf.cfg equ sf.ssl+1 2 words for config pcw 000026 sf.sta equ sf.cfg+2 hardware status q, sicw here 000005 sfhsiz equ 5 number of entries in hardware status buf assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 15 sfcm for hsla room for 6 status words 000042 sf.est equ sf.sta+sfhsiz*2+2 000042 sf.hln equ sf.est 000042 sf.waq equ sf.est wrap around queue, software status q 000012 sfssq equ 10 length of "short" software status queue 000024 sflsq equ 20 length of "long" software status queue (used for hdlc and bisync lines) 000054 sf.sln equ sf.hln+sfssq 000066 sf.lln equ sf.hln+sflsq sfcm flag definitions 000001 sffskd bool 000001 status processor is scheduled 000002 sffcii bool 000002 on if alternate input icw is active 000004 sffcoi bool 000004 on if alternate output icw is active 000010 sffisc bool 000010 inactive subchannel flag 000020 sffsct bool 000020 short cct flag 000040 sffebd bool 000040 ebcdic data code on this line 000100 sffech bool 000100 tab, cr, lf echo going on now 000200 sffdct bool 000200 dynamic (sharable) cct in use for channel 000400 sffstp bool 000400 stop channel, rxmit done 002000 sffbsc bool 002000 binary synchronous device 004000 sffsqo bool 004000 status queue overflow pending 010000 sffsyn bool 010000 any synchronous line type 020000 sffmsp bool 020000 marker status pending 040000 sffofr bool 040000 old setting of tffrmi (lines up on tffrmi 100000 sffnib bool 100000 need to allocate new input buffer(s) 200000 sffssb bool 200000 copied alternate buffer back to output ch 400000 sffhdl bool 400000 uses hdlc channel board assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 16 sfcm for hsla 000002 sfhmk equ 2 x-or mask to switch icw addrs 000001 sfbfmk equ 1 x-or mask to switch i-or-ob1/2 addrs pcc restore 00512 201 meters assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 17 system-wide meters 000720 .mdilc set 464 cumulative no. of channels dialed 000722 .mdilu set 466 updates of .mdilc 000724 .mspav set 468 cumulative space available 000726 .mspau set 470 updates of .mspav 000730 .mimbx set 472 cumulative number of mbxes in use 000732 .mimbu set 474 updates of .mimbx 000734 .mndil set 476 current no. of channels dialed 000735 .malof set 477 number of space allocation failures 000736 .mdias set 478 abnormal dia status 000737 .mpool set 479 total size of buffer pool (in words) 000740 .mbufa set 480 number of buffer allocations 000742 .mbfpa set 482 number of buffers pre-allocated 000744 .mupab set 484 used a pre-allocated buffer 000746 .mpanf set 486 no pre-allocated buffer available 000750 .mblow set 488 buffer allocated in low memory 000030 .mleng equ .mpanf+2-.mdilc length of system-wide meters assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 18 per-channel meters meters for all channels 000000 m.dql equ 0 cumulative length of dia request queue 000002 m.dqu equ m.dql+2 updates of m.dql 000004 m.nst equ m.dqu+2 cumulative no. of pending status 000006 m.nsu equ m.nst+2 updates of m.nst 000010 m.over equ m.nsu+2 output overlaps 000011 m.par equ m.over+1 parity errors 000012 m.ssqo equ m.par+1 software status queue overflows 000013 m.hsqo equ m.ssqo+1 hardware status queue overflows 000014 m.inaf equ m.hsqo+1 input allocation failures 000015 m.cql equ m.inaf+1 current length of dia request queue 000016 m.exh equ m.cql+1 exhaust status 000020 m.xte equ m.exh+2 software xte status 000022 m.leng equ m.xte+2 length of common meters (must be even) additional meters for asynchronous channels 000022 m.prex equ m.leng pre-exhaust status 000024 m.ebof equ m.prex+2 echo buffer overflows 000026 m.quit equ m.ebof+2 bell-quits 000030 m.asyl equ m.quit+2 total length of asynchronous meters (must be even) additional meters for synchronous channels 000022 m.nim equ m.leng number of input messages 000024 m.iml equ m.nim+2 cumulative length of input 000026 m.mini equ m.iml+2 minimum length of input message assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 19 per-channel meters 000027 m.maxi equ m.mini+1 maximum length of input message 000030 m.nom equ m.maxi+1 number of output messages 000032 m.oml equ m.nom+2 cumulative length of output 000034 m.mino equ m.oml+2 minimum length of output message 000035 m.maxo equ m.mino+1 maximum length of output message 000036 m.cnt1 equ m.maxo+1 first type of counter 000040 m.cnt2 equ m.cnt1+2 second type of counter 000042 m.cnt3 equ m.cnt2+2 third type of counter 000044 m.cnt4 equ m.cnt3+2 fourth type of counter 000046 m.cnt5 equ m.cnt4+2 fifth type of counter 000050 m.cnt6 equ m.cnt5+2 sixth type of counter 000052 m.cnt7 equ m.cnt6+2 seventh type of counter 000054 m.cnt8 equ m.cnt7+2 eighth type of counter 000056 m.synl equ m.cnt8+2 total length of synchronous meters 00512 202 csbits assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 20 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 04-18-84 09.715 bsc_tables -- tables for bisync line type page 21 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 04-18-84 09.715 bsc_tables -- tables for bisync line type page 22 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 00512 203 tconst assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 23 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 04-18-84 09.715 bsc_tables -- tables for bisync line type page 24 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 04-18-84 09.715 bsc_tables -- tables for bisync line type page 25 flag and control bit definitions 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 04-18-84 09.715 bsc_tables -- tables for bisync line type page 26 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 00512 204 buffer assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 27 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 00512 205 bscdat assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 28 bsc symbol definitions 00512 tibex ack0,char /* ack0 value */ 00512 tibex ack1,char /* ack1 value */ 00512 tibex tiback,char /* current ack value */ 00512 tibex enq,char /* enq value */ 00512 tibex tibnak,char /* nak value */ 00512 tibex tibeot,char /* eot value */ 00512 tibex rvi,char /* rvi value */ 00512 tibex wack,char /* wack value */ 00512 tibex etb,char /* etb value */ 00512 tibex wrkch1,char /* temporary work character (hasp) */ 00512 tibex wrkch2,char /* temporary work character (hasp) */ 00512 tibex chartb,word /* address of table define characters for 00512 tibex stattb,word /* address of state transiion table */ 00512 tibex nakcnt,word /* count of naks received during write */ 00512 tibex naklmt,word /* limit of naks during write */ 00512 tibex enqcnt,word /* count of bad responses or timeouts dur 00512 tibex result,word /* final answer on message scans */ /* ... possible values are: */ 000000 resinc equ 0 /* ... message incomplete */ 000001 resnak equ 1 /* ... message should be nakked */ 000002 reseot equ 2 /* ... message was eot */ 000003 resenq equ 3 /* ... message was enq */ 000004 resack equ 4 /* ... good message */ 000005 resnul equ 5 /* ... no data at all */ 000006 resntr equ 6 /* ... non-transparent msg in trans m 00512 tibex ctlop,word /* start of 4 words for linctl */ 00512 tibex ctlvl1,word 00512 tibex ctlvl2,word 00512 tibex ctlvl3,word 00512 tibex bidlmt,word /* maximum times to bid for line */ 00512 tibex bidcnt,word /* count of bid tries */ 00512 tibex cfgrmd,word /* rmode bits for reconfig */ 00512 tibex cfgsmd,word /* smode bits for reconfig */ 00512 tibex ttdtim,word /* time interval between ttds */ 00512 tibex ttdlmt,word /* maxinum number to send */ 00512 tibex ttdcnt,word /* number sent so far */ 00512 tibex polad1,word /* 3 words for polling address */ 00512 tibex polad2,word 00512 tibex polad3,word 00512 tibex testrt,word /* address of extra test state handler */ 00512 tibex exflg1,word /* a word of flags */ 000001 dialed bool 000001 /* set when dialup has been signalled */ 000002 naksw bool 000002 /* nak required */ 000004 nakksw bool 000004 /* indicates receive nakked last message 000010 codasc bool 000010 /* set if using ascii code */ 000020 codebc bool 000020 /* set if using ebcdic code */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 29 bsc symbol definitions 000040 trnon bool 000040 /* set if tranparency is on */ 000100 trnoff bool 000100 /* set if transparency is off */ 000200 wacksw bool 000200 /* indicates wack sent or received on las 000400 datrcv bool 000400 /* indicates data was read during write * 001000 alwbid bool 001000 /* set if line bid should be accepted */ 002000 cfgpnd bool 002000 /* reconfiguration is pending */ 004000 cfgok bool 004000 /* its ok to reconfigure now */ 010000 rflag bool 010000 /* to distinguish between 'write' and 'wr 020000 ttdsw bool 020000 /* ttd was just sent */ 040000 ntrsw bool 040000 /* set while send non-trans block in tran 100000 rvisw bool 100000 /* rvi has been used as ack this transmis 200000 needrv bool 200000 /* ack this msg with rvi if possible */ 400000 ctlmsg bool 400000 /* indicates first output buffer is ctl m 00512 tibex exflg2,word /* second word of flags */ 000001 lookot bool 000001 /* set if read subr should watch for writ 000002 gotot bool 000002 /* read terminated by write call */ 000004 timout bool 000004 /* timeout waiting for input */ 000010 ib3270 bool 000010 /* ibm 3270 protocol to be used */ 000020 polpnd bool 000020 /* poll pending on channel */ 000040 pollok bool 000040 /* ok to poll now */ 000100 selop bool 000100 /* select in progress */ 000200 bool 000200 000400 pollsw bool 000400 /* last message sent was poll */ 001000 autopl bool 001000 /* automatic poll mode enabled */ 002000 haspmd bool 002000 /* hasp protocol to be used */ 004000 master bool 004000 /* we are master (or primary) end */ 010000 outarv bool 010000 /* output from cs arrived while busy (has 020000 dialos bool 020000 /* can't send input over dia now (hasp) * 040000 csreqa bool 040000 /* tell cs when current msg is sent (hasp 100000 lswabs bool 100000 /* local system wait-a-bit (hasp) */ 200000 fswabs bool 200000 /* foreign system wait-a-bit (hasp) */ 400000 fnrcba bool 400000 /* block arrived but foreign not ready (h 00512 tibex selad1,word 00512 tibex selad2,word 00512 tibex selad3,word /* hasp re-definitions */ 777753 hxmttm equ ttdtim /* hasp transmit time limit */ 777757 hcontm equ bidlmt /* hasp connect time limit */ 777751 hrcvtm equ ttdcnt /* hasp receive time limit */ 777742 wabmsk equ selad1 /* array of wait-a-bit masks */ 777741 hblkno equ selad2 /* bcb of block cs is interested in */ 777740 wrpcnt equ selad3 /* sync-blocks needed before xfer resumes assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 30 bsc symbol definitions /* ascii char values */ 000060 aack0 bool 60 000061 aack1 bool 61 000005 aenq bool 5 000025 anak bool 25 000004 aeot bool 4 000074 arvi bool 74 000073 awack bool 73 000027 aetb bool 27 /* ebcdic char values */ 000160 eack0 bool 160 000141 eack1 bool 141 000055 eenq bool 55 000075 enak bool 75 000067 eeot bool 67 000174 ervi bool 174 000153 ewack bool 153 000046 eetb bool 46 /* common char values */ 000037 itb bool 37 /* line status op-codes */ 000001 lstbdf equ 1 /* bid failed */ 000002 lstbbk equ 2 /* attempt to write bad block */ 000003 lstrvi equ 3 /* rvi recieved */ 000004 lstnak equ 4 /* excessive naks */ 000005 lstrwr equ 5 /* reporting result of write status */ 000006 lstwrc equ 6 /* write completed */ 000007 lstwkm equ 7 /* ibm3270 wacked message */ 000010 lsteot equ 8 /* got eot in response to output */ 000011 lstabo equ 9 /* sent eot because too many timeouts or 000012 lstslf equ 10 /* select failed */ 000013 lstwck equ 11 /* wack in response to select */ 000014 lstnko equ 12 /* too many naks on output */ 000015 lsthin equ 13 /* hasp initialization complete */ 000016 lsthfr equ 14 /* foreign system wait-a-bit reset (hasp) /* line control op-codes */ 000001 lctbid equ 1 /* set bid retry limit */ 000002 lctabd equ 2 /* allow line bids now */ 000003 lctcfg equ 3 /* reconfigure */ 000004 lctttd equ 4 /* set ttd parameters */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 31 bsc symbol definitions 000005 lcttwr equ 5 /* test write status */ 000006 lct327 equ 6 /* set ibm3270 mode */ 000007 lctpla equ 7 /* set polling address */ 000010 lctpol equ 8 /* start a polling operation */ 000011 lctsla equ 9 /* set selection address */ 000012 lctsta equ 10 /* stop auto polling */ 000013 lctmst equ 11 /* set master or slave mode */ 000014 lcthsp equ 12 /* set hasp mode */ 000015 lctnak equ 13 /* set nak limit */ 000016 lcthtm equ 14 /* set hasp time limits */ 207 208 /* input scan control strings */ 209 00512 210 inenq chstr (rescan,match,enq) 00514 211 inenqs chstr (rescan,search,enq) 00516 212 ineot chstr (rescan,match,tibeot) 00520 213 inack chstr (rescan,match,dle,ignore,match,tiback) 00524 214 innak chstr (rescan,match,tibnak) 00526 215 indisc chstr (rescan,match,dle,ignore,match,tibeot) 00532 216 inwack chstr (rescan,match,dle,ignore,match,wack) 00536 217 inrvi chstr (rescan,match,dle,ignore,match,rvi) end of binary card 00000012 218 219 /* output bldmsg control strings */ 220 00542 221 otack chstr (dle,tiback,seteom) 00544 222 otnak chstr (tibnak,seteom) 00546 223 otenq chstr (enq,seteom) 00550 224 oteot chstr (tibeot,seteom) 00552 225 otdisc chstr (dle,tibeot,seteom) 00554 226 otwack chstr (dle,wack,seteom) 00556 227 otttd chstr (stx,enq,seteom) 00560 228 otrvi chstr (dle,rvi,seteom) 229 230 231 232 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 32 dialup control for bisync lines 234 ************************************************************************ 235 * 236 * wait for bisync line to dial up. we distinguish here between 237 * half and full duplex lines in how we handle 238 * rts/cts during initialization 239 * 240 ************************************************************************ 241 00562 242 bscstr tstflg tfacu,acutst /* must dial telephone first */ 00566 243 tstflg tflisn,lisn /* shall we listen for channel? */ 00572 244 wait 0,0,begin 245 00576 246 lisn tstflg tfdlup,lisnhf 00602 247 contrl sdtr+srts+stat /* ready fulldpx channel for operation */ 248 00604 249 waitfl wait 0,0,bstlsn /* wait for channel to come ready */ end of binary card 00000013 00610 250 status cd+cts+dsr,0,bsdial /* go it now */ 251 00614 252 lisnhf contrl sdtr+rrts+stat /* ready half dumplex chan for operation */ 00616 253 waithf wait 0,0,bstlsn 00622 254 status dsr,0,bsdial 255 00626 256 bstlsn tstflg tfhang,bshang /* do hangup if requested */ 00632 257 tstflg tflisn,lisnok /* is listen still on? */ 00636 258 goto hungup /* no, bail out */ 00640 259 lisnok waitm 260 00641 261 bscacu contrl stat /* return from autocall, be sure line is up */ 00643 262 tstflg tfdlup,waithf 00647 263 goto waitfl 264 265 ************************************************************************ 266 * 267 * line has dialed up. do software initialization 268 * 269 ************************************************************************ 270 00651 271 bsdial getext ,bserr /* setup tib extension */ 00654 272 setlcl exflg1,0 /* reset all flags */ end of binary card 00000014 00657 273 setlcl exflg2,0 00662 274 setlcl bidlmt,0 /* start off with indefinite bidding */ 00665 275 setlcl ttdlmt,0 00670 276 setlcl ttdtim,5 00673 277 setlcl naklmt,3 00676 278 reinit calasm bsinit /* call subr to setup some flags */ 00701 279 tstlcf exflg1,codasc,bsasci /* do ascii initialization */ 00705 280 goto bsebcd /* do ebcdic initialization */ 281 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 33 dialup control for bisync lines 282 283 bisync initialization of code dependent char values 284 285 /* bisync - ascii */ 286 00707 287 bsasci setchr ack0,aack0 /* establish ascii values */ 00711 288 setchr ack1,aack1 00713 289 setchr enq,aenq 00715 290 setchr tibnak,anak 00717 291 setchr tibeot,aeot 00721 292 setchr rvi,arvi 00723 293 setchr wack,awack end of binary card 00000015 00725 294 setchr etb,aetb 00727 295 setcct cct.ab /* ascii needs cct */ 00731 296 goto bstart /* get to work */ 297 298 /* bisync - ebcdic */ 299 00733 300 bsebcd setchr ack0,eack0 /* establish ebcdic values */ 00735 301 setchr ack1,eack1 00737 302 setchr enq,eenq 00741 303 setchr tibnak,enak 00743 304 setchr tibeot,eeot 00745 305 setchr rvi,ervi 00747 306 setchr wack,ewack 00751 307 setchr etb,eetb 00753 308 setcct scc.dl /* dont need cct for ebcdic */ 309 00755 310 bstart tstlcf exflg1,dialed,ck3270 /* skip if dialup part already done */ 00761 311 calsub dmpall /* toss out any left over output */ 00763 312 dumpin /* also any input */ 00764 313 signal dialup /* tell ring-0 about this line */ 00766 314 setlcf exflg1,dialed 315 316 /* find something to do */ 317 00771 318 bswork tstflg tfhang,bshang /* hangup, if directed */ end of binary card 00000016 00775 319 clrlcf exflg1,datrcv 01000 320 tstlcf exflg1,cfgpnd,gocfg /* reconfig now if needed */ 01004 321 setflg tfmrcv /* we are msg receive mode user */ 01007 322 tstwrt bswrit /* if output present, try write */ 01011 323 goto bsread 324 325 ************************************************************************ 326 * 327 * switch here to ibm 3270 control tables if requested 328 * 329 ************************************************************************ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 34 dialup control for bisync lines 330 01013 331 ck3270 tstlcf exflg2,ib3270,go3270 /* requested 3270 mode? */ 01017 332 tstlcf exflg2,haspmd,gohasp /* hasp mode selected? */ 01023 333 goto bswork 01025 334 go3270 tstlcl a3270,badadr,bswork /* dont do it if not in core */ 01031 335 clrlcf exflg1,cfgok 01034 336 tstflg tfhang,bshang /* last chance to bail out */ 01040 337 goto st3270 /* become a 3270 */ 01042 338 gohasp tstlcl ahasp,badadr,bswork /* ignore if hasp not configued */ end of binary card 00000017 01046 339 clrlcf exflg1,cfgok 01051 340 tstflg tfhang,bshang 01055 341 goto sthasp 01057 0 10000 3 342 a3270 ind st3270 01060 0 11000 3 343 ahasp ind sthasp 000776 344 badadr bool 776 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 35 bisync read routines 346 ************************************************************************ 347 * 348 * wait here for enq. this can either be a line bid 349 * or the writers response to our wack 350 * 351 ************************************************************************ 352 01061 353 bsread setchr tiback,ack0 /* prime ack value */ 01063 354 clrlcf exflg1,naksw+nakksw+wacksw+rvisw+needrv+ctlmsg 01066 355 tstlcf exflg1,cfgpnd,gocfg /* reconfigure now if needed */ 01072 356 setlcf exflg1,cfgok /* can accept reconfig op now */ 01075 357 setime 30 /* dont wait forever if stuff to write */ 01077 358 tstwrt wtenqx 01101 359 setime 0 01103 360 wtenqx setcct scc.bs /* initialize cct back to base */ 01105 361 setflg tfcrcv /* can use control rcv for line bids */ 01110 362 contrl srec+rxmit /* setup for read */ end of binary card 00000018 363 01112 364 wtenq setlcf exflg2,lookot /* watch for output during read */ 01115 365 calsub read 01117 366 tstlcf exflg2,gotot,bswrit /* got something to write */ 01123 367 tstlcf exflg2,timout,bidto /* timed out, nothing happened */ 368 369 ************************************************************************ 370 * 371 * got some input, so check it 372 * 373 ************************************************************************ 374 01127 375 tstlcf exflg1,alwbid,bidsok /* branch if accepting bids */ 01133 376 goto dumpi /* throw this away */ 01135 377 bidsok inscan inenq,notbid /* look for line bid */ 01140 378 dumpin /* toss out line bid */ 01141 379 goto doread 380 01143 381 notbid tstlcf exflg1,wacksw,chkdsc /* must be exactly enq if wack */ 01147 382 inscan inenqs,chkdsc /* search for enq */ 01152 383 dumpin /* got it */ 01153 384 goto doread 01155 385 chkdsc inscan indisc,dumpi /* look for disconnect */ 01160 386 goto dumpi /* got it, hangup */ end of binary card 00000019 387 01162 388 dumpi dumpin /* toss out garbage */ 01163 389 setime 20 01165 390 tstlcf exflg1,wacksw,wtenqx 01171 391 goto bswork /* keep looking */ 392 01173 393 bidto tstlcf exflg1,wacksw,readto /* treat as timeout if waiting for wack */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 36 bisync read routines 01177 394 goto bswork assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 37 bisync read routines 396 ************************************************************************ 397 * 398 * respond to the previous transmission. this could have been a 399 * line bid, or we could be ackknowlidgine the previous msg. 400 * 401 ************************************************************************ 402 01201 403 doread tstlcf exflg1,wacksw,bldwak /* is wack maybe needed? */ 01205 404 bldack tstlcf exflg1,needrv,bldrvi /* should use rvi, not ack */ 01211 405 useack bldmsg otack,bserr /* build buffer with ack msg */ 01214 406 goto dored2 01216 407 bldrvi tstlcf exflg1,rvisw,useack /* send ack if rvi already used */ 01222 408 setlcf exflg1,rvisw /* try rvi */ 01225 409 bldmsg otrvi,bserr end of binary card 00000020 01230 410 goto dored2 01232 411 bldwak clrlcf exflg1,wacksw 01235 412 tstfld t.dcp,0,bldack /* ok to send ack now, dia caught up */ 01241 413 setime -100 /* before wacking, pause - things may get better 01243 414 wait chkwak,0,bstest 01247 415 status 0,dsr,bshang 01253 416 chkwak tstfld t.dcp,0,bldack /* temp wait worked, no need to wack at all */ 01257 417 setlcf exflg1,wacksw /* another wack may be required later */ 01262 418 bldmsg otwack,bserr /* build a wack message */ 01265 419 meter2 m.cnt4,1 /* count it */ 01270 420 dored2 clrlcf exflg1,nakksw /* clear nak sent flag */ 01273 421 holdot /* hold ack msg */ 01274 422 sndrsp clrlcf exflg1,naksw /* clear nak required flag */ end of binary card 00000021 01277 423 setlcf exflg1,ctlmsg /* remeber this is control message */ 01302 424 calsub writer /* write out response */ 425 01304 426 dmpout /* toss out response */ 01305 427 clrlcf exflg1,ctlmsg /* no longer have control message */ 01310 428 setime 20 /* 20 seconds for input */ 01312 429 tstlcf exflg1,wacksw,wtenq /* if we wacked msg, go wait for enq */ 430 431 ************************************************************************ 432 * 433 * block has been read, so check it 434 * 435 ************************************************************************ 436 01316 437 calsub read /* rad data block */ 01320 438 tstlcf exflg2,timout,readto /* time out */ 01324 439 tstlcf exflg1,naksw,sndnak /* must nak */ 01330 440 calasm chkims /* check for valid input block */ 01333 441 tstlcl result,resack,gotdat 01337 442 tstlcl result,resenq,rptrsp 01343 443 tstlcl result,reseot,gteot assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 38 bisync read routines end of binary card 00000022 01347 444 goto sndnak 445 446 ************************************************************************ 447 * 448 * must nak the current block 449 * 450 ************************************************************************ 451 01351 452 sndnak dumpin /* toss out input */ 01352 453 meter2 m.cnt1,1 01355 454 rptnak bldmsg otnak,bserr /* respond with nak */ 01360 455 setlcf exflg1,nakksw /* set nak sent flag */ 01363 456 holdot /* hold nak msg */ 01364 457 goto sndrsp 458 459 ************************************************************************ 460 * 461 * read eot. return to line contention mode 462 * 463 ************************************************************************ 464 01366 465 gteot sendin /* ship eot to multics */ 01367 466 goto bswork /* end of input blocks */ 467 468 ************************************************************************ 469 * 470 * read a good block. ack it and ship to multics 471 * 472 ************************************************************************ 473 01371 474 gotdat tstfld t.dcp,0,doack /* before shipping msg, see if dia_man caught up 01375 475 tstlcl wackcd,1,sndnak /* see if wacks or naks wanted */ 01401 476 setlcf exflg1,wacksw /* must send wack to slow sender down */ 01404 477 doack meterm 0 /* count the message */ 01406 478 sendin 01407 479 calsub advack /* advance to next ack */ 01411 480 tstwrt setrvi /* if there is output, use rvi */ 01413 481 goto doread /* continue with input */ end of binary card 00000023 01415 482 setrvi setlcf exflg1,needrv 01420 483 goto doread 484 485 ************************************************************************ 486 * 487 * asked to repeat out previous response 488 * 489 ************************************************************************ 490 01422 491 rptrsp dumpin /* toss out any input */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 39 bisync read routines 01423 492 tstlcf exflg1,nakksw,rptnak /* repeat nak */ 01427 493 bldmsg otack,bserr /* repeat ack */ 01432 494 holdot /* hold ack msg */ 01433 495 goto sndrsp /* send it */ 496 497 ************************************************************************ 498 * 499 * time out while waiting for input 500 * 501 ************************************************************************ 502 01435 503 readto meter2 m.cnt3,1 01440 504 dumpin /* toss out input */ 01441 505 bldmsg otdisc,bserr /* respond with disconnect */ 01444 506 setlcf exflg1,ctlmsg /* have a control message */ 01447 507 holdot /* hold disconnect msg */ 01450 508 calsub write /* write the eot */ 01452 509 dmpout 01453 510 clrlcf exflg1,ctlmsg 01456 511 goto bswork 512 513 ************************************************************************ 514 * 515 * come here when reconfiguration needed. the rmode and smode 516 * opblocks have already been set up in the tib extension 517 * 518 ************************************************************************ 519 01460 520 gocfg clrlcf exflg1,cfgpnd+cfgok 01463 521 unwind end of binary card 00000024 01464 522 calsub rcvoff 01466 523 dumpin 01467 524 setlcv gocfgr,cfgrmd /* copy mode settings into inline code */ 01472 525 setlcv gocfgs,cfgsmd 01475 526 config 01476 527 gocfgr rmode 0 01477 528 gocfgs smode 0 01500 529 goto reinit /* go setup tib extension for new modes */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 40 bisync write routines 531 ************************************************************************ 532 * 533 * start here with something to write. the message to write 534 * is checked to insure it is valid and complete. when it 535 * is, the line will be bid for. 536 * 537 ************************************************************************ 538 01502 539 bswrit clrlcf exflg1,naksw+nakksw+wacksw+cfgok+ttdsw+ntrsw+ctlmsg 01505 540 setlcl bidcnt,0 /* no bids yet */ 01510 541 calasm chkoms /* check output message */ 01513 542 tstlcl result,resinc,getmor /* message incomplete */ 01517 543 tstlcl result,resack,sndenq /* good message */ 01523 544 tstlcl result,resnul,bsread /* no buffers at all yet, go wait */ 01527 545 tstlcl result,resntr,setntr /* found non-trans block in trans mode */ end of binary card 00000025 01533 546 dmpout 01534 547 tstlcl result,reseot,bswork /* user asked to send eot, ignore */ 01540 548 calsub rptbad /* report back a bad block */ 01542 549 goto bsread /* dmpout did the sndout */ 550 01544 551 getmor signal sndout /* need more output from ring-0 */ 01546 552 goto bsread /* not complete */ 553 554 ************************************************************************ 555 * 556 * there is now a valid message to write, so bid for 557 * the line. 558 * 559 ************************************************************************ 560 01550 561 setntr setlcf exflg1,ntrsw /* remember non-transparent message */ 01553 562 sndenq calsub rcvoff /* turn off receive */ 01555 563 dumpin /* toss out any input */ 564 01556 565 tstlcl bidlmt,0,gobid /* send bid if no limit */ 01562 566 tstlcv bidlmt,bidcnt,bdfail /* check for limit */ 01566 567 addlcl bidcnt,1 568 01571 569 gobid bldmsg otenq,bserr /* setup line bid */ 01574 570 setchr tiback,ack0 /* prime ack value */ 01576 571 holdot /* hold line bid */ 01577 572 setlcf exflg1,ctlmsg /* have a control message */ end of binary card 00000026 01602 573 setflg tfcrcv /* use control rcv for efficiency */ 574 01605 575 calsub writer /* write a line bid */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 41 bisync write routines 577 ************************************************************************ 578 * 579 * line bid has been sent, so now wait for a response. 580 * 581 ************************************************************************ 582 01607 583 dmpout /* toss out enq */ 01610 584 clrlcf exflg1,ctlmsg 01613 585 setime 3 /* 3 secs for response */ 586 01615 587 calsub read /* read response */ 01617 588 tstlcf exflg2,timout,sndenq /* no response */ 589 590 ************************************************************************ 591 * 592 * some response has been received from the bid, so 593 * analyze it here. 594 * if the response is an ack, we will start transmitting. if 595 * the response is enq (another line bid) be will go to start 596 * reading. any other response (or no response) is ignored any 597 * the bid will be repeated. 598 * 599 ************************************************************************ 600 01623 601 inscan inenq,chkack /* look for line bid */ 01626 602 dumpin /* toss out enq */ 01627 603 goto doread /* input over output */ 604 01631 605 chkack inscan inack,sndenq /* look for ack */ 01634 606 dumpin /* toss out ack */ 01635 607 calsub advack /* advance to next ack */ 01637 608 goto sdout 609 610 ************************************************************************ 611 * 612 * line bidding has failed. report back to multics 613 * 614 ************************************************************************ 615 01641 616 bdfail meter2 m.cnt8,1 01644 617 setlcl ctlop,lstbdf /* code to report bid failure */ 01647 618 setlcl ctlvl1,0 end of binary card 00000027 01652 619 linsta ctlop 01654 620 goto bsread assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 42 bisync write routines 622 ************************************************************************ 623 * 624 * transmit a data block 625 * 626 ************************************************************************ 627 01656 628 sdout calasm tsthld /* see if hold flag already is on */ 01661 629 tstlcl tempsw,1,skphld /* if so, we have already been */ 630 /* here for this message and must not do */ 631 /* another send output */ 01665 632 meterm 1 /* here to make sure we count it only once */ 01667 633 holdot /* hold output message */ 01670 634 signal sndout /* get next data message from ring-0 */ 01672 635 skphld setlcl nakcnt,0 /* reset count of naks */ 01675 636 setlcl enqcnt,0 /* reset count of bad resp and timout */ 01700 637 clrlcf exflg1,ttdsw 01703 638 setlcl ttdcnt,0 639 01706 640 rptout tstlcf exflg1,ntrsw,rptot2 /* must go to non-trans mode */ 01712 641 goto rptot3 01714 642 rptot2 config 01715 643 rmode fg.btr /* turn off transparency */ 01716 644 rptot3 setflg tfcrcv /* can use control rcv for ack */ end of binary card 00000028 01721 645 calsub writer /* repeat response */ 646 647 ************************************************************************ 648 * 649 * data block has been transmitted, wait for response. 650 * 651 ************************************************************************ 652 01723 653 sntout setime 3 /* 3 secs for response */ 654 01725 655 calsub read 01727 656 tstlcf exflg2,timout,rspto 657 658 ************************************************************************ 659 * 660 * a response has been received to our transmission. 661 * that response is analyzed here. possibles replies are: 662 * 663 * ack msg recieved ok, the next will be sent 664 * nack error in msg, retransmit 665 * eot throw out msg, rtuurn to line contention 666 * dle-eot same as eot 667 * wack treated as positive response, but we 668 * must sned enqs to see when it is ok to send 669 * next message. 670 * assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 43 bisync write routines 671 * if there is any other response, it is assumed to be a garbled 672 * message and we will send enq to have it repeated. 673 * 674 ************************************************************************ 675 01733 676 tstlcf exflg1,ntrsw,gotrs0 /* must go back to transparent */ 01737 677 goto gotrs1 01741 678 gotrs0 config 01742 679 smode fg.btr 01743 680 gotrs1 inscan innak,gotrs2 /* check for nak */ 01746 681 goto gotnak 01750 682 gotrs2 inscan inack,gotrs3 /* check for ack */ 01753 683 goto gudack 01755 684 gotrs3 inscan indisc,gotrs4 /* check for dle,eot */ 01760 685 goto likeot 01762 686 gotrs4 inscan inwack,gotrs5 /* check for wack */ 01765 687 goto gotwck end of binary card 00000029 01767 688 gotrs5 inscan inrvi,gotrs6 /* check for rvi */ 01772 689 goto gotrvi 01774 690 gotrs6 inscan ineot,rspagn /* check for eot */ 691 692 ************************************************************************ 693 * 694 * response is an eot. throw out msg and go back to line 695 * contention mode. 696 * 697 ************************************************************************ 698 01777 699 likeot dumpin 02000 700 goto bswork 701 702 ************************************************************************ 703 * 704 * the response is an ack. throw out current message 705 * 706 ************************************************************************ 707 02002 708 gudack dumpin /* toss out ack */ 02003 709 calsub advack /* advance to next ack */ 02005 710 tstlcf exflg1,wacksw,skpdmp /* if previously wacked, msg already gone */ 02011 711 dmpout /* toss out data sent */ 02012 712 clrlcf exflg1,ntrsw 02015 713 skpdmp clrlcf exflg1,wacksw 714 715 ************************************************************************ 716 * 717 * now look for next message. if one is not ready in the 718 * specified time limit, we will give up and send an 719 * eot. assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 44 bisync write routines 720 * 721 ************************************************************************ 722 02020 723 chkout calasm chkoms /* check output message */ 02023 724 tstlcl result,resack,sdout /* good message */ 02027 725 tstlcl result,resntr,fndntr /* got non-transparent msg */ 02033 726 tstlcl result,resinc,getout /* incomplete message */ end of binary card 00000030 02037 727 tstlcl result,resnul,justwt /* wait, data should be coming */ 02043 728 dmpout /* throw away bad stuff */ 02044 729 tstlcl result,reseot,sndeot /* asked for eot */ 02050 730 calsub rptbad /* report bad block */ 02052 731 goto justwt /* skip sndout, dmpout did it */ 02054 732 getout signal sndout /* get next data message from ring-0 */ 02056 733 justwt setimv ttdtim /* wait before sending eot */ 02060 734 wait sndttd,chkout,bstest 02064 735 status 0,dsr,bshang 02070 736 fndntr setlcf exflg1,ntrsw /* must reconfigure for this msg */ 02073 737 goto sdout 738 739 ************************************************************************ 740 * 741 * next message not ready soon enough. we must either send a ttd 742 * or and eot 743 * 744 ************************************************************************ 745 02075 746 sndttd tstlcv ttdcnt,ttdlmt,sndeot /* eot if too many already */ 02101 747 addlcl ttdcnt,1 02104 748 bldmsg otttd,bserr /* constucte ttd message */ end of binary card 00000031 02107 749 setlcf exflg1,ctlmsg 02112 750 holdot 02113 751 setflg tfcrcv 02116 752 calsub writer /* transmit it */ 02120 753 setlcf exflg1,ttdsw 02123 754 dmpout /* throw out ttd */ 02124 755 clrlcf exflg1,ctlmsg 02127 756 goto sntout 757 758 * come here when nak received in response to ttd 759 02131 760 ttdnak clrlcf exflg1,ttdsw 02134 761 goto chkout /* go see if message ready now */ 762 763 ************************************************************************ 764 * 765 * here when eot must be sent. this can be because multics 766 * requested it, too many errors occured, or because the 767 * next message was not available soon enough. assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 45 bisync write routines 768 * 769 ************************************************************************ 770 02136 771 sndeot bldmsg oteot,bserr /* setup eot */ 02141 772 setlcf exflg1,ctlmsg 02144 773 holdot /* hold eot msg */ 02145 774 calsub write 775 02147 776 dmpout /* toss out eot msg */ 02150 777 clrlcf exflg1,ctlmsg 02153 778 goto bsread /* wait 3 secs before next write */ end of binary card 00000032 779 780 ************************************************************************ 781 * 782 * here when the response to out transmission is a nak. 783 * we will retransmit unless that has been done too many times 784 * already. 785 * 786 ************************************************************************ 787 02155 788 gotnak dumpin /* toss out nak */ 02156 789 tstlcf exflg1,ttdsw,ttdnak /* nak in response to our ttd */ 02162 790 meter2 m.cnt2,1 02165 791 tstlcv nakcnt,naklmt,manynk /* too many naks? */ 02171 792 addlcl nakcnt,1 /* count another */ 02174 793 addlcl nakmtr,1 02177 794 goto rptout /* repeat data */ 02201 795 manynk meter2 m.cnt6,1 02204 796 setlcl ctlop,lstnak /* report excessive naks */ 02207 797 setlcl ctlvl1,0 02212 798 linsta ctlop 02214 799 dmpout 02215 800 goto sndeot 02217 000000 0 801 nakmtr oct 0 802 803 ************************************************************************ 804 * 805 * the response to out message was a wack. this is a posituve 806 * response, but we must send enqs looking for an ack before sending 807 * the next message. 808 * 809 ************************************************************************ 810 02220 811 gotwck dumpin /* toss out wack */ 02221 812 meter2 m.cnt5,1 end of binary card 00000033 02224 813 tstlcf exflg1,wacksw,waitwk /* dont dmpout unless this is first wack */ 02230 814 dmpout 02231 815 setlcf exflg1,wacksw assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 46 bisync write routines 02234 816 waitwk setime 1 /* wait a while before retry */ 02236 817 wait tryenq,0,bstest 818 819 ************************************************************************ 820 * 821 * rvi received in response to our transmission. 822 * tell multics and treat as an ack 823 * 824 ************************************************************************ 825 02242 826 gotrvi tstlcf exflg1,ttdsw,sndeot /* in response to our ttd */ 02246 827 dmpout /* treat as good ack */ 02247 828 goto sndeot /* turn line around */ 829 830 ************************************************************************ 831 * 832 * come here to send an enq because of a wack, a garbled 833 * response, or no response. 834 * 835 ************************************************************************ 836 02251 837 rspto meter2 m.cnt3,1 02254 838 calsub rcvoff /* turn off receive */ 02256 839 tstlcf exflg1,ntrsw,rspto1 /* must go back to transparent */ 02262 840 goto rspagn 02264 841 rspto1 config 02265 842 smode fg.btr 02266 843 rspagn meter2 m.cnt7,1 02271 844 dumpin /* toss out input */ end of binary card 00000034 02272 845 tstlcl enqcnt,enqlmt,sndeot /* test for limit exceeded */ 02276 846 addlcl enqcnt,1 02301 847 tryenq bldmsg otenq,bserr /* setup enq */ 02304 848 holdot /* hold enq msg */ 02305 849 setlcf exflg1,ctlmsg 02310 850 setflg tfcrcv 02313 851 calsub writer 852 02315 853 dmpout /* toss out enq */ 02316 854 clrlcf exflg1,ctlmsg 02321 855 goto sntout /* wait for response */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 47 bisync test-state routine 857 ************************************************************************ 858 * 859 * bisync test state handler 860 * 861 ************************************************************************ 862 02323 863 bsctst null /* external calls state here */ 02323 864 bstest tstflg tfhang,bshang /* hangup, if directed */ 02327 865 linctl ctlop,tstret /* check for line control call */ 02332 866 tstlcl ctlop,lctbid,setbid /* 1 = set bid limit */ 02336 867 tstlcl ctlop,lctabd,accbid /* 2 = set bids ok flag */ end of binary card 00000035 02342 868 tstlcl ctlop,lctcfg,recfg /* 3 = reconfigure */ 02346 869 tstlcl ctlop,lctttd,setttd /* 4 = set ttd params */ 02352 870 tstlcl ctlop,lcttwr,testwr /* 5 = report write status */ 02356 871 tstlcl ctlop,lct327,set327 /* 6 = set ibm3270 mode */ 02362 872 tstlcl ctlop,lctpla,setpla /* 7 = set polling address */ 02366 873 tstlcl ctlop,lctsla,setsla /* 9 = set selection address */ 02372 874 tstlcl ctlop,lctmst,setmst /* 11 = set master of slave */ 02376 875 tstlcl ctlop,lcthsp,sethsp /* 12 = set hasp mode */ 02402 876 tstlcl ctlop,lctnak,setnkl /* 13 = set nak limit */ 02406 877 tstlcl testrt,0,tstret /* extra handler */ end of binary card 00000036 02412 878 gotov testrt /* if so, call it */ 02414 879 tstret waitm 880 02415 881 setbid setlcv bidlmt,ctlvl1 /* set bid limit */ 02420 882 waitm 883 02421 884 accbid setlcf exflg1,alwbid /* read side can take bids now */ 02424 885 waitm 886 02425 887 setttd setlcv ttdtim,ctlvl1 /* time interval */ 02430 888 setlcv ttdlmt,ctlvl2 /* max to send */ 02433 889 waitm 890 02434 891 set327 setlcf exflg2,ib3270 02437 892 waitm 893 02440 894 setpla setlcv polad1,ctlvl1 /* copy addr */ 02443 895 setlcv polad2,ctlvl2 02446 896 setlcv polad3,ctlvl3 02451 897 waitm 898 02452 899 setsla setlcv selad1,ctlvl1 /* set selection address */ 02455 900 setlcv selad2,ctlvl2 end of binary card 00000037 02460 901 setlcv selad3,ctlvl3 02463 902 waitm 903 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 48 bisync test-state routine 02464 904 setmst clrlcf exflg2,master /* assume secondary */ 02467 905 tstlcl ctlvl1,0,tstret 02473 906 setlcf exflg2,master 02476 907 waitm 908 02477 909 sethsp setlcf exflg2,haspmd 02502 910 waitm 911 02503 912 setnkl setlcv naklmt,ctlvl1 02506 913 waitm 914 915 ************************************************************************ 916 * 917 * order is to report write status. a line_status signal will be 918 * returned indicating wheterh or not there is data in the fnp 919 * yet to be written. if 'ctlmsg' is off, and output chain 920 * represents data to write. if 'ctlmsg' is on, the first output 921 * buffer is a control sequence, not data, and the second buffer 922 * must be checked. (with a special asm subr) 923 * 924 ************************************************************************ 925 02507 926 testwr setlcl ctlop,lstrwr /* code for reporting write */ 02512 927 setlcl ctlvl1,1 /* assume data present */ 02515 928 tstlcf exflg1,ctlmsg,testw1 /* is there a control message? */ 02521 929 tstwrt testw2 /* there is output */ 02523 930 setlcl ctlvl1,0 /* indicate none */ end of binary card 00000038 02526 931 testw2 linsta ctlop /* send back answer */ 02530 932 waitm 02531 933 testw1 calasm tstbf2 /* check second buffer */ 02534 934 setlcv ctlvl1,tempsw /* copy answer */ 02537 935 goto testw2 936 937 ************************************************************************ 938 * 939 * here when test state call is to reconfigure. the rmode and 940 * smode blocks needed are built in the tib extenstion, and 941 * the actual reconfiguration is either done now, or pending 942 * depending on 'cfgok'. 943 * 944 ************************************************************************ 945 02541 946 recfg setlcv cfgrmd,recfgr /* initialize rmode and smode words */ 02544 947 setlcv cfgsmd,recfgs 02547 948 tstlcl ctlvl1,0,recfg1 /* non-tran ascii */ 02553 949 tstlcl ctlvl1,1,recfg2 /* non-tran ebcdic */ 02557 950 tstlcl ctlvl1,2,recfg3 /* tran ascii */ 02563 951 tstlcl ctlvl1,3,recfg4 /* tran ebcidc */ 02567 952 waitm assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 49 bisync test-state routine 02570 953 recfg1 setlcf cfgrmd,fg.beb+fg.btr /* non-trans ascii */ 02573 954 setlcf cfgsmd,fg.lpr+fg.lps+fg.lpo+fg.cct end of binary card 00000039 02576 955 goto recfg5 02600 956 recfg2 setlcf cfgrmd,fg.btr+fg.lpr+fg.lps+fg.lpo+fg.cct /* non-trans ebcdic */ 02603 957 setlcf cfgsmd,fg.beb 02606 958 goto recfg5 02610 959 recfg3 setlcf cfgrmd,fg.beb /* trans ascii */ 02613 960 setlcf cfgsmd,fg.btr+fg.cct+fg.lps+fg.lpr+fg.lpo 02616 961 goto recfg5 02620 962 recfg4 setlcf cfgsmd,fg.beb+fg.btr /* trans ebcdic */ 02623 963 setlcf cfgrmd,fg.lpr+fg.lps+fg.lpo+fg.cct 02626 964 recfg5 setlcf exflg1,cfgpnd /* reconfig now pending */ 02631 965 tstlcf exflg1,cfgok,gocfg /* if now is a good time */ 02635 966 waitm 02636 967 recfgr rmode 0 02637 968 recfgs smode 0 969 970 971 ************************************************************************ 972 * 973 * come here to hangup 974 * 975 ************************************************************************ 976 02640 977 bshang retext 02641 978 unwind 02642 979 stpchn /* stop channel */ end of binary card 00000040 02644 980 calsub dmpall /* toss out any output */ 02646 981 dumpin /* toss out any input */ 02647 982 clrflg (tfwabt,tfrabt) /* clear abort flags */ 02652 983 clrflg (tflisn,tfhang) /* clear listen, hang flags */ 02655 984 signal hangup /* tell ring-0 */ 02657 985 goto hungup /* that's all folks */ 986 02661 987 bserr punt 100 /* bad condition-bombs away */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 50 bisync opblock subroutines 989 ************************************************************************ 990 * 991 * subroutine to switch acks 992 * 993 ************************************************************************ 994 02663 995 bscswa null 02663 996 advack cmpchr tiback,ack0,prime1 /* test for ack0 */ 02666 997 setchr tiback,ack0 /* prime to ack0 */ 02670 998 retsub /* return */ 02671 999 prime1 setchr tiback,ack1 /* prime to ack1 */ 02673 1000 retsub /* return */ 1001 1002 ************************************************************************ 1003 * 1004 * subroutine to turn off recieve mode 1005 * 1006 ************************************************************************ 1007 02674 1008 rcvoff setime 1 02676 1009 contrl rrec+smark 02700 1010 wait rcvoff,0,bstest 02704 1011 status marker,0,rcvofx 02710 1012 status 0,dsr,bshang end of binary card 00000041 02714 1013 rcvofx retsub 1014 1015 ************************************************************************ 1016 * 1017 * subroutine to dump the entire output chain 1018 * 1019 ************************************************************************ 1020 02715 1021 dmpall dmpout 02716 1022 tstwrt dmpall 02720 1023 retsub 1024 1025 ************************************************************************ 1026 * 1027 * report a bad block bad to multics 1028 * 1029 ************************************************************************ 1030 02721 1031 bscbad null /* external entry */ 02721 1032 rptbad setlcl ctlop,lstbbk 02724 1033 setlcl ctlvl1,0 02727 1034 linsta ctlop 02731 1035 retsub assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 51 bisync opblock subroutines 1037 ************************************************************************ 1038 * 1039 * subroutine to write the current output stuff. 1040 * it can be called at "write", in which case only output 1041 * is done, or it can be called at "writer", which 1042 * also sets receive mode during the output. the flag 1043 * "datrcv" in the tib ext will be set if data is read while 1044 * the output is in progress. 1045 * 1046 ************************************************************************ 1047 02732 1048 bscwt null 02732 1049 write clrlcf exflg1,rflag /* remember which entry */ 02735 1050 goto write1 1051 02737 1052 bscwtr null 02737 1053 writer setlcf exflg1,rflag 1054 02742 1055 write1 setime 0 02744 1056 setcct scc.bs /* back to base cct */ 02746 1057 clrlcf exflg1,datrcv 1058 02751 1059 tstflg tfdlup,write3 /* half duplex */ 02755 1060 goto write4 /* full duplex */ 1061 02757 1062 write3 tstlcf exflg1,rflag,write5 /* choose between dcw lists */ end of binary card 00000042 02763 1063 dcwlst 02764 1064 cmd sxmit+srts 02765 1065 output (outmsg) 02767 1066 cmd rxmit+rrts+sterm 02770 1067 goto write6 1068 02772 1069 write5 dcwlst 02773 1070 cmd sxmit+srec+srts 02774 1071 output (outmsg) 02776 1072 cmd rxmit+rrts+sterm 02777 1073 goto write6 1074 03001 1075 write4 tstlcf exflg1,rflag,write7 /* choose between fulldpx dcwlists */ 03005 1076 dcwlst 03006 1077 cmd sxmit 03007 1078 output (outmsg) 03011 1079 cmd rxmit+sterm 03012 1080 goto write6 1081 03014 1082 write7 dcwlst 03015 1083 cmd sxmit+srec 03016 1084 output (outmsg) 03020 1085 cmd rxmit+sterm assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 52 bisync opblock subroutines 1086 03021 1087 write6 wait 0,write2,bstest /* common wait block */ 03025 1088 status 0,dsr,bshang end of binary card 00000043 03031 1089 status term,0,write9 03035 1090 status brkchr,0,write8 /* got input during output */ 03041 1091 status parity,0,wpar 03045 1092 status bscrcv,0,write8 03051 1093 status exh,0,wexh 1094 03055 1095 wpar meter1 m.par,1 03060 1096 goto write8 1097 03062 1098 wexh meter2 m.exh,1 03065 1099 write8 setlcf exflg1,datrcv /* remember data came in */ 03070 1100 waitm 1101 03071 1102 write2 setlcf exflg2,outarv /* flag saying output arrived */ 03074 1103 waitm 1104 03075 1105 write9 retsub assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 53 bisync opblock subroutines 1107 ************************************************************************ 1108 * 1109 * common subroutine to do input 1110 * 1111 ************************************************************************ 1112 03076 1113 bscrd null 03076 1114 read clrlcf exflg1,naksw /* no error yet */ end of binary card 00000044 03101 1115 clrlcf exflg2,timout+gotot 03104 1116 tstlcf exflg1,datrcv,read8 /* input already here */ 03110 1117 tstlcf exflg1,codasc,read1 /* ascii input */ 1118 1119 ************************************************************************ 1120 * 1121 * wait for input (ebcdic) 1122 * 1123 ************************************************************************ 1124 03114 1125 wait read10,read11,bstest /* wait for ebcdic input */ 03120 1126 status 0,dsr,bshang 03124 1127 status xte,0,rxte 03130 1128 status bscrcv+parity,0,rpar 03134 1129 status bscrcv,0,read8 03140 1130 status rcvto,0,read3 03144 1131 status exh,0,rexh end of binary card 00000045 03150 1132 status parity,0,read2 1133 03154 1134 rxte meter1 m.xte,1 03157 1135 goto read3 1136 03161 1137 rpar meter1 m.par,1 03164 1138 goto read3 1139 03166 1140 read2 meter1 m.par,1 03171 1141 setlcf exflg1,naksw 03174 1142 clrlcf exflg1,cfgok 03177 1143 waitm 03200 1144 read3 setlcf exflg1,naksw 03203 1145 goto read8 1146 1147 ************************************************************************ 1148 * 1149 * wait for input (ascii) 1150 * 1151 ************************************************************************ 1152 03205 1153 read1 wait read10,read11,bstest /* wait for ascii input */ 03211 1154 status 0,dsr,bshang /* no dsr, may have hungup */ assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 54 bisync opblock subroutines 03215 1155 status bscrcv+bscdmk,0,read8 /* dle,stx,...,dle,(etx,etb or enq) */ end of binary card 00000046 03221 1156 status bscrcv,0,read3 /* ...,dle,(etx,etb,itb or enq) */ 03225 1157 status bscdmk+bscmrk,0,read5 /* dle,stx,...,dle,itb */ 03231 1158 status bscdmk+brkchr,0,read6 /* dle,stx,...,dle,(etx,etb or enq) */ 03235 1159 status bscdmk,0,read4 /* dle,stx,... */ 03241 1160 status brkchr,0,read8 /* non-transparent text or control sequence */ 03245 1161 status rcvto,0,read3 /* receive time out */ 03251 1162 status exh,0,rexh 1163 03255 1164 read4 clrlcf exflg1,cfgok 03260 1165 wait read10,read14,bstest /* transparent text */ 03264 1166 status 0,dsr,bshang /* no dsr, may have hungup */ end of binary card 00000047 03270 1167 status bscrcv,0,read3 /* ...,dle,enq */ 03274 1168 status brkchr,0,read6 /* ...,dle,(etx,etb, or enq) */ 03300 1169 status bscmrk,0,read5 /* ...,dle,itb */ 03304 1170 status exh,0,rexh 1171 03310 1172 read5 clrlcf exflg1,cfgok 03313 1173 wait read10,read14,bstest /* wait for rbt after itb */ 03317 1174 status 0,dsr,bshang /* no dsr, may have hungup */ 03323 1175 status parity,0,read7 /* crc error */ 03327 1176 status bscrcv,0,read4 /* good itb block */ 03333 1177 status exh,0,rexh end of binary card 00000048 1178 03337 1179 read6 clrlcf exflg1,cfgok 03342 1180 wait read10,read14,bstest /* wait for rbt after etx or etb */ 03346 1181 status 0,dsr,bshang /* no dsr, may have hungup */ 03352 1182 status parity,0,rpar /* crc error */ 03356 1183 status bscrcv,0,read8 /* good block */ 03362 1184 status exh,0,rexh 1185 03366 1186 read7 meter1 m.par,1 03371 1187 setlcf exflg1,naksw /* remember nak required */ 03374 1188 goto read4 1189 1190 ************************************************************************ 1191 * 1192 * input terminated, reset recieve mode */ 1193 * 1194 ************************************************************************ 1195 03376 1196 rexh meter2 m.exh,1 03401 1197 read8 clrlcf exflg1,cfgok end of binary card 00000049 03404 1198 read13 setime 1 /* retry if it takes too long */ 03406 1199 contrl rrec+smark 03410 1200 wait read13,read14,bstest assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 55 bisync opblock subroutines 03414 1201 status 0,dsr,bshang 03420 1202 status marker,0,read9 1203 03424 1204 read9 clrlcf exflg2,lookot 03427 1205 retsub 1206 1207 ************************************************************************ 1208 * 1209 * timeout during input 1210 * 1211 ************************************************************************ 1212 03430 1213 read10 setlcf exflg2,timout 03433 1214 goto read8 1215 1216 ************************************************************************ 1217 * 1218 * got write during read 1219 * 1220 ************************************************************************ 1221 03435 1222 read11 setlcf exflg2,outarv /* remember output for hasp */ 03440 1223 tstlcf exflg2,lookot,read12 /* see if we care */ 03444 1224 waitm /* no */ 03445 1225 read12 setlcf exflg2,gotot 03450 1226 goto read8 end of binary card 00000050 03452 1227 read14 setlcf exflg2,outarv 03455 1228 waitm assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 56 bisync assembler subroutines 1230 ************************************************************************ 1231 * 1232 * subroutine called when a bisync line dials up. it 1233 * sets some flags and pointers in the tib extension 1234 * 1235 ************************************************************************ 1236 03456 1237 bsinit subr 1238 1239 * generate an index, based on mode 1240 * 0=non-transparent ascii 1241 * 1=non-transparent ebcdic 1242 * 2= transparent ascii 1243 * 3= transparent ebcdic 1244 03461 0 03 042 3523 1245 ldx2 l.a001-* =0 03462 1 41 030 0 1246 ldx3 t.sfcm,1 software comm region 03463 3 07 025 0 1247 lda sf.cfg+1,3 second word of config pcw 03464 0 31 062 3546 1248 cana l.a008-* =400, ebcdic bit 03465 0 74 005 3472 1249 tze bsi010-* off 03466 273 001 0 1250 iacx2 1 03467 0 07 062 3551 1251 lda l.a013-* =tfkpar 03470 1 72 036 0 1252 orsa t.flg3,1 indicate that parity is to be kept 03471 0 71 003 3474 1253 tra bsi020-* 03472 0 07 060 3552 1254 bsi010 lda l.a014-* =^tfkpar 03473 1 32 036 0 1255 ansa t.flg3,1 parity not to be kept 03474 3 07 025 0 1256 bsi020 lda sf.cfg+1,3 get second word of pcw back 03475 222 200 0 1257 icana =o200 check transparent bit 03476 0 74 002 3500 1258 tze 2 off 03477 273 002 0 1259 iacx2 2 1260 1261 * get flags for tib extension flag word 1262 03500 0 41 024 3524 1263 ldx3 l.a002-* =exflg1 03501 4 10 020 3521 1264 tsy a.a001-*,* =cvaddr 03502 0 07 045 3547 1265 lda l.a009-* mask to turn off all config bits 03503 3 32 000 0 1266 ansa 0,3 03504 4 07 021 3525 1267 lda l.a003-*,* get flags from table 03505 3 72 000 0 1268 orsa 0,3 1269 1270 * get address of ascii or ebcdic table 1271 03506 0 41 024 3532 1272 ldx3 l.a004-* =chartb 03507 4 10 012 3521 1273 tsy a.a001-*,* =cvaddr 03510 4 07 023 3533 1274 lda l.a005-*,* 03511 3 17 000 0 1275 sta 0,3 1276 1277 * get address of state transition table 1278 03512 0 41 026 3540 1279 ldx3 l.a006-* =stattb assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 57 bisync assembler subroutines 03513 4 10 006 3521 1280 tsy a.a001-*,* =cvaddr 03514 4 07 025 3541 1281 lda l.a007-*,* get addr 03515 3 17 000 0 1282 sta 0,3 1283 03516 0 03 005 3523 1284 ldx2 l.a001-* 03517 1285 return bsinit end of binary card 00000051 1286 03521 0 04000 3 1287 a.a001 ind cvaddr 03522 0 07000 3 1288 a.a002 ind setbpt 1289 03523 000000 0 1290 l.a001 oct 0 03524 777744 0 1291 l.a002 vfd 18/exflg1 03525 2 03526 1 1292 l.a003 ind *+1,2 03526 000110 0 1293 vfd o18/trnoff+codasc 03527 000120 0 1294 vfd o18/trnoff+codebc 03530 000050 0 1295 vfd o18/trnon+codasc 03531 000060 0 1296 vfd o18/trnon+codebc 03532 777771 0 1297 l.a004 vfd 18/chartb 03533 2 03534 1 1298 l.a005 ind *+1,2 03534 0 04406 1 1299 ind atab 03535 0 04506 1 1300 ind etab 03536 0 04406 1 1301 ind atab 03537 0 04506 1 1302 ind etab 03540 777770 0 1303 l.a006 vfd 18/stattb 03541 2 03542 1 1304 l.a007 ind *+1,2 03542 0 04331 1 1305 ind sttnta 03543 0 04265 1 1306 ind sttnte 03544 0 04177 1 1307 ind stttrn 03545 0 04177 1 1308 ind stttrn 03546 000400 0 1309 l.a008 oct 400 03547 777607 0 1310 l.a009 vfd o18//trnon*/trnoff*/codebc*/codasc 03550 001000 0 1311 l.a010 vfd 18/bffhld 03551 000004 0 1312 l.a013 vfd 18/tfkpar 03552 777773 0 1313 l.a014 vfd o18//tfkpar assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 58 bisync assembler subroutines 1315 ************************************************************************ 1316 * 1317 * test to see if the hold output flag is on for the 1318 * current write message 1319 * 1320 ************************************************************************ 1321 03553 1322 tsthld subr 03556 0 56 012 3570 1323 stz tempsw-* 03557 1 07 012 0 1324 lda t.ocp,1 03560 4 10 742 3522 1325 tsy a.a002-*,* setbpt 03561 4333 00 0 1326 cax3 get virtual address 03562 3 07 001 0 1327 lda bf.flg,3 03563 0 31 765 3550 1328 cana l.a010-* =bfflst 03564 0 74 002 3566 1329 tze 2 03565 0 76 003 3570 1330 aos tempsw-* 03566 1331 return tsthld end of binary card 00000052 03570 1332 tempsw bss 1 1333 1334 ************************************************************************ 1335 * 1336 * test1 to see if there is a second write buffer 1337 * 1338 ************************************************************************ 1339 03571 1340 tstbf2 subr 03574 0 56 774 3570 1341 stz tempsw-* say no 03575 1 07 012 0 1342 lda t.ocp,1 addr of first buffer 03576 0 74 006 3604 1343 tze tstbfr-* 03577 4 10 723 3522 1344 tsy a.a002-*,* setbpt 03600 4333 00 0 1345 cax3 03601 3 20 000 0 1346 szn bf.nxt,3 more? 03602 0 74 002 3604 1347 tze tstbfr-* no 03603 0 76 765 3570 1348 aos tempsw-* 03604 1349 tstbfr return tstbf2 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 59 bisync assembler subroutines 1351 ************************************************************************ 1352 * 1353 * subroutine that checks the validity of bisync messages 1354 * 1355 ************************************************************************ 1356 1357 * entry point to check output message 1358 * 03606 1359 bsccko null 03606 1360 chkoms subr 03611 0 56 333 4144 1361 stz iosw-* 03612 0 76 332 4144 1362 aos iosw-* non-zero indicates output 03613 0 71 005 3620 1363 tra chk010-* 1364 1365 * entry point to check input messages 1366 03614 1367 bsccki null 03614 1368 chkims subr 03617 0 56 325 4144 1369 stz iosw-* zero indciates input 1370 1371 * common path 1372 03620 0 56 336 4156 1373 chk010 stz ntrflg-* no non-transparent msg 03621 673 764 0 1374 ila result get addr of anser in tib ext 03622 4333 00 0 1375 cax3 03623 4 10 676 3521 1376 tsy a.a001-*,* =cvaddr 03624 0 50 317 4143 1377 stx3 ireslt-* 03625 4 56 316 4143 1378 stz ireslt-*,* 03626 0 10 131 3757 1379 tsy chkini-* get pointer to first buffer 03627 0 71 025 3654 1380 tra tttnul-* none, msg incomplete 03630 0 41 337 4167 1381 ldx3 l.b001-* =chartb 03631 4 10 327 4160 1382 tsy a.b001-*,* =cvaddr 03632 3 07 000 0 1383 lda 0,3 get pointer to character table 03633 0 17 314 4147 1384 sta tabadr-* and save 03634 3 07 001 0 1385 lda chartb-stattb,3 get table address end of binary card 00000053 03635 0 17 310 4145 1386 sta astate-* 03636 0 17 310 4146 1387 sta curstt-* current state is 0 1388 1389 * loop thru each character 1390 03637 0 10 157 4016 1391 chk020 tsy chkget-* 03640 0 71 016 3656 1392 tra tttinc-* no more, msg incomplete 03641 0 06 305 4146 1393 ada curstt-* get index into current state table 03642 0332 00 0 1394 cax2 03643 2 07 000 0 1395 lda 0,2 current action code 03644 6 65 000 0 1396 tpl 0,2* + means branch address 03645 673 000 0 1397 ila 0 03646 2 26 000 0 1398 sba 0,2 get new state 03647 0 01 322 4171 1399 chk030 mpf l.b003-* =statel assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 60 bisync assembler subroutines 03650 0334 21 0 1400 lls 17 03651 0 06 274 4145 1401 ada astate-* addr of new state entry 03652 0 17 274 4146 1402 sta curstt-* 03653 0 71 764 3637 1403 tra chk020-* and back around 1404 1405 * message is incomplete 1406 03654 673 005 0 1407 tttnul ila resnul no data at all 03655 4 17 266 4143 1408 sta ireslt-*,* 03656 0 20 266 4144 1409 tttinc szn iosw-* input or output? 03657 0 74 005 3664 1410 tze tttnak-* nak inputete input 03660 0 07 275 4155 1411 lda nbufs-* get count of bufs in output msg 03661 422 240 0 1412 icmpa 4*bufmax over max? 03662 0 65 002 3664 1413 tpl tttnak-* yes, this is garbage 03663 0 71 065 3750 1414 tra chkret-* 1415 1416 * bad message, should be nakked 1417 03664 673 001 0 1418 tttnak ila resnak 03665 4 17 256 4143 1419 sta ireslt-*,* 03666 0 71 062 3750 1420 tra chkret-* 1421 1422 * message was an enq 1423 03667 673 003 0 1424 tttenq ila resenq 03670 4 17 253 4143 1425 sta ireslt-*,* 03671 0 71 057 3750 1426 tra chkret-* 1427 1428 * message was an eot 1429 03672 673 002 0 1430 ttteot ila reseot 03673 4 17 250 4143 1431 sta ireslt-*,* 03674 0 71 035 3731 1432 tra tttak3-* 1433 1434 * message was non-transparent while in transparent mode 1435 * setup to rescan message in appropriate non-transparent mode 1436 03675 0 76 261 4156 1437 tttntr aos ntrflg-* flag as non-tranaparent 03676 0 07 251 4147 1438 lda tabadr-* check ascii or ebcdic 03677 0 27 263 4162 1439 cmpa a.b003-* =addr (atab) 03700 0 74 003 3703 1440 tze tttnt1-* ascii 03701 0 07 262 4163 1441 lda a.b004-* addr of ebcdic state table 03702 0 71 002 3704 1442 tra tttnt2-* 1443 03703 0 07 261 4164 1444 tttnt1 lda a.b005-* addr of ascii state table end of binary card 00000054 03704 0 17 241 4145 1445 tttnt2 sta astate-* 03705 0 17 241 4146 1446 sta curstt-* 03706 0 10 051 3757 1447 tsy chkini-* setup to rescan 03707 2331 00 0 1448 nop assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 61 bisync assembler subroutines 03710 0 71 727 3637 1449 tra chk020-* and rescan 1450 1451 * special functions 1452 1453 * function 1 - zero lrc and go to state 1 1454 03711 0 56 242 4153 1455 tttsp1 stz lrcwrd-* 03712 0 56 242 4154 1456 stz lrcprv-* 03713 673 001 0 1457 ila 1 03714 0 71 733 3647 1458 tra chk030-* 1459 1460 * function 2 - check lrc and go to ack 1461 03715 0 10 210 4125 1462 tttsp2 tsy chklrc-* 03716 0 71 746 3664 1463 tra tttnak-* error 03717 0 71 005 3724 1464 tra tttack-* ok 1465 1466 * function 3 - check lrc and go to state 4 1467 03720 0 10 205 4125 1468 tttsp3 tsy chklrc-* 03721 0 71 743 3664 1469 tra tttnak-* error 03722 673 004 0 1470 ila 4 03723 0 71 724 3647 1471 tra chk030-* 1472 1473 * good message 1474 03724 673 004 0 1475 tttack ila resack 03725 0 20 231 4156 1476 szn ntrflg-* was it non-transparent 03726 0 74 002 3730 1477 tze 2 no 03727 673 006 0 1478 ila resntr 03730 4 17 213 4143 1479 sta ireslt-*,* 03731 0 20 213 4144 1480 tttak3 szn iosw-* input or output? 03732 0 74 010 3742 1481 tze tttak1-* input 03733 0 10 063 4016 1482 tsy chkget-* if output, there should be no more chars 03734 0 71 002 3736 1483 tra tttak2-* that is true 03735 0 71 727 3664 1484 tra tttnak-* bad output msg 03736 0 03 212 4150 1485 tttak2 ldx2 curbuf-* pointer to last buffer 03737 0 07 235 4174 1486 lda l.b006-* =bfflst, flag as last 03740 2 72 001 0 1487 orsa bf.flg,2 03741 0 71 007 3750 1488 tra chkret-* 03742 0 10 114 4056 1489 tttak1 tsy chkdel-* trim extraneous stuff from input 03743 1 07 006 0 1490 lda t.ilst,1 set break in last buffer 03744 4 10 221 4165 1491 tsy a.b006-*,* setbpt 03745 0332 00 0 1492 cax2 03746 0 07 230 4176 1493 lda l.b008-* =bffbrk 03747 2 72 001 0 1494 orsa bf.flg,2 1495 1496 * return 1497 03750 0 03 225 4175 1498 chkret ldx2 l.b007-* =0 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 62 bisync assembler subroutines 03751 0 20 173 4144 1499 szn iosw-* check which entry 03752 0 74 003 3755 1500 tze chkrti-* 03753 1501 return chkoms end of binary card 00000055 03755 1502 chkrti return chkims 1503 1504 * subroutine to get pointer to first buffer 1505 03757 1506 chkini subr 03762 0 56 173 4155 1507 stz nbufs-* initialize buffer counter 03763 1 03 005 0 1508 ldx2 t.icp,1 input bufer chain 03764 0 20 160 4144 1509 szn iosw-* is it input? 03765 0 74 002 3767 1510 tze 2 yes 03766 1 03 012 0 1511 ldx2 t.ocp,1 output buffer chain 03767 0 10 005 3774 1512 tsy chkbuf-* setup pointers 03770 0 71 002 3772 1513 tra 2 non-skip return means no buffers 03771 0 76 766 3757 1514 aos chkini-* skip return means buffer ok, so we skip too 03772 1515 return chkini 1516 1517 * routine which, given a buffer, sets up a pointer and tally 1518 03774 1519 chkbuf subr 03777 3332 00 0 1520 cx2a 04000 0 74 014 4014 1521 tze chkb01-* no buffer 04001 0 76 773 3774 1522 aos chkbuf-* there is a buffer, so return will skip 04002 4 10 163 4165 1523 tsy a.b006-*,* setbpt 04003 0332 00 0 1524 cax2 04004 0 17 144 4150 1525 sta curbuf-* save virtual pointer to buffer 04005 773 001 0 1526 iaa bf.dta-1 make pointer to char(-1) 04006 0 37 164 4172 1527 ora l.b004-* 04007 0 17 142 4151 1528 sta curptr-* 04010 2 07 001 0 1529 lda bf.tly,2 get tally from buffer 04011 0 34 162 4173 1530 ana l.b005-* =buftmk 04012 0 17 140 4152 1531 sta curcnt-* 04013 0 76 142 4155 1532 aos nbufs-* count buffers 04014 1533 chkb01 return chkbuf 1534 1535 * subroutine to fetch and decode the next character 1536 04016 1537 chkget subr 04021 0 20 131 4152 1538 chkgt0 szn curcnt-* any chars left in buf? end of binary card 00000056 04022 0 64 011 4033 1539 tnz chkgt1-* yes 04023 0 03 125 4150 1540 ldx2 curbuf-* start of buffer 04024 2 07 001 0 1541 lda bf.flg,2 pick up flag word 04025 0 31 147 4174 1542 cana l.b006-* =buflst, last buffer in msg? 04026 0 64 026 4054 1543 tnz chkgt2-* yes, return, no more chars 04027 2 03 000 0 1544 ldx2 bf.nxt,2 next buffer 04030 0 10 744 3774 1545 tsy chkbuf-* set it up 04031 0 71 023 4054 1546 tra chkgt2-* no more buffers assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 63 bisync assembler subroutines 04032 0 71 767 4021 1547 tra chkgt0-* go get char from this buffer 04033 0 76 763 4016 1548 chkgt1 aos chkget-* so return will skip 04034 673 777 0 1549 ila -1 04035 0 16 115 4152 1550 asa curcnt-* count character 04036 0 03 113 4151 1551 ldx2 curptr-* pointer to previous char 04037 273 300 0 1552 iacx2 0,b.1 04040 0 13 111 4151 1553 stx2 curptr-* save pointer for next call 04041 2 07 200 0 1554 lda 0,2,b.0 get current char 04042 0 47 111 4153 1555 ldq lrcwrd-* save copy of lrc before this char 04043 0 57 111 4154 1556 stq lrcprv-* 04044 0 62 107 4153 1557 ersa lrcwrd-* update lrc 04045 422 100 0 1558 icmpa 64 is it text? 04046 0 75 003 4051 1559 tmi chkgt3-* no 04047 673 000 0 1560 ila tb.cha load text code 04050 0 71 004 4054 1561 tra chkgt2-* 04051 0 06 076 4147 1562 chkgt3 ada tabadr-* get addr of table entry for char 04052 0332 00 0 1563 cax2 04053 2 07 000 0 1564 lda 0,2 get type code 04054 1565 chkgt2 return chkget 1566 1567 * subroutine that truncates the input buffer chain, starting with the next 1568 * character. this is called in case extra data was stored by the 1569 * hsla sub-channel before receive mode was turned off. 1570 04056 1571 chkdel subr 04061 0 03 067 4150 1572 ldx2 curbuf-* buffer that shouldd be last 04062 2 07 001 0 1573 lda bf.tly,2 get current tally 04063 0 26 067 4152 1574 sba curcnt-* subtract any chars not needed 04064 2 17 001 0 1575 sta bf.tly,2 04065 0 34 106 4173 1576 ana l.b005-* look at tally 04066 0 74 004 4072 1577 tze chkdl1-* it's zero, find previous one 04067 3332 00 0 1578 cx2a get absolute address 04070 4 10 076 4166 1579 tsy a.b007-*,* cvabs end of binary card 00000057 04071 0 71 007 4100 1580 tra chkdl3-* ok to use 04072 1 07 005 0 1581 chkdl1 lda t.icp,1 following loop gets ptr to prev buf 04073 4 10 072 4165 1582 chkdl2 tsy a.b006-*,* setbpt 04074 0332 00 0 1583 cax2 04075 2 07 000 0 1584 lda bf.nxt,2 04076 0 27 052 4150 1585 cmpa curbuf-* find buf that points to curbuf 04077 0 64 774 4073 1586 tnz chkdl2-* not yet 04100 1 17 006 0 1587 chkdl3 sta t.ilst,1 this is really last buffer 04101 2 07 000 0 1588 lda bf.nxt,2 get first buffer to free 04102 2 56 000 0 1589 stz bf.nxt,2 make chain stop here 04103 0 74 020 4123 1590 tze chkdl4-* no buffers to free 04104 0 17 053 4157 1591 chkdl5 sta freadr-* hold on to buffer address 04105 4 10 060 4165 1592 tsy a.b006-*,* setbpt 04106 4333 00 0 1593 cax3 get it in virtual form 04107 3 07 000 0 1594 lda bf.nxt,3 save next pointer in case more bufs 04110 0 17 040 4150 1595 sta curbuf-* assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 64 bisync assembler subroutines 04111 3 03 001 0 1596 ldx2 bf.siz,3 get size word from buffer 04112 0 07 045 4157 1597 lda freadr-* get address for freeing 04113 473 000 0 1598 ilq 0 let frebuf get buffer size 04114 4 10 045 4161 1599 tsy a.b002-*,* =frebfh 04115 3332 00 0 1600 cx2a get saved size word 04116 2337 17 0 1601 arl 15 =number of 32 word buffers - 1 04117 322 777 0 1602 iera -1 add 1 and negate 04120 1 16 007 0 1603 asa t.icpl,1 04121 0 07 027 4150 1604 lda curbuf-* see if more to free 04122 0 64 762 4104 1605 tnz chkdl5-* 04123 1606 chkdl4 return chkdel 1607 1608 1609 * function to check or generate lrc 1610 04125 1611 chklrc subr 04130 0 03 021 4151 1612 ldx2 curptr-* addr of lrc in msg 04131 0 07 023 4154 1613 lda lrcprv-* value computed so far 04132 0 20 012 4144 1614 szn iosw-* input or output? 04133 0 74 003 4136 1615 tze chklr1-* input 04134 2 17 200 0 1616 sta 0,2,b.0 output - store lrc 04135 0 71 003 4140 1617 tra chklr2-* done 04136 2 27 200 0 1618 chklr1 cmpa 0,2,b.0 input - lrc correct? 04137 0 64 002 4141 1619 tnz chklr3-* no, take error return end of binary card 00000058 04140 0 76 765 4125 1620 chklr2 aos chklrc-* setup skip return 04141 1621 chklr3 return chklrc 1622 04143 1623 ireslt bss 1 addr of final answer 1624 04144 1625 iosw bss 1 0=input call, 1=output call 04145 1626 astate bss 1 addr of state table 04146 1627 curstt bss 1 address of current state 04147 1628 tabadr bss 1 addr of either atab or etab 04150 1629 curbuf bss 1 current (virtual) buffer pointer 04151 1630 curptr bss 1 current (virtual) character pointer 04152 1631 curcnt bss 1 current tally in buffer 04153 1632 lrcwrd bss 1 lrc accumulation word 04154 1633 lrcprv bss 1 lrc accumulation before current char 04155 1634 nbufs bss 1 count buffers in a chain 04156 1635 ntrflg bss 1 flag for non-trans in trans mode 04157 1636 freadr bss 1 absolute address of buffer to be freed 1637 04160 0 04000 3 1638 a.b001 ind cvaddr 04161 0 05000 3 1639 a.b002 ind frebfh 04162 0 04406 1 1640 a.b003 ind atab 04163 0 04265 1 1641 a.b004 ind sttnte 04164 0 04331 1 1642 a.b005 ind sttnta 04165 0 07000 3 1643 a.b006 ind setbpt 04166 0 02000 3 1644 a.b007 ind cvabs assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 65 bisync assembler subroutines 1645 04167 777771 0 1646 l.b001 vfd 18/chartb 04170 777770 0 1647 l.b002 vfd 18/stattb 04171 000011 0 1648 l.b003 vfd 18/statel 04172 3 00000 0 1649 l.b004 ind 0,b.1 04173 000777 0 1650 l.b005 vfd 18/buftmk 04174 040000 0 1651 l.b006 vfd 18/bfflst 04175 000000 0 1652 l.b007 oct 0 04176 020000 0 1653 l.b008 vfd 18/bffbrk assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 66 bisync assembler subroutines 1655 * 1656 * state transition tables for checking bisync message formats 1657 * 000011 1658 statel equ 9 length of entry for one state 1659 * 1660 * table for transparent ascii or ebcdic 1661 * 04177 1662 stttrn null 1663 * 1664 * state 0 - looking at start of message 1665 * 04177 0 03664 1 1666 ind tttnak normal character is error here 04200 0 03675 1 1667 ind tttntr stx means non-transparent block 04201 0 03664 1 1668 ind tttnak etx is error here 04202 0 03664 1 1669 ind tttnak etb is error here 04203 0 03667 1 1670 ind tttenq enq is a valid msg 04204 0 03672 1 1671 ind ttteot eot is valid msg 04205 0 03664 1 1672 ind tttnak itb is error here 04206 777777 0 1673 dec -1 dle means enter state 1 04207 0 03675 1 1674 ind tttntr soh means non-transparent block 1675 * 1676 * state 1 - first character was a dle 1677 * 04210 0 03664 1 1678 ind tttnak text char is error here 04211 777776 0 1679 dec -2 stx means start message 04212 0 03664 1 1680 ind tttnak etx is error here 04213 0 03664 1 1681 ind tttnak etb is error here 04214 0 03667 1 1682 ind tttenq dle-enq is valid msg 04215 0 03672 1 1683 ind ttteot dle-eot is valid msg 04216 0 03664 1 1684 ind tttnak itb is error here 04217 0 03664 1 1685 ind tttnak dle is error here 04220 0 03664 1 1686 ind tttnak dle-soh is error 1687 * 1688 * state 2 - msg started dle-stx 1689 * 04221 777776 0 1690 dec -2 end of binary card 00000059 04222 777776 0 1691 dec -2 04223 777776 0 1692 dec -2 04224 777776 0 1693 dec -2 04225 777776 0 1694 dec -2 04226 777776 0 1695 dec -2 04227 777776 0 1696 dec -2 04230 777775 0 1697 dec -3 dle is only interesting char here 04231 777776 0 1698 dec -2 1699 * 1700 * state 3 - found dle in text 1701 * 04232 777776 0 1702 dec -2 text char is data 04233 0 03664 1 1703 ind tttnak dle-stx is error assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 67 bisync assembler subroutines 04234 0 03724 1 1704 ind tttack dle-etx is good end 04235 0 03724 1 1705 ind tttack dle-etb is good end 04236 0 03664 1 1706 ind tttnak dle-enq is error 04237 0 03664 1 1707 ind tttnak dle-eot is error 04240 777774 0 1708 dec -4 dle-itb is end of int block 04241 777776 0 1709 dec -2 dle-dle is data 04242 0 03664 1 1710 ind tttnak dle-soh is error 1711 * 1712 * state 4 - found dle-itb in text 1713 * 04243 0 03664 1 1714 ind tttnak 04244 0 03664 1 1715 ind tttnak 04245 0 03664 1 1716 ind tttnak 04246 0 03664 1 1717 ind tttnak 04247 0 03664 1 1718 ind tttnak 04250 0 03664 1 1719 ind tttnak 04251 0 03664 1 1720 ind tttnak 04252 777773 0 1721 dec -5 only good character is dle 04253 0 03664 1 1722 ind tttnak 1723 * 1724 * state 5 - found dle after itb in text 1725 * 04254 0 03664 1 1726 ind tttnak text char is error here 04255 777776 0 1727 dec -2 stx starts another block 04256 0 03724 1 1728 ind tttack etx ends block 04257 0 03724 1 1729 ind tttack etb ends block 04260 0 03664 1 1730 ind tttnak enq is error 04261 0 03664 1 1731 ind tttnak eot is error 04262 777776 0 1732 dec -2 itb is null block 04263 0 03664 1 1733 ind tttnak dle is error here 04264 0 03664 1 1734 ind tttnak soh is error assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 68 bisync assembler subroutines 1736 * 1737 * state transition table for non-transparent ebcdic 1738 * 04265 1739 sttnte null 1740 * 1741 * state 0 - looking at start of message 1742 * 04265 0 03664 1 1743 ind tttnak text char is error 04266 777777 0 1744 dec -1 stx starts message 04267 0 03664 1 1745 ind tttnak etx is error 04270 0 03664 1 1746 ind tttnak etb is error end of binary card 00000060 04271 0 03667 1 1747 ind tttenq enq is valid message 04272 0 03672 1 1748 ind ttteot eot is valid message 04273 0 03664 1 1749 ind tttnak itb is error here 04274 0 03664 1 1750 ind tttnak dle is error here 04275 777775 0 1751 dec -3 soh starts header 1752 * 1753 * state 1 - found stx at front 1754 * 04276 777777 0 1755 dec -1 text char is valid 04277 0 03664 1 1756 ind tttnak stx error here 04300 0 03724 1 1757 ind tttack etx is good end 04301 0 03724 1 1758 ind tttack etb ius good end 04302 0 03664 1 1759 ind tttnak enq is error 04303 0 03664 1 1760 ind tttnak eot is error 04304 777776 0 1761 dec -2 itb is end of int block 04305 777777 0 1762 dec -1 dle is text char 04306 0 03664 1 1763 ind tttnak soh is error 1764 * 1765 * state 2 - found itb in text 1766 * 04307 777777 0 1767 dec -1 text can start without stx 04310 777777 0 1768 dec -1 stx starts new block 04311 0 03724 1 1769 ind tttack etx is good end 04312 0 03724 1 1770 ind tttack etb is good end 04313 0 03664 1 1771 ind tttnak enq is error 04314 0 03664 1 1772 ind tttnak eot is error 04315 777776 0 1773 dec -2 itb is null int block 04316 777777 0 1774 dec -1 dle is just the first data char here 04317 0 03664 1 1775 ind tttnak soh is error 1776 * 1777 * state 3 - found soh 1778 * 04320 777775 0 1779 dec -3 text ok 04321 777777 0 1780 dec -1 stx starts text 04322 0 03724 1 1781 ind tttack etx good end 04323 0 03724 1 1782 ind tttack etb good end 04324 0 03664 1 1783 ind tttnak enq is error 04325 0 03664 1 1784 ind tttnak eot is error assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 69 bisync assembler subroutines 04326 0 03664 1 1785 ind tttnak itb is error 04327 777775 0 1786 dec -3 dle is data 04330 0 03664 1 1787 ind tttnak soh is error assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 70 bisync assembler subroutines 1789 * 1790 * state transition table for non-transparent ascii 1791 * 04331 1792 sttnta null 1793 * 1794 * state 0 - looking at start of message 1795 * 04331 0 03664 1 1796 ind tttnak text char is error 04332 0 03711 1 1797 ind tttsp1 stx - zero lrc and go to state 1 04333 0 03664 1 1798 ind tttnak etx is error 04334 0 03664 1 1799 ind tttnak etb is error 04335 0 03667 1 1800 ind tttenq enq 04336 0 03672 1 1801 ind ttteot eot 04337 0 03664 1 1802 ind tttnak itb is error end of binary card 00000061 04340 0 03664 1 1803 ind tttnak dle is error 04341 0 03664 1 1804 ind tttnak soh is error 1805 * 1806 * state 1 - found stx 1807 * 04342 777777 0 1808 dec -1 text char ok 04343 0 03664 1 1809 ind tttnak stx is error 04344 777776 0 1810 dec -2 etx - go to state 2 04345 777776 0 1811 dec -2 etb - go to state 2 04346 0 03667 1 1812 ind tttenq enq 04347 0 03672 1 1813 ind ttteot eot 04350 777775 0 1814 dec -3 itb - go to state 3 04351 777777 0 1815 dec -1 dle is got text 04352 0 03664 1 1816 ind tttnak soh is error 1817 * 1818 * state 2 - check lrc after etx or etb 1819 * 04353 0 03715 1 1820 ind tttsp2 check char and go to tttack 04354 0 03715 1 1821 ind tttsp2 04355 0 03715 1 1822 ind tttsp2 04356 0 03715 1 1823 ind tttsp2 04357 0 03715 1 1824 ind tttsp2 04360 0 03715 1 1825 ind tttsp2 04361 0 03715 1 1826 ind tttsp2 04362 0 03715 1 1827 ind tttsp2 04363 0 03715 1 1828 ind tttsp2 1829 * 1830 * state 3 -check lrc after itb 1831 * 04364 0 03720 1 1832 ind tttsp3 check lrc and goto state 4 04365 0 03720 1 1833 ind tttsp3 04366 0 03720 1 1834 ind tttsp3 04367 0 03720 1 1835 ind tttsp3 04370 0 03720 1 1836 ind tttsp3 04371 0 03720 1 1837 ind tttsp3 assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 71 bisync assembler subroutines 04372 0 03720 1 1838 ind tttsp3 04373 0 03720 1 1839 ind tttsp3 04374 0 03720 1 1840 ind tttsp3 1841 * 1842 * state 4 - looking for stx after itb 1843 * 04375 0 03664 1 1844 ind tttnak text is error 04376 0 03711 1 1845 ind tttsp1 stx - reset lrc and goto 1 04377 0 03664 1 1846 ind tttnak etx is error 04400 0 03664 1 1847 ind tttnak etb is error 04401 0 03667 1 1848 ind tttenq 04402 0 03672 1 1849 ind ttteot 04403 0 03664 1 1850 ind tttnak itb is error 04404 0 03664 1 1851 ind tttnak dle is error 04405 0 03664 1 1852 ind tttnak soh is error assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 72 bisync assembler subroutines 1854 * tables for recognizing interesting characters in 1855 * ascii or ebcdic data 1856 * 1857 gentb macro c,m 1858 org *-64+#1 1859 crsm save,off 1860 ife '#2','',1 1861 vfd 18/tb.#1 1862 ine '#2','',1 1863 vfd 18/tb.#2 1864 crsm restore 1865 org *-#1-1+64 1866 endm gentb 1867 000000 1868 tb.cha equ 0 non-control character 000001 1869 tb.stx equ 1 000002 1870 tb.etx equ 2 000003 1871 tb.etb equ 3 000004 1872 tb.enq equ 4 000005 1873 tb.eot equ 5 000006 1874 tb.itb equ 6 000007 1875 tb.dle equ 7 000010 1876 tb.soh equ 8 1877 04406 1878 atab null ascii table 04406 1879 dup 1,64 start with 64 words of zero 04406 000000 0 1880 oct 0 end of binary card 00000063 04506 1881 gentb aenq,enq and then fill in improtant chars 04506 1882 gentb aetb,etb 04506 1883 gentb aeot,eot 04506 1884 gentb soh 04506 1885 gentb stx 04506 1886 gentb etx end of binary card 00000064 04506 1887 gentb dle 04506 1888 gentb itb 1889 1890 04506 1891 etab null ebcidc table 04506 1892 dup 1,64 start with 64 words of zero 04506 000000 0 1893 oct 0 end of binary card 00000065 04606 1894 gentb eenq,enq fill in interesting chars 04606 1895 gentb eetb,etb end of binary card 00000066 04606 1896 gentb eeot,eot 04606 1897 gentb soh 04606 1898 gentb stx 04606 1899 gentb etx assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 73 bisync assembler subroutines 04606 1900 gentb dle 04606 1901 gentb itb assm 01 04-18-84 09.715 bsc_tables -- tables for bisync line type page 74 bisync options 1903 1904 * the following word controls what the bisync read side will 1905 * do in a wait-acknowledgement situation. if "0", the block 1906 * just read will be accepted with a wack. if "1", the 1907 * block will be rejected with an nak. 1908 04606 000000 0 1909 wackcd oct 0 1910 1911 * the following equ defines how many times the write side 1912 * of this module will send enq to have a bad response 1913 * (or no response) repeated before giving up and sending an 1914 * eot. 1915 000003 1916 enqlmt equ 3 1917 end of binary card 00000067 1918 end 4610 is the next available location. 355map version/assembly dates gmpa 801215/123080 gmpb 801215/123080 gmpc 801215/123080 there were no warning flags in the above assembly assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 75 octal symbol references by sequence no. 1057 a3270 342 334 342 60 aack0 205 205 287 61 aack1 205 205 288 2421 accbid 884 867 884 460 ack0 205 205 287 300 353 570 996 997 461 ack1 205 205 288 301 999 3 acutst 54 242 2663 advack 996 479 607 709 996 5 aenq 205 205 289 1881 4 aeot 205 205 291 1883 27 aetb 205 205 294 1882 1060 ahasp 343 338 343 3521 a.a001 1287 1264 1273 1280 1287 1376 3522 a.a002 1288 1288 1325 1344 4160 a.b001 1638 1382 1638 4161 a.b002 1639 1599 1639 4162 a.b003 1640 1439 1640 4163 a.b004 1641 1441 1641 4164 a.b005 1642 1444 1642 4165 a.b006 1643 1491 1523 1582 1592 1643 4166 a.b007 1644 1579 1644 1000 alwbid 205 205 375 884 25 anak 205 205 290 74 arvi 205 205 292 4145 astate 1626 1386 1401 1445 1626 4406 atab 1878 1299 1301 1640 1878 73 awack 205 205 293 776 badadr 344 334 338 344 1641 bdfail 616 566 616 1 begin 46 244 20000 bffbrk 204 204 1653 1000 bffhld 204 204 1311 40000 bfflst 204 204 1651 2 bf.dta 204 204 1526 1 bf.flg 204 204 1327 1487 1494 1541 0 bf.nxt 204 204 1346 1544 1584 1588 1589 1594 1 bf.siz 204 204 1596 1 bf.tly 204 204 1529 1573 1575 777756 bidcnt 205 205 540 566 567 777757 bidlmt 205 205 274 565 566 881 1135 bidsok 377 375 377 1173 bidto 393 367 393 2 b.0 1554 1616 1618 3 b.1 1552 1649 1205 bldack 404 404 412 416 1216 bldrvi 407 404 407 1232 bldwak 411 403 411 1000 brkchr 203 203 1090 1158 1160 1168 707 bsasci 287 279 287 0 bsc 31 31 33 198 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 76 octal symbol references by sequence no. 641 bscacu 261 35 261 2721 bscbad 1031 43 1031 3614 bsccki 1367 40 1367 3606 bsccko 1359 41 1359 400000 bscdmk 203 203 1155 1157 1158 1159 200000 bscmrk 203 203 1157 1169 100000 bscrcv 203 203 1092 1128 1129 1155 1156 1167 1176 1183 3076 bscrd 1113 39 1113 562 bscstr 242 34 242 2663 bscswa 995 42 995 2323 bsctst 863 36 863 2732 bscwt 1048 37 1048 2737 bscwtr 1052 38 1052 651 bsdial 271 250 254 271 733 bsebcd 300 280 300 2661 bserr 987 271 405 409 418 454 493 505 569 748 771 847 987 2640 bshang 977 44 256 318 336 340 415 735 864 977 1012 1088 1126 1154 1166 1174 1181 1201 3472 bsi010 1254 1249 1254 3474 bsi020 1256 1253 1256 3456 bsinit 1237 278 1237 1285 1061 bsread 353 323 353 544 549 552 620 778 755 bstart 310 296 310 2323 bstest 864 414 734 817 864 1010 1087 1125 1153 1165 1173 1180 1200 626 bstlsn 256 249 253 256 771 bswork 318 318 333 334 338 391 394 466 511 547 700 1502 bswrit 539 322 366 539 50 bufmax 204 204 1412 777 buftmk 204 204 1650 0 cct.ab 63 63 295 1 cd 203 203 250 4000 cfgok 205 205 335 339 356 520 539 965 1142 1164 1172 1179 1197 2000 cfgpnd 205 205 320 355 520 964 777755 cfgrmd 205 205 524 946 953 956 959 963 777754 cfgsmd 205 205 525 947 954 957 960 962 777771 chartb 205 205 1297 1385 1646 3620 chk010 1373 1363 1373 3637 chk020 1391 1391 1403 1449 3647 chk030 1399 1399 1458 1471 1 chk 228 210 211 212 213 214 215 216 217 221 222 223 224 225 226 227 228 1631 chkack 605 601 605 4014 chkb01 1533 1521 1533 3774 chkbuf 1519 1512 1519 1522 1533 1545 4056 chkdel 1571 1489 1571 1606 4072 chkdl1 1581 1577 1581 4073 chkdl2 1582 1582 1586 4100 chkdl3 1587 1580 1587 4123 chkdl4 1606 1590 1606 4104 chkdl5 1591 1591 1605 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 77 octal symbol references by sequence no. 1155 chkdsc 385 381 382 385 4016 chkget 1537 1391 1482 1537 1548 1565 4021 chkgt0 1538 1538 1547 4033 chkgt1 1548 1539 1548 4054 chkgt2 1565 1543 1546 1561 1565 4051 chkgt3 1562 1559 1562 3614 chkims 1368 440 1368 1502 3757 chkini 1506 1379 1447 1506 1514 1515 4136 chklr1 1618 1615 1618 4140 chklr2 1620 1617 1620 4141 chklr3 1621 1619 1621 4125 chklrc 1611 1462 1468 1611 1620 1621 3606 chkoms 1360 541 723 1360 1501 2020 chkout 723 723 734 761 3750 chkret 1498 1414 1420 1426 1488 1498 3755 chkrti 1502 1500 1502 1253 chkwak 416 414 416 514 chval 228 210 211 212 213 214 215 216 217 221 222 223 224 225 226 227 228 2 c.rcrq 202 202 203 40 c.rdtr 202 202 203 2 c.rrec 202 202 203 20000 c.rrqs 202 202 203 200 c.rsup 202 202 203 200 c.rtre 202 202 203 10 c.rxmt 202 202 203 1000 c.sbrk 202 202 203 1 c.scrq 202 202 203 20 c.sdtr 202 202 203 2000 c.smrk 202 202 203 1 c.srec 202 202 203 10000 c.srqs 202 202 203 100 c.ssup 202 202 203 400 c.stat 202 202 203 100 c.stre 202 202 203 4000 c.strm 202 202 203 4 c.sxmt 202 202 203 1013 ck3270 331 310 331 10 codasc 205 205 279 1117 1293 1295 1310 20 codebc 205 205 1294 1296 1310 422 ct.bcc 59 59 152 162 421 ct.etx 57 57 67 77 6 ct.ign 57 57 77 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 196 5 ct.itb 57 57 81 207 ct.mtb 57 57 104 166 423 ct.nak 57 57 68 76 90 91 100 113 118 119 153 0 ct.ncs 57 57 66 67 69 70 71 72 73 74 75 76 78 79 80 81 85 89 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 115 116 117 118 119 120 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 78 octal symbol references by sequence no. 124 204 ct.stx 57 57 90 20 ct.sw 57 57 59 2 ct.t2s 57 57 59 100 ct.tb1 57 57 74 200 ct.tb2 57 57 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 147 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 170 300 ct.tb3 57 57 136 400 ct.tb4 57 57 59 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 196 400000 ctlmsg 205 205 354 423 427 506 510 539 572 584 749 755 772 777 849 854 928 777763 ctlop 205 205 617 619 796 798 865 866 867 868 869 870 871 872 873 874 875 876 926 931 1032 1034 777762 ctlvl1 205 205 618 797 881 887 894 899 905 912 927 930 934 948 949 950 951 1033 777761 ctlvl2 205 205 888 895 900 777760 ctlvl3 205 205 896 901 2 cts 203 203 250 4150 curbuf 1629 1485 1525 1540 1572 1585 1595 1604 1629 4152 curcnt 1631 1531 1538 1550 1574 1631 4151 curptr 1630 1528 1551 1553 1612 1630 4146 curstt 1627 1387 1393 1402 1446 1627 2 cvabs 50 1644 4 cvaddr 51 1287 1638 400 datrcv 205 205 319 1057 1099 1116 1 dialed 205 205 310 314 100 dialup 203 203 313 20 dle 203 203 213 215 216 217 221 225 226 228 1887 1900 2715 dmpall 1021 311 980 1021 1022 1404 doack 477 474 477 1201 doread 403 379 384 403 481 483 603 1270 dored2 420 406 410 420 4 dsr 203 203 250 254 415 735 1012 1088 1126 1154 1166 1174 1181 1201 1162 dumpi 388 376 385 386 388 160 eack0 205 205 300 141 eack1 205 205 301 55 eenq 205 205 302 1894 67 eeot 205 205 304 1896 46 eetb 205 205 307 1895 75 enak 205 205 303 463 enq 205 205 210 211 223 227 289 302 777765 enqcnt 205 205 636 845 846 3 enqlmt 1916 845 1916 174 ervi 205 205 305 4506 etab 1891 1300 1302 1891 470 etb 205 205 294 307 3 etx 203 203 1886 1899 153 ewack 205 205 306 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 79 octal symbol references by sequence no. 777744 exflg1 205 205 272 279 310 314 319 320 335 339 354 355 356 375 381 390 393 403 404 407 408 411 417 420 422 423 427 429 439 455 476 482 492 506 510 520 539 561 572 584 637 640 676 710 712 713 736 749 753 755 760 772 777 789 813 815 826 839 849 854 884 928 964 965 1049 1053 1057 1062 1075 1099 1114 1116 1117 1141 1142 1144 1164 1172 1179 1187 1197 1291 777743 exflg2 205 205 273 331 332 364 366 367 438 588 656 891 904 906 909 1102 1115 1204 1213 1222 1223 1225 1227 4000 exh 203 203 1093 1131 1162 1170 1177 1184 400 fg.beb 202 202 953 957 959 962 1000 fg.btr 202 202 643 679 842 953 956 960 962 2000 fg.cct 202 202 954 956 960 963 10 fg.lpo 202 202 954 956 960 963 2 fg.lpr 202 202 954 956 960 963 4 fg.lps 202 202 954 956 960 963 2070 fndntr 736 725 736 4157 freadr 1636 1591 1597 1636 5 frebfh 48 1639 1544 getmor 551 542 551 2054 getout 732 726 732 1025 go3270 334 331 334 1571 gobid 569 565 569 1460 gocfg 520 320 355 520 965 1476 gocfgr 527 524 527 1477 gocfgs 528 525 528 1042 gohasp 338 332 338 1371 gotdat 474 441 474 2155 gotnak 788 681 788 2 gotot 205 205 366 1115 1225 1741 gotrs0 678 676 678 1743 gotrs1 680 677 680 1750 gotrs2 682 680 682 1755 gotrs3 684 682 684 1762 gotrs4 686 684 686 1767 gotrs5 688 686 688 1774 gotrs6 690 688 690 2242 gotrvi 826 689 826 2220 gotwck 811 687 811 1366 gteot 465 443 465 2002 gudack 708 683 708 101 hangup 203 203 984 2000 haspmd 205 205 332 909 6 hungup 47 258 985 10 ib3270 205 205 331 891 503 ignore 203 203 213 215 216 217 520 inack 213 213 605 682 526 indisc 215 215 385 684 512 inenq 210 210 377 601 514 inenqs 211 211 382 516 ineot 212 212 690 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 80 octal symbol references by sequence no. 524 innak 214 214 680 536 inrvi 217 217 688 532 inwack 216 216 686 4144 iosw 1625 1361 1362 1369 1409 1480 1499 1509 1614 1625 4143 ireslt 1623 1377 1378 1408 1419 1425 1431 1479 1623 37 itb 205 205 1888 1901 2056 justwt 733 727 731 733 0 k 1084 1065 1071 1078 1084 6 lct327 205 205 871 2 lctabd 205 205 867 1 lctbid 205 205 866 3 lctcfg 205 205 868 14 lcthsp 205 205 875 13 lctmst 205 205 874 15 lctnak 205 205 876 7 lctpla 205 205 872 11 lctsla 205 205 873 4 lctttd 205 205 869 5 lcttwr 205 205 870 1777 likeot 699 685 699 576 lisn 246 243 246 614 lisnhf 252 246 252 640 lisnok 259 257 259 3523 l.a001 1290 1245 1284 1290 3524 l.a002 1291 1263 1291 3525 l.a003 1292 1267 1292 3532 l.a004 1297 1272 1297 3533 l.a005 1298 1274 1298 3540 l.a006 1303 1279 1303 3541 l.a007 1304 1281 1304 3546 l.a008 1309 1248 1309 3547 l.a009 1310 1265 1310 3550 l.a010 1311 1311 1328 3551 l.a013 1312 1251 1312 3552 l.a014 1313 1254 1313 4167 l.b001 1646 1381 1646 4171 l.b003 1648 1399 1648 4172 l.b004 1649 1527 1649 4173 l.b005 1650 1530 1576 1650 4174 l.b006 1651 1486 1542 1651 4175 l.b007 1652 1498 1652 4176 l.b008 1653 1493 1653 1 lookot 205 205 364 1204 1223 4154 lrcprv 1633 1456 1556 1613 1633 4153 lrcwrd 1632 1455 1555 1557 1632 2 lstbbk 205 205 1032 1 lstbdf 205 205 617 4 lstnak 205 205 796 5 lstrwr 205 205 926 0 macwk1 1611 1237 1285 1322 1331 1340 1349 1360 1368 1501 1502 1506 1515 1519 1533 1537 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 81 octal symbol references by sequence no. 1565 1571 1606 1611 1621 1 macwk2 1611 1237 1322 1340 1360 1368 1506 1519 1537 1571 1611 2201 manynk 795 791 795 40 marker 203 203 1011 1202 4000 master 205 205 904 906 501 match 203 203 210 212 213 214 215 216 217 36 m.cnt1 201 201 453 40 m.cnt2 201 201 790 42 m.cnt3 201 201 503 837 44 m.cnt4 201 201 419 46 m.cnt5 201 201 812 50 m.cnt6 201 201 795 52 m.cnt7 201 201 843 54 m.cnt8 201 201 616 16 m.exh 201 201 1098 1196 11 m.par 201 201 1095 1137 1140 1186 20 m.xte 201 201 1134 777767 nakcnt 205 205 635 791 792 4 nakksw 205 205 354 420 455 492 539 777766 naklmt 205 205 277 791 912 2217 nakmtr 801 793 801 2 naksw 205 205 354 422 439 539 1114 1141 1144 1187 4155 nbufs 1634 1411 1507 1532 1634 200000 needrv 205 205 354 404 482 1143 notbid 381 377 381 4156 ntrflg 1635 1373 1437 1476 1635 40000 ntrsw 205 205 539 561 640 676 712 736 839 542 otack 221 221 405 493 552 otdisc 225 225 505 546 otenq 223 223 569 847 550 oteot 224 224 771 544 otnak 222 222 454 560 otrvi 228 228 409 556 otttd 227 227 748 554 otwack 226 226 418 10000 outarv 205 205 1102 1222 1227 403 outmsg 203 203 1065 1071 1078 1084 10000 parity 203 203 1091 1128 1132 1175 1182 777750 polad1 205 205 894 777747 polad2 205 205 895 777746 polad3 205 205 896 2671 prime1 999 996 999 2674 rcvoff 1008 522 562 838 1008 1010 2714 rcvofx 1013 1011 1013 40000 rcvto 203 203 1130 1161 3430 read10 1213 1125 1153 1165 1173 1180 1213 3435 read11 1222 1125 1153 1222 3445 read12 1225 1223 1225 3404 read13 1198 1198 1200 3452 read14 1227 1165 1173 1180 1200 1227 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 82 octal symbol references by sequence no. 3205 read1 1153 1117 1153 3166 read2 1140 1132 1140 3200 read3 1144 1130 1135 1138 1144 1156 1161 1167 3255 read4 1164 1159 1164 1176 1188 3310 read5 1172 1157 1169 1172 3337 read6 1179 1158 1168 1179 3366 read7 1186 1175 1186 3401 read8 1197 1116 1129 1145 1155 1160 1183 1197 1214 1226 3424 read9 1204 1202 1204 3076 read 1114 365 437 587 655 1114 1435 readto 503 393 438 503 2570 recfg1 953 948 953 2600 recfg2 956 949 956 2610 recfg3 959 950 959 2620 recfg4 962 951 962 2626 recfg5 964 955 958 961 964 2541 recfg 946 868 946 2636 recfgr 967 946 967 2637 recfgs 968 947 968 676 reinit 278 278 529 4 resack 205 205 441 543 724 1475 510 rescan 203 203 210 211 212 213 214 215 216 217 3 resenq 205 205 442 1424 2 reseot 205 205 443 547 729 1430 0 resinc 205 205 542 726 1 resnak 205 205 1418 6 resntr 205 205 545 725 1478 5 resnul 205 205 544 727 1407 777764 result 205 205 441 442 443 542 543 544 545 547 724 725 726 727 729 1374 3376 rexh 1196 1131 1162 1170 1177 1184 1196 10000 rflag 205 205 1049 1053 1062 1075 3161 rpar 1137 1128 1137 1182 2721 rptbad 1032 548 730 1032 1355 rptnak 454 454 492 1714 rptot2 642 640 642 1716 rptot3 644 641 644 1706 rptout 640 640 794 1422 rptrsp 491 442 491 2 rrec 203 203 1009 1199 20000 rrts 203 203 252 1066 1072 2266 rspagn 843 690 840 843 2264 rspto1 841 839 841 2251 rspto 837 656 837 466 rvi 205 205 217 228 292 305 100000 rvisw 205 205 354 407 408 10 rxmit 203 203 362 1066 1072 1079 1085 3154 rxte 1134 1127 1134 2 scc.bs 57 57 360 1056 0 scc.dl 57 57 308 1656 sdout 628 608 628 724 737 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 83 octal symbol references by sequence no. 20 sdtr 203 203 247 252 502 search 203 203 211 777742 selad1 205 205 899 777741 selad2 205 205 900 777740 selad3 205 205 901 2434 set327 891 871 891 2415 setbid 881 866 881 7 setbpt 49 1288 1643 514 seteom 203 203 221 222 223 224 225 226 227 228 2477 sethsp 909 875 909 2464 setmst 904 874 904 2503 setnkl 912 876 912 1550 setntr 561 545 561 2440 setpla 894 872 894 1415 setrvi 482 480 482 2452 setsla 899 873 899 2425 setttd 887 869 887 24 sf.cfg 200 200 1247 1256 200000 s.acr 202 202 203 400000 s.ads 202 202 203 400000 s.bdmk 202 202 203 200000 s.bmk 202 202 203 1000 s.brch 202 202 203 400 s.brk 202 202 203 1 s.cd 202 202 203 2 s.cts 202 202 203 100000 s.dlo 202 202 203 4 s.dsr 202 202 203 4000 s.exh 202 202 203 10000 s.fcse 202 202 203 40000 s.isd 202 202 203 40 s.mark 202 202 203 400000 s.pbyt 202 202 203 200 s.prex 202 202 203 10000 s.prty 202 202 203 40000 s.pwi 202 202 203 200000 s.rabt 202 202 203 100000 s.rbt 202 202 203 2000 s.ring 202 202 203 40000 s.rto 202 202 203 10 s.sprc 202 202 203 20 s.st 202 202 203 100 s.term 202 202 203 20000 s.xte 202 202 203 2015 skpdmp 713 710 713 1672 skphld 635 629 635 2000 smark 203 203 1009 1199 1553 sndenq 562 543 562 588 605 2136 sndeot 771 729 746 771 800 826 828 845 1351 sndnak 452 439 444 452 475 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 84 octal symbol references by sequence no. 105 sndout 203 203 551 634 732 1274 sndrsp 422 422 457 495 2075 sndttd 746 734 746 1723 sntout 653 653 756 855 1 soh 203 203 1884 1897 1 srec 203 203 362 1070 1083 10000 srts 203 203 247 1064 1070 10 st3270 52 337 342 400 stat 203 203 247 252 261 11 statel 1658 1648 1658 777770 stattb 205 205 1303 1385 1647 4000 sterm 203 203 1066 1072 1079 1085 11 sthasp 53 341 343 12 stpchn 979 4331 sttnta 1792 1305 1642 1792 4265 sttnte 1739 1306 1641 1739 4177 stttrn 1662 1307 1308 1662 2 stx 203 203 227 1885 1898 4 sxmit 203 203 1064 1070 1077 1083 4147 tabadr 1628 1384 1438 1562 1628 0 tb.cha 1868 1560 1868 7 tb.dle 1875 1875 1887 1900 4 tb.enq 1872 1872 1881 1894 5 tb.eot 1873 1873 1883 1896 3 tb.etb 1871 1871 1882 1895 2 tb.etx 1870 1870 1886 1899 6 tb.itb 1874 1874 1888 1901 10 tb.soh 1876 1876 1884 1897 1 tb.stx 1869 1869 1885 1898 3570 tempsw 1332 629 934 1323 1330 1332 1341 1348 100 term 203 203 1089 777745 testrt 205 205 877 878 2531 testw1 933 928 933 2526 testw2 931 929 931 935 2507 testwr 926 870 926 20 tfacu 199 199 242 10000 tfcrcv 199 199 361 573 644 751 850 20 tfdlup 199 199 246 262 1059 40 tfhang 199 199 256 318 336 340 864 983 4 tfkpar 199 199 1312 1313 100 tflisn 199 199 243 257 983 20000 tfmrcv 199 199 321 10 tfrabt 199 199 982 10000 tfwabt 199 199 982 20 tfwrd1 1059 242 243 246 256 257 262 318 321 336 340 361 573 644 751 850 864 982 983 1059 0 tfwrd2 1059 242 243 246 256 257 262 318 321 336 340 361 573 644 751 850 864 982 983 1059 462 tiback 205 205 213 221 353 570 996 997 999 465 tibeot 205 205 212 215 224 225 291 304 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 85 octal symbol references by sequence no. 464 tibnak 205 205 214 222 290 303 40 tibxsz 205 205 271 4 timout 205 205 367 438 588 656 1115 1213 26 t.dcp 199 199 412 416 474 36 t.flg3 199 199 1252 1255 5 t.icp 199 199 1508 1581 7 t.icpl 199 199 1603 6 t.ilst 199 199 1490 1587 12 t.ocp 199 199 1324 1342 1511 30 t.sfcm 199 199 1246 100 trnoff 205 205 1293 1294 1310 40 trnon 205 205 1295 1296 1310 2301 tryenq 847 817 847 3571 tstbf2 1340 933 1340 1349 3604 tstbfr 1349 1343 1347 1349 3553 tsthld 1322 628 1322 1331 2414 tstret 879 865 877 879 905 777751 ttdcnt 205 205 638 746 747 777752 ttdlmt 205 205 275 746 888 2131 ttdnak 760 760 789 20000 ttdsw 205 205 539 637 753 760 789 826 777753 ttdtim 205 205 276 733 887 3724 tttack 1475 1464 1475 1704 1705 1728 1729 1757 1758 1769 1770 1781 1782 3742 tttak1 1489 1481 1489 3736 tttak2 1485 1483 1485 3731 tttak3 1480 1432 1480 3667 tttenq 1424 1424 1670 1682 1747 1800 1812 1848 3672 ttteot 1430 1430 1671 1683 1748 1801 1813 1849 3656 tttinc 1409 1392 1409 3664 tttnak 1418 1410 1413 1418 1463 1469 1484 1666 1668 1669 1672 1678 1680 1681 1684 1685 1686 1703 1706 1707 1710 1714 1715 1716 1717 1718 1719 1720 1722 1726 1730 1731 1733 1734 1743 1745 1746 1749 1750 1756 1759 1760 1763 1771 1772 1775 1783 1784 1785 1787 1796 1798 1799 1802 1803 1804 1809 1816 1844 1846 1847 1850 1851 1852 3703 tttnt1 1444 1440 1444 3704 tttnt2 1445 1442 1445 3675 tttntr 1437 1437 1667 1674 3654 tttnul 1407 1380 1407 3711 tttsp1 1455 1455 1797 1845 3715 tttsp2 1462 1462 1820 1821 1822 1823 1824 1825 1826 1827 1828 3720 tttsp3 1468 1468 1832 1833 1834 1835 1836 1837 1838 1839 1840 1211 useack 405 405 407 467 wack 205 205 216 226 293 306 4606 wackcd 1909 475 1909 200 wacksw 205 205 354 381 390 393 403 411 417 429 476 539 710 713 813 815 604 waitfl 249 249 263 616 waithf 253 253 262 2234 waitwk 816 813 816 3062 wexh 1098 1093 1098 3055 wpar 1095 1091 1095 assm 01 04-18-84 09.718 bsc_tables -- tables for bisync line type page 86 octal symbol references by sequence no. 2742 write1 1055 1050 1055 3071 write2 1102 1087 1102 2757 write3 1062 1059 1062 3001 write4 1075 1060 1075 2772 write5 1069 1062 1069 3021 write6 1087 1067 1073 1080 1087 3014 write7 1082 1075 1082 3065 write8 1099 1090 1092 1096 1099 3075 write9 1105 1089 1105 2732 write 1049 508 774 1049 2737 writer 1053 424 575 645 752 851 1053 1112 wtenq 364 364 429 1103 wtenqx 360 358 360 390 300 x 1084 1065 1071 1078 1084 20000 xte 203 203 1127 48371 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