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