
FLIT  I  7-31-61 = section I

|FLEXOWRITER INTERROGATION TAPE


one=(1

|Definitions

	dc=400000	ns1=12
	lc=000000	ns2=12
	uc=200000	nsd=2

	x=20000	typ=psx+1
	tsx=fc1+3	pnc=pno 40
	p7a=p7o

Macro definitions

	define
punch
	p7h
	p7h
	p7o
	terminate

	define
unpack M,S
	llrc M
	anl
	slr S
	terminate

	define
type A
	llr .
	tra typ
	A
	terminate

	define
print
	llr .
	tra psy
	terminate

	define
redd
	llr .
	tra cor
	terminate

	define
black
	llr .
	tra cob
	terminate


|Permanent symbols

ist,
	-flex xro	600001
	-flex lxr	600003
	-flex cry	600012
	-flex lpd	600022
	-flex lad	600032
	-flex com	600040
	-flex lcd	600072
	-flex xad	600130
	-flex xcd	600170
	-flex lro	600200
	-flex xlr	600300
	-flex ixl	600303
	-flex shr	600400
	-flex cyr	600600
	-flex pen	603000
	-flex bsr	604000
	-flex rds	604004
	-flex rew	604010
	-flex wrs	604014
	-flex cpf	607000
	-flex cpy	620000
	-flex dis	622000
	-flex prt	624000
	-flex pnt	624600
	-flex typ	625000
	-flex p6h	626600
	-flex p7h	627600
	-flex hlt	630000
	-flex cll	631000
	-flex clr	632000
	-flex axr	640001
	-flex axo	640021
	-flex cyl	640030
	-flex alx	640031
	-flex amz	640050
	-flex axc	640061
	-flex alr	640200
	-flex rax	640203
	-flex orl	640205
	-flex anl	640207
	-flex alo	640220
	-flex all	640230
	-flex iad	640232
	-flex alc	640260
	-flex arx	640601
	-flex spf	647000
	-flex dso	662020
	-flex pno	664020
	-flex pnc	664060
	-flex p6o	666020
	-flex p7o	667020
	-flex cla	700000
	-flex cax	700001
	-flex lal	700012
	-flex lac	700022
	-flex clc	700040
	-flex lcc	700062
	-flex laz	700072
	-flex xal	700110
	-flex xac	700120
	-flex xcc	700160
	-flex cal	700200
	-flex rxa	700322
	-flex lar	700622
	-flex tac	701000
	-flex tbr	702020
	-flex rpf	706020
	-flex r1c	721000
	-flex r1r	721600
	-flex r3c	723000
	-flex p6s	726000
	-flex ora	740025
	-flex ana	740027
	-flex oro	740205
	-flex ano	740207
	-flex ial	740222
	-flex p6b	766020

is1,	-flex sto	0
	-flex stx	20000
	-flex sxa	40000
	-flex ado	60000
	-flex slr	100000
	-flex slx	120000
	-flex add	200000
	-flex adx	220000
	-flex ldx	240000
	-flex aux	260000
	-flex llr	300000
	-flex llx	320000
	-flex trn	400000
	-flex tze	420000
	-flex tsx	440000
	-flex tix	460000
	-flex tra	500000
	-flex trx	520000
	-flex opr
syt,			600000

nsm=140

|Reset line, word, product and syllable

rst,	cla
	add (101001
	pno
rsl,	cal+com-opr
	slr tli
	slr ar1
	slr ar2
	slr ar3
	slr ar4
	sto rop
	sto pin
	sto def
	slr wdc
	sto chn
	sto arc
	sto gon
	black
rnw,	type 0
rsw,	cal+com-opr
	slr wrd
	slr ign
	sto syc
	slr udf
	sto pun
	llr (lac
	slr psn
rsp,	llr (cla
	slr fcn
	cla
	sto ppr
rss,	cal+com-opr
	slr onm
	slr dnm
	slr sym
	sto psi
	sto let
	sto lni
	sto chc
	llr (lac
	slr fsn


|Listen,unpack ,  translate

lsn,	cal
	lcc
	trn .-1
	addc -525
	cyr+com-opr
	trn .-1
	acst add dtb-125300,.+2
	xx
	unpack 37,t1
	unpack 37000,t2
	trn lsm
	llrc 400
	anl
	cyl
	slr t3
	alo
	addc 017017
	cry
	alo
	addc 003003
	cry
	llrc -444444
	oro
	slr t
	call scn
	adtn ign,lsn
	adtn cas,lc0
	add t2
	addc 377
	cyr
	trn .-1
	cll
lc1,	acst add+adt,.+2
	xx
	sto ssb
	sto ssa
	sto opa
	alr
	sto va1
	trn lc3
	actn slr,sya
	sto ss1
	actn slr,sso
	sto va1
	actn slr,val
	sto va1
	clad let
	tra va2

lsm,	cla
lc2,	add t1
	tra lc1
lc0,	adtn t3,lc2
l,	llcc lni
	trn e
	llac t1
	actn -9,n
	load let,1
	tra ln


val,	clad chc
va2,	add lni
	com
	trn e
	acst 1,lni
	com
	add lim
va1,	xx	|alr OR llr: loc,lwt,onm,OR,dnm
	slr onm
	slr dnm
	tra lsn

lc3,	actn -trn+add,val
	actn slr,equ
	clc
opa,	xx	|trn: cma,bar,dbr,dnf,tab,cr,bs,ucs,lcs,OR e

equ,	actn llr-trn+x+x,eq2
	actn x,eq1

|Equality logic subroutine

ecl,	slr ecx
	clad psi
	add pin
	add def
	com
	trn e
	add lni
	add chc
	add syc
	llr rop
	com+lpd-opr
	trn e
	lac
	trn ec2
	black
	tra .+2
ec2,	sto wdc
	call twd
	adtn udf,uds
	move lwt,t1
	load prx,tra rnw
ecx,	xx

eq1,	acst slr,eqa
	call ecl
	add lwt
	llr (17777
	anl
	lcc
	adtn lim,tlt
	slr adr
	lac
	acst llr,.+2
	xx
	slr lwt
	slr t1
eqa,	xx

eq2,	acst slr,pmx
	subr ecl,ppm+1


|Dispatch table macros

	mf=400000

	define
dispatch ZZ,L,U,F1,F2,F3,F4,F5,F6
	W=F5+F5+F6
	W=-W-W-F1+7
	W=W+W+W+W
	W=W+W+W+W
	W=W+W+U
	W=W+W+W+W-F2
	W=W+W-F3
	W=W+W-F4+7
	W=W+W+W+W
	W=W+W+W+W
	W=W+W+L
	ZZ+W-add-.
	terminate

	define
notused
	dispatch mf,0il-adt,0il-adt
	terminate

	define
numuop F1,F2,F3,F4,F5,F6,N,OP
	dispatch 400,N,OP-adt,F1,F2,F3,F4,F5,F6
	terminate

	define
letuop F1,F2,F3,F4,F5,F6,OP
	numuop F1,F2,F3,F4,F5,F6,37,OP
	terminate

	define
number F1,F2,F3,F4,F5,F6,N
	numuop F1,F2,F3,F4,F5,F6,N,0il
	terminate

	define
letter F1,F2,F3,F4,F5,F6
	letuop F1,F2,F3,F4,F5,F6,0il
	terminate

	define
auxd A
	A-add-.
	terminate

	define
auxc A,B
	auxd (B)+A
	terminate

	define
doubop A,B,Z
	dispatch Z,A-adt,B-adt
	terminate


|Auxiliary dispatch table

adt,

0ps,	auxc llr,lac
0mn,	auxc llr,lcc
0u0,	auxc add,oro
0a0,	auxc add,ano
0s0,	auxc add,tra pad
0x0,	auxc add,tra mul
0f0,	auxd alr
0w0,	auxd slr lwt
0l0,	auxd slr loc
0pt,	auxd sto dnm
0rp,	auxd sto onm
0cm,	auxd trn cma
0br,	auxd trn bar
0cn,	auxd trn dnf
0p0,	auxd trn dbr
0tb,	auxd trn tab
0cr,	auxd trn cr
0bs,	auxd trn bs
0uc,	auxd trn ucs
0lc,	auxd trn lcs
0ig,	auxd trn lsn
0il,	auxd trn e
0dl,	auxd trn del
0ds,	auxd tra+x+irp
0lp,	auxd tra+x+tsu
0i0,	auxd tra+irp
0d0,	auxd tra+x+x+dnp
0o0,	auxd tra+x+x+onp
0eq,	auxd tra tsu
1n8,	auxd tra onp
1n0,	auxd tra dnp

|Dispatch table
dtb,	notused
	notused
	letter 0,0,0,0,1,0	|e
	numuop 0,0,0,0,1,1,8,1n8
	notused
	doubop 0br,0il		|||
	letuop 0,0,0,1,1,0,0a0
	number 0,0,0,1,1,1,3
	doubop 0ps,0ps		|space
	doubop 0eq,0cn		|=:
	letuop 0,0,1,0,1,0,0s0
	number 0,0,1,0,1,1,4
	letuop 0,0,1,1,0,0,0i0
	doubop 0ps,0ds		|+/
	letuop 0,0,1,1,1,0,0u0
	number 0,0,1,1,1,1,2
	doubop 0ig,0ig,mf		|color shift
	doubop 0pt,0rp		|.)
	letuop 0,1,0,0,1,0,0d0
	number 0,1,0,0,1,1,5
	letter 0,1,0,1,0,0	|r
	number 0,1,0,1,0,1,1
	letter 0,1,0,1,1,0	|j
	number 0,1,0,1,1,1,7
	letter 0,1,1,0,0,0	|n
	doubop 0cm,0lp		|,(
	letuop 0,1,1,0,1,0,0f0
	number 0,1,1,0,1,1,6
	letter 0,1,1,1,0,0	|c
	doubop 0mn,0il		|-_
	letter 0,1,1,1,1,0	|k
	notused
	letter 1,0,0,0,0,0	|t
	notused
	letter 1,0,0,0,1,0	|z
	doubop 0bs,0bs,mf		|backspace
	letuop 1,0,0,1,0,0,0l0
	doubop 0tb,0tb,mf		|tabulate
	letuop 1,0,0,1,1,0,0w0
	notused
	letter 1,0,1,0,0,0	|h
	doubop 0cr,0cr,mf		|carriage return
	letter 1,0,1,0,1,0	|y
	notused
	letuop 1,0,1,1,0,0,0p0
	notused
	letter 1,0,1,1,1,0	|q
	notused
	letuop 1,1,0,0,0,0,0o0
	doubop 0ig,0ig,mf		|stop code
	letter 1,1,0,0,1,0	|b
	notused
	letter 1,1,0,1,0,0	|g
	notused
	number 1,1,0,1,1,0,9
	notused
	letter 1,1,1,0,0,0	|m
	doubop 0uc,0uc,mf		|upper case
	letuop 1,1,1,0,1,0,0x0
	notused
	letter 1,1,1,1,0,0	|v
	doubop 0lc,0lc,mf		|lower case
	numuop 1,1,1,1,1,0,0,1n0
	doubop 0dl,0dl,mf		|delete


|Letter and number logic

n,	llr onm
	lal
	cyl
	cyl
	add t1
	sto onm
	llr dnm
	lal
	cyl+lro-opr
	cyl
	lad
	add t1
	sto dnm
ln,	clad chc
	add (1
	alr
	add (-3
	trn ln1
	cla
	add let
	trn ln2
	clc
	add rop
	add pin
	trn .+2
	tra e
	add (1
	sto psi
	tra ln2
ln1,	cla
	add sym
	cyr
	add t
	sto sym
ln2,	slr chc
	tra lsn

|Terminate product subroutine

tpd,	slr tpx
	call tsy
	llr ppr
psn,	xx		|lac or lcc
	add wrd
	sto wrd
tpx,	xx

|Terminate word subroutine

twd,	slr twx
	call tpd
	alc
	add syc
	trn tw1
	slr lwt
tw1,	cla
twx,	xx

|Case shifts

ucs,	cla
lcs,	sto cas
	tra lsn

|Syllable and product terminating operators

sso,	clad chc
	trn ss3
	clad psi
	trn ss0
	tra e
ss3,	add lni
	trn e
ss0,	call tsy
ss1,	xx	|llrc : oro,ano,tra mul,OR tra pad
	slr fcn
	tra rss

sya,	llcc chc
	trn .+3
	add lni
	trn ssb
	call tpd
ssa,	xx	|llrc: lac,OR lcc
	slr psn
	tra rsp

ssb,	xx	|ditto ssa
	slr fsn
	tra lsn

|Terminate syllable subroutine

tsy,	slr tsx
	cla
	add let
	trn ts2
	llr psi
	lcc
	trn spi
	call evl
	sto udf
fsn,	xx		|lac or lcc
	alo
	add ppr
fcn,	xx		|cla, ano, oro, tra mul, or tra pad
fc1,	slr ppr
	load syc,1
tsx,	xx
ts2,	add lni
	add chc
	trn tsx
	clc
	add rdx
	llr onm
	trn fsn
	llr dnm
	tra fsn
pad,	lpd
	alo
	tra fc1
mul,	slr t1
	cal
	add (-21
mu0,	sto t
	cla
	add ppr
	cyl
	sto ppr
	trn mu1
	lal
	tra mu2
mu1,	lal
	add t1
mu2,	alo
	add t
	add (1
	trn mu0
	lac
	cyr
	alo
	tra fc1

|Double bar logic

dbr,	add rop
	trn e
	sto pun
	tra lsn

|Tabulate and carriage return

ta1,	call tcs
	add rop
	trn rnw
	tra cr1
cr,	call twd
	add rop
	trn cr3
	black
	clc
	sto rop
cr1,	clad udf
	trn uds
	llr adr
	slr ar1
	slr ar2
	clad syc
	trn cr2
	lac
	add (slr
	sto .+2
	llr lwt
	xx
cr2,	clad pun
	trn .+4
	sto arc
	call p1r
	add gon
	trn cr5
	clc
	sto gon
	tra bs1
tab,	call twd
	sto tai
	add pin
	add def
	trn ta1
	cla
	add (101001
	pnc
cr3,	add pin
	trn cr4
	clad udf
	trn uds
	add syc
	trn do
	subr tar,do
cr4,	clad def
	trn rsl
	clad udf
	trn uds
	llr fld
	slr sym
	call dfn
	tra tlt
	tra rsl
cr5,	add rop
	trn rsl
	tra rnw

|Backspace logic

bs,	clad ign
	trn igd
bs2,	add wdc
	add lni
	add chc
	add syl
	trn bs1
	clad (101001
	pno
	add (1
	sto gon
	tra cr
bs1,	clad loc
	add (1
	llr (17777
	ano
	slr lwt
	sto wdc
	sto chn
	subr prl,ba1

|Br logic

bar,	add syc
	add lni
	add chc
	trn ba2
	clad pin
	add psi
	add def
	add rop
	com
	trn e
	call twd
	add udf
	trn uds
	add (17777
	llr lwt
	ano+com-opr
	slr lwt
	llr (tra ba1
	slr prx
	llr chn
	cla
	tra tc2-2
ba1,	llr lwt
	slr loc
	slr adr
	lcc
	add lim
	trn tlt
	lac
	load rop,1
	add (llr
	sto .+1
	xx
	slr lwt
	cla
	subr prw,rnw
ba2,	sto ign
	tra lsn

|Comma logic

cma,	add pin
	trn cm1
	clad syc
	add lni
	add chc
	trn e
	llr arc
	lcc
	add (3
	trn e
	call twd
	add udf
	trn uds
	subr tar,rsw
cm1,	add syc
	add psi
	add def
	com
	trn e
	add let
	add rop
	add (-1
	trn e
	llr adr
	slr wrd
	llr (tra rsw
	slr dfx
	call evl
	tra df4
	tra tlt

|Terminate arguments subroutine

tar,	slr tax
	cstep arc,1
	add (slr ar1-1
	sto .+2
	llr lwt
	xx
tax,	xx

|Definition logic

dnf,	add syc
	add psi
	add rop
	com
	trn e
	add let
	trn e
	sto def
	llr sym
	slr fld
	tra rsw

	start

v