                      POSSIBLE 19 aug 65

/readin routine

0/	law 51
	arq
	jmp 0
	jmp ffg

6200/ffg,	rpb
	dio fa
	dio ccm
	spi
ccm,	0
	rpb
	dio la
	rpb
	dio i fa
	lac i fa
	adm ccm
	idx fa
	sas la
	jmp ccm 3
	add ccm
	rpb
	dio ccm
	sad ccm
	jmp ffg
	lio (flexo mkc
	tyo
	rir 6s
	tyo
	rir 6s
	tyo
	law 51
	arq
	hlt
	jmp ffg

fa,	0
la,	0
constant
word jmp 7751	/continue reading if non-ts
		/if ts, start at 0
start
                
                                possible 2

/transfer vector

0/	jmp 4
	hlt
	jmp ete		/expensive typewriter entry
	jmp brk		/sequence break
	jmp ini		/normal entry
	jmp sov		/restart entry

fld=620000		/field to store possible on

/flags and variables

/ flag 2 on . saving text
/ flag 4 on . indefinite phrase
/ flag 5 on . letter in symbol
/ flag 6 on . last character was operator


szp,	1260	/number of symbols. must be < (memory bound-low)/2
lop,	4220	/low end of symbol table
	4220-1
	lac 4220 1260 1260
	lio 4220 1260 1260

pas,	skp 600	/skip on pass 1
cas,	skp 600	/skip on lower case
pun,	skp i 0	/skip if punching desired
lof,	skp 600	/skip on definite location
inp,	skp i 0	/skip if input routine desired
npn,	skp 0	/skip if no punching at all
nti,	skp i 0	/skip if title desired
tsh,	skp 600	/time-sharing mode indicator

bas,	10	/current radix
loc,	4	/current location
end,	4	/punched output pointer
ptr,	buf	/output buffer pointer
msa,	pet	/end of macro name storage
npe,	0	/nightmare character count
npc,	20020	/nightmare drum pointer
txo,	20400	/nightmare text origin

ckm,	0	/checksum
ch,	0	/last character dispatched on
sqz,	0	/first three characters of symbol, sqoze
sy2,	0	/next three characters
num,	0	/number, current radix
dcn,	0	/number, decimal
org,	0	/origin of next constants/variables area
orp,	0	/origin of next constants area
lol,	0	/pointer to low end of constants storage
cct,	0	/constants count
vac,	0	/variables count
sct,	0	/count of free symbol table space
                
                                
/more variables

chp,	0	/address of last character saved
chg,	0	/address of last character retrieved
tsp,	0	/temporary storge for chp
pui,	0	/temporary
ddo,	0	/double dispatch pointer
ert,	0	/last tag
tc,	0	/terminate count
smp,	0	/current macro pointer
scm,	0	/temporary for svp during define
mv4,	0	/temporary for dummy argument replacement
mv5,	0
mv6,	0
ps1,	0	/what to do on next pass
ps2,	law 600	/what to do if same pass
fup,	0	/operator pushdown pointer
svp,	0	/macro processor pushdown pointer
sac,	0	/character pointer pushdown pointer
erl,	law	/error location
st,	jmp .	/where to go if "c"
con,	jmp .	/where to go if "s"
fni,	lac tc	/last seen pseudo-inst, for error print
	lac tc	/second three characters of above

/storage allocation information printout macro

define overlap a,b
print /b  /	value a	print /
/
termin

overlap 100-.,margin after variables
                
                                
/error comment cal handler

100/	0
	dac 100
	sub (1
	dap . 2
	law rrt-1
	add .
	dap erw
	law erw
gcm,	jdp drm		/get command routine common
	eoc
erw,	lac .		/pick up error comment
	jmp erp		/go to error print routine

/io instructions xct'ed by program

pax,	ppa	/changed by non-ts
pbx,	ppb	/ditto
tox,	tyo	/ditto
rax,	rpa	/ditto
dcx,	dcc	/ditto
dix,	dia	/ditto
xaq,	arq	/ditto

/drum swap routine

drm,	0
	dap dxx
	lio i drm
	xct dix
	lio (fld xyz-eoc
	law eoc
	xct dcx
	hlt
	cla>>05<<cli
dxx,	jmp .

/routine to get command

sov,	law cmd		/start command without initialization
	lio grr 2	/xct tox
	dio tym		/used as (dio
	xct tsh
	esm		/re-enter seq brk if not in ts
	eem
	jmp gcm

ini,	eem		/initialize first, then start command
	xct tsh
	esm
	law eoc
gp4,	jdp drm		/get part 4
	p4o
                
                                
/beginning of swapped area

eoc,

/initialization for new pass

1ps,	xct ps1
	dap pas
	dzm cct
	dzm vac
	cla
	dap erl
	law 17
	ior txo
	add (1
	sub txo
	dap npc		/partial block word count (nm)
	lac txo
	dap npa
	dip npc
	dzm npe
	law npb 17
	dap npg
	law fre-2
	dap fni
	dap fni 1
	law cvb
	dac org
	dac orp
	lac lop 1
	dac lol
	law 4
	dac loc
	dac end
	law 10
	dac bas
	law 600
	dap lof
	lac pas
	xct npn
	dap pun
	xct dt
	xct pun
	jmp . 4
	law 47
	xct xaq
	jmp cm1 1
	szs i 50
	xct nit
	jmp 2ps
	law 51
	xct xaq
	jmp cm1 1
                
                                
/initialization for continuation of pass

2ps,	xct ps2
	dap cas
	law (377777
	xct pas
	law (777777
	dap seb
	law nch
	dap gut
	law nor 1
	dac ddo
	lac end
	dac ckm
	dac buf
	law fsp
	dap fur
	dac fup
	law fdp
	dap fus
	law tb
	dac fsp
	law buf 2
	dac ptr
	cla>>05<<clf 7
	dap ntt		/suppress pariuty check during title
	law buf-2
	dac svp
	dac buf-1
	law sgl
	dac sac
tit,	jsp nch
	cli
	szf 6
	sas (77
	jmp try
	xct tox
	law 3554
	jdp typ
	cli
	xct tox
	lac (flexo pas
	jdp typ
	xct tox
	cli
	xct tox
	law i 7777~134
	xct pas
	law i 7777~234
	ral 6s
	jdp typ
	law 60
	dap ntt
                
                                
	law 600
	xor pas
	dap nti
	xct dt
	xct pun
	jmp dxi-1

/input routine

jmb,	skp 600
	jmp jbk
	xct inp
	jmp njb
	law i 50
	jda fee
	lac (dio 7751
	dac end
	law in
	dap ino
	lio end
	jdp pbw
ino,	lio
	jdp pbw
	idx end
	idx ino
	sas . 2
	jmp ino-2
jbk,	lio en
	jdp pbw
njb,	law i 20
	jda fee
	lac ckm		/saved end
	dac end
	law 600
	dap inp
	law rz
dxi,	jdp drm
	p2o

try,	sas (77
	sad (13
	jmp tit
	sza
	lia>>05<<stf 6
	szs i 50
	xct tox
	xct pas
	xct pun
	jmp tit
	lio (skp i 600
	sad (40
	dio nti		/center dot terminates title punch
	xct dt
	xct nti
	jmp tit
	jdp tt1
	jmp tit
                
                                
/input routine, master copy

in,	rpb
	dio 7776
	dio 7755
	spi
	0
	rpb
	dio 7777
	rpb
	dio i 7776
	lac i 7776
	add 7755
	dac 7755
	idx 7776
	sas 7777
	jmp 7760
	add 7755
	rpb
	dio 7755
	sas 7755
	hlt
	jmp 7751
en,	jmp 7751

/title punch subroutine

/character in low AC, jdp tt1

tt1,	0
	dac tt2
	sal 3
	adm tt2
	law i 5
	dac tt3
tt4,	idx tt2
	mul tt5
	add tt6
	dap tt7
	cla
	rcl 3
	add tt8
	dap . 2
tt7,	lac
	xct .
	and tt9
	swp
	xct pax
	isp tt3
	jmp tt4
	jda fee
	jmp i tt1
                
                                
/title punch table

tt0,	0	0		/space
	447640	4462	524244	/1,2
	425252	522410		/3
	141276	105652	525220	/4,5
	345252	522000		/6
	26212	62452	525224	/7,8
	445252	523400		/9
tt8,	. 1	nop	ral 6s
tt9,	rar 6s	nop
	0	0	0
	0	34
	424242	344020	100402	/0,/
	445252	522202		/s
	27602	23640	404036	/t,u
	162040	201636		/v
	403040	364224	102442	/w,x
	20470	40242		/y
	625246	420000	0	/z
	141414	141400		/=
	0	0	0
	0	0
tt3,	0	1010	741010	/_ (punches +)
	204040	360076		/j
	101024	427640	404040	/k,l
	760410	47676		/m
	41020	763442	424234	/n,o
	761212	120434		/p
	425222	547612	123244	/q,r
tt5,	125252	0
tt6,	tt0	1010	101010	/-
	42	340000		/)
	7600	34	420000	/| ,(
tt2,	0	74
	121212	747652	525224	/a,b
	344242	422476		/c
	424242	347652	524242	/d,e
	761212	20234		/f
	424252	727610	101076	/g,h
	4276	420000		/i
	0	60	600000	/.
	0	0
                
                                
/command routine

cm0,	lac ps2
	dac ps1
cmd,	law 2ps
	dap st
	law 1ps
	dap con
	dzm sy2
cm1,	law 3572
	jdp typ
	jsp tin
	rar 6s
	dac len 1
	dip len
	law cmx
	dap cmp
cm,	idx cmp
	sad (lac tcc
	clc>>05<<lia
	law i 7777
	and i cmp
	sas len 1
	jmp cm
cmp,	lac .
	dap cmx
	law 3477
	spi i
	jdp typ
	cli>>05<<cla
cmx,	jmp .

/commands

	char lb gbk
	char lk kon
	char la sya
	char ln syn
	char lf rrs
	char lz pbs
	char lm mel
	char ls con
	char lc st
tcc,	char lg ar 1
	char lx ar
	char li rip
	char lj rjb
	char ll rti
	char lw rpo
	char lr rq
	char lp rq
	char lt daf 1
	char ld daf
	char lo nap
	char le nap 1
	char l1 rp1
	char l2 rp2
len,	cmd 6	0
                
                                
/command implementation

gbk,	law i 51
	arq
	law i 47
	arq
	722377
	lsm
	jmp .

ar,	clc>>05<<lia
	dio sy2
	jmp cm1 2

rq,	lac len 1
	ral 6s
	xor sy2
	xct xaq
	spa
	jmp cm1 2
	jmp cm1 1

rp1,	lac ps2
	dac ps1
	law 1ps
	dap con
	jmp cm1 2

rp2,	lac gut-2
	jmp rp1 1

daf,	law 600
	dap dt
	lac pas
	dap pun
	law 0
	dap npn
	jmp cm1 2

nap,	law 600
	dap nit
	jmp cm1 2

kon,	law kop
	jmp gsp

sya,	law alp
	jmp gsp

syn,	law nup
	jmp gsp

rrs,	law rst
gsp,	jdp drm
	p3o
                
                                
rti,	law 600
	and sy2
	dap nti
	jmp cm1 2

rip,	law 600
	and sy2
	dap inp
	jmp cm1 2

rjb,	law 600
	and sy2
	dap jmb
	jmp cm1 2

rpo,	law 600
	dap pun
	dap npn
	jmp cm1 2

mel,	law mll
	jmp gp4

sbk,	xct dt
	skp 600
	jmp cm0
	law i 20
	jda fee
	lac num
	add (jmp
	swp
	jdp pbw
	law i 300
	jda fee
	jmp cm0
                
                                
/error print

erp,	jdp typ
	jdp ts
	xct lof
	jmp ine
	lac loc
	jda opt
	jdp ts
	xct erl
	sza i
	jmp inf
	cma
	add loc
	dac opt
	spa
	jmp inf
eru,	lac ert
	jdp cvt
	lac opt
	sza i
	jmp inf
	lac (flexo +
	jdp typ
	jsp opt 1
inf,	jdp ts
	xct fni
	jdp cvt
	xct fni 1
	jdp cvt
	jdp ts
	lac sqz
	jdp cvt
	lac sy2
	jdp cvt
	clc>>05<<lia
	xct tox
	szs 40
	jmp err
	law err
	dap st
	jsp cmd 3
	law 600
	dap pun
err,	lac 100
	jmp dxi

ine,	lac (flexo ind
	jdp typ
	dzm opt
	jdp ts
	jmp eru
                
                                /error comments

rrt,	flexo nca
	flexo ilf
	flexo usw
	flexo mdt
	flexo ilt
	flexo tmc
	flexo cld
	flexo vld
	flexo mdd
	flexo ild
	flexo sce
	flexo pce
	flexo tmt
	flexo ids
                
                                
/temporary binary symbol punch midas format

pbs,	law 47
	xct xaq
	jmp cm1 1
	law i 10
	jda fee
pb0,	jsp tin
	sad (77
	jmp pb1
	jdp tt1
	jmp pb0
pb1,	law i 20
	jda fee
	lio (jmp 7750
	jdp pbw
	law i 20
	jda fee
	lac lop
	dap spg
	law buf 2
	dac ptr
	cla
	dap pun
	dap dt
	dac end
	dac ckm
	dac buf
	jdp tbr
sph,	lio i spg
	idx spg
	szs i 10
	sni
	jmp spd
	lai
	jdp tbr
spg,	lac .
	jdp tbr
	cla
	jdp tbr
spd,	idx spg
	sas lop 2
	jmp sph
	cla
	jdp tbr
	cla
	jdp tbr
	jdp rop
	law i 20
	jda fee
	lio spd 2
	jdp pbw
	law i 300
	jda fee
	jmp cm1
                
                                
/convert sqoze characters to flexo

.+10/

cvt,	0
	and (177777
	mul (1
	div . 1
	50
	dio . 3
	mul (1
	div .-3
	0
	jdp cv1
	jdp cv1
	lac .-3
	jdp cv1
	jmp i cvt

cv1,	0
	swp
	sni
	jmp i cv1
	swp
	add (7
	dac pui
	sar 7
	cma
	add pui
	sar 7
	add (cvo
	dap . 1
	lac .
	add pui
	swp
	xct tym
	jmp i cv1

cvo,	10	-10	37	6	-22

xyz,
                
                                
/close paren

clz,	szf 2
	jmp fuq
	law ilf
	xct cas
	law obk
	jda fuj
	jsp fub
ilf,	cal 2		/ilf
	law 600
	dap cas
	xct gut
	sas (77
	sad (36
	jmp gut 1
	jmp .-4

/start

str,	lac gut-2
	xct pas
	lac (jmp sbk
	dac ps1
	jdp rop
	law tb
	sad fuj
	jmp sb1
	law .-1
	jda fuu
	jmp cln

sb1,	law cmd
	lio (dio 91r
	xct tsh
	dio i (91r 70000
	jmp gcm

/brackets

obk,	jsp fub
	clf 6
	law obk
	clf 5
	sas fuj
	jmp eq1 3
	jmp gut

rep,	jmp rpe		/repeat comes here first for priority
                
                                
/word

wrd,	jdp rop
	law wor
	jmp opc

wor,	xct dt
	xct pun
	jmp ry
	lio num
	jdp pbw
	law i 5
	jda fee
ry,	jsp fub
	jmp cln

/whenever

tso,	law cmf 1
	dap cmf
	law tst
	jmp opc

tst,	lac num
	dzm num
	sza i
	idx num
	clf 4
	jmp rpe
                
                                
/word terminators

tab,	law mex-1
	sub i fup
	spa>>05<<szf 6
	jmp cln
	law tb
	jda fuj
	jdp tbr
	idx loc
cln,	clf 4
	jmp rz

mex,	nop
tb,	lac num
	jmp fux

tbr,	0
	dac i ptr
	adm ckm
	idx ptr
	idx end
	and (77
	sza
	jmp i tbr
	jsp emp
	lac end
	dac buf
	dac ckm
	jmp i tbr

/period

prd,	law m
	szf i 2
	xct cas
	jmp qz
	szf 5
	jmp ilf
	law 7777
	and loc
	szf i 6
	lac dcn
	dac num
	clf 6
	jmp gut

usw,	cal 3		/usw
	jmp fum
                
                                
/comma - define tag

com,	szf 2
	jmp fuq
	xct cas
	jmp eql
	szf i 4
	szf 6
cmf,	jmp ilt
	law . 2
	jda fuj
	xct lof
	jmp cln
	szf i 4
	jmp cdf
	cma
	add loc
	and (7777
	jda shv
cer,	szf i 5
	jmp cln
	lac sqz
	dac ert
	lac loc
	dap erl
	jmp cln

cdf,	xor loc
	and (7777
	sza i
	jmp cer
	cal 4		/mdt
	jmp rz

/slash - set location

sls,	law mex-1
	sub i fup
	spa>>05<<szf 6
	jmp ign
	law . 2
	jda fuj
	szf 4
	jmp sus
	dac loc
	law 600
	dap lof
row,	law cln
	jda rop

sus,	cla>>05<<clf 4
	dap lof
	jmp rz

ilt,	cal 5		/ilt
	jmp ilf 1
                
                                
/expression evaluation push down

fuj,	0
	szf 2
fuq,	jmp .
	stf 6
	dap fux
	szf i 5
	jmp fun
	jsp see
	jmp fui
	dac num
fun,	law 22
	add fuj
	sub i fup
	sma
	jmp fus
	idx fup
	idx fur
	idx fus
	sad (lac fdp 15
	jmp pce
	lac fuj
puf,	dac i fup		/sign
	lac num
	dac i fus	/data
fux,	jmp .

fus,	lac		/data
fur,	jmp i 		/sign
	dac num
	law fun
fub,	dap fud
	law i 1
	adm fup
	dap fur
	law i 1
	adm fus
fud,	jmp .

fui,	stf 4
	xct pas
	jmp usw
obr,	skp
	jmp fum
	lac (add
	adm sqz
	idx vac
	jda shv
fum,	dzm num
	jmp fun		/used as (jmp fun

fuu,	0
	stf 6
	dap fux
	lac fuu
	dac fuj
	jmp fun 5
                
                                
/symbol collection

upn,	law dt2
	adm ch
	xct i ch
qz,	jda fuj
rz,	dzm sy2
	dzm sqz
	dzm num
	dzm dcn
	cla>>05<<clf 5
	dap obr
gut,	jsp nch
	dac ch
	szf 2
	jdp put
grr,	lia
	szs 10
	xct tox		/used as (xct tox
	add (dtb
gus,	dap . 1
	xct
	spa
	jmp rdc
	stf 5
	dac ch
ltr,	cli>>05<<clf 6
	law 24
	mul sqz
	swp
	add ch
	sni
	jmp w1
	law 24
	mul sy2
	swp
	add ch
	sni
	dac sy2
	lac sqz
	ior (lac
w1,	dac sqz
	jmp gut

rdc,	add ddo
	jmp gus
                
                                
/get character routines

nch,	dap gcx
	szs 50
	jmp tin
nit,	skp 600
	jmp npf
	xct rax		/rpa or jda
	dio ch
	rir 7s
	spi i
	sni
	jmp .-5
	law 2000
	add ch
	dap . 2
	lio (525
	rir
ntt,	szs i 60		/szs i 0 during title
	spi
	jmp gcx-2
	jsp ich
	jmp nit 2

gch,	dap gcx
	idx chg
	mul (125252
	add (las
	dap gcp
	cla
	rcl 3
	add (tbl-1
	dap . 2
gcp,	lac
	xct
	lia
	and (74
	xor (14
	swp
	and (77
	sni i
gcx,	jmp .
	add (gdp-14
	dap . 1
	jmp .

tin,	dap tix
	clf 1
	szf i		/dapped to 1 for non-ts
	jmp .-1
	tyi
	cla 60
tix,	jmp .

	nop
tbl,	ral 6s	rar 6s
	nop
	rar 6s	ral 6s
                
                                
/collect number

z,	dzm ch
n,	xct cas
	jmp upn
	lac num
	mul bas
	rcr 1
	dio num
	cma
	sub ch
	sub num
	cma
	dac num
	lac dcn
	ral 7
	add ch
	add dcn
	adm dcn
	idx ch
	jmp ltr

/deposit character routine

put,	0
	dac pui
	idx chp
	mul (125252
	add (las
	dap pub
	sub lol
	sma
	jmp sce
	cla
	rcl 3
	add (tbl-1
	dap pub 1
	add (2
	dap pub 3
	lio pui
pub,	lac
	xct
	rcr 6s
	xct
	dac i pub
	lac pui
	jmp i put

sqs,	lac sqz
	dac num
	jmp gut-2

ign,	xct gut		/ignore to  c.r.
	sas (77
	jmp ign
	jmp gus-1
                
                                
/symbol table

see,	dap sex
	lac sy2
nsm,	sza
	jsp mps
	jmp snm
	lac das
	dap fni
	dap fni 1
	idx fni 1
	clf 7
	xct i snw
	sub (las
	dac num
	sal 1
	adm num
	law mex
	jda fuu
	lac svp
	dac scm
	lac ch
	sas (77
	sad (36
	jmp cmc 1
	jdp spu
	jdp sav
	law exd 1
	jmp exm

snm,	lac sqz
	ral 9s
	xor sqz
	cli>>05<<swp
	div szp
	hlt
	swp
	sal 1
	add lop
	jmp sea-1

ser,	law 2
	adm sea
	sas lop 2
	jmp sea
	lac lop
	dap sea
sea,	lac
	sza i
	jmp sex
seb,	and (377777	/and (777777 on pass two
	sas sqz
	jmp ser
	idx sex
	idx sea
	lac i sea
sex,	jmp .
                
                                
/define symbol

shv,	0
	dap shx
	isp sct
	jmp sce
	lac sqz
	dac i sea
	idx sea
	lac shv
	dac i sea
shx,	jmp .

sce,	cal 13
	jmp gb

/macro search

mps,	dap mpx
	law pit-3
	dap das
rpm,	lio sqz
	dio i msa
	law 3
	adm das
	lai
das,	sas
	jmp rpm 2
sno,	law 7777
	and das
	sad msa
mpx,	jmp .
	law 1
	add das
	dap . 1
snw,	lac
	lio sy2
	sni 100
	jmp rpm
	sni
	jmp ok
	sza i
	jmp rpm
	sas sy2
	mul (6315
	sas sy2
	mul (6315
	sas sy2
	jmp rpm
ok,	idx mpx
	idx snw
	jmp mpx
                
                                
/constants

coo,	xct pas
	jmp co2
	lac loc
	dac i org
	idx org
	lac lop 1
	dac lol
	lac cct
cob,	dzm cct
	dac i org
	adm loc
	idx org
	dac orp
	sub (fsp
	stf 6
	spa
	jmp row
tmc,	cal 6		/tmc
	jmp gb

co2,	lac i org
	sas loc
	jmp cld
	idx org
	lac lop 1
	dac pui
	sad lol
	jmp coc
coa,	lac i pui
	jdp tbr
	law i 1
	adm pui
	sas lol
	jmp coa
coc,	lac lop 1
	dac lol
	lac i org
	jmp cob

cld,	cal 7		/cld
gb,	law gbk
	jmp gcm
                
                                
/variables

var,	xct pas
	jmp va2
	lac loc
	add (add
	dac i org
	idx org
	law i 1
	add lop
	dap vag
van,	law 2
	adm vag
	sad lop 2
	jmp vam
vag,	lac
	sma
	jmp van
	xor (add
	dac i vag
	idx vag
	law i 1
	add loc
	adm i vag
	idx vag
	jmp vag-2

vam,	lac vac
	dzm vac
	jmp cob 1

va2,	lac i org
	xor (add
	sas loc
	cal 10		/vld
	idx org
	lac i org
	jmp cob 2
                
                                
/dimension

dim,	xct pas
	jmp ign
	law dmt 1
	jmp dcr 1

dcr,	law nor 1
	dac ddo
	jmp tab

dlc,	szf 4
	cal 17
	lac num
	spa
	jmp idi
	sub (1
	adm vac
	jmp prt 4

idi,	cal 16		/illegal dimension
	dzm num
	jmp dcl

dco,	xct cas
	jmp opc-1
	szf i 5
	jmp ilf
	jsp see
	jmp dcd
	cal 11		/mdd
	xct gut
	sas (55
	jmp .-2
	jmp rz

dcd,	lac (add
	adm sqz
	idx vac
	jda shv
	law dcl
	jmp opc

/illegal upper case number

iln,	law 600
	dap cas
	law i dt2-400
	adm ch
	jsp ich
	law i 400
	adm ch
	jmp n

ob1,	clf 5
	jsp fub
	lac gut
	dap . 2
	lac gcx
	jmp .
                
                                
/dispatch tables

dtb,	jmp ad	jmp n
	jmp n	jmp n
	jmp n	jmp n
	jmp n	jmp n
	jmp n	jmp n
	jsp ich	jmp gut
	jsp ich	jsp ich
	jsp ich	jsp ich

	jmp z	law i 1
	law 35	law 36
	law 37	law 40
	law 41	law 42
	law 43	law 44
	jsp ich	law i 2
	jmp gut	jmp gut
	law i 5	jsp ich

	jmp ade	law 24
	law 25	law 26
	law 27	law 30
	law 31	law 32
	law 33	law 34
	jsp ich	jsp ich
	jmp sb	law i 3
	jmp ovb	law i 4

	jsp ich	law 13
	law 14	law 15
	law 16	law 17
	law 20	law 21
	law 22	law 23
	jmp lwc	jmp prd
	jmp upc	jsp ich
	jsp ich	law i 5

dt2,	jmp iln	jmp sqs
	jmp ade	law x
	jmp iln	law o
	law a	law r
	law d	jmp iln

gdp,	jmp g14	jmp g15
	jmp g16	jmp g17
                
                                
/redispatch tables

	jmp tab
	jmp opn
	jmp clz
	jmp com
nor,	jmp sls

	jmp crd
	jmp ilf
	jmp ilf
	jmp cmb
dtd,	jmp ilf

	jmp cmc
	jmp obm
	jmp cbm
	jmp cme
exd,	jmp rz

	jmp dcr
	jmp dco
	jmp clz
	jmp rz
dmt,	jmp ilf

	jmp crr
	jmp obm
	jmp cbm
	jmp rz
rdp,	jmp rz
                
                                
/output routines

typ,	0
	cli
	rcl 6s
	sni i
	xct tym
	sza
	jmp .-5
	jmp i typ

ich,	dap ic1
	law ic1
	dap st
	dap con
	law 7163
	jdp typ
	law 7036
	jdp typ
	lac ch
	jda opt
	clc>>05<<lia
	xct tox
	law cmd 4
	jmp gcm
ic1,	law .
	jmp dxi

opt,	0
	dap per
	dzm pui
	lac opt
	dac ts
	cli
	rcr 7
	ril 320
	sas pui
	jmp .-5
	sni
	lio .-4
tym,	xct tox
	lac ts
	dac pui
	sas opt
	jmp opt 3
per,	jmp .

ts,	0
	lio (36
	xct tox
	jmp i ts

rop,	0
	jsp emp
	lac loc
	dac end
	dac buf
	dac ckm
	jmp i rop
                
                                
/nightmare entry

ete,	lio (373		/location of pointer to current page
	dia
	lio (20001
	law txo
	dcc		/read into nightmare text origin
	hlt
	law 600
	dap dt		/turn on drum
	cla
	dap nit		/turn off reader
	jmp 4

/non-ts arq routine

arr,	0
	sad (47
	jmp ar1
	spa
	jmp i arr	/dismiss
	lac i (70000 93r
	dac i (70000 92r	/reset reader buffer pointers
ar1,	idx arr
	jmp i arr

brk,	eem
	jmp i (70000 br7	/jump to core 7
brr,	lac 0		/return from sequence break
	lio 2
	jmp i 1

/io dispatch to core 7 for non-ts

ioi,	70000 95p
	70000 94p
	70000 95o
	70000 95r
	70000 91m
                
                                
/punch routines

emp,	dap ror
	xct pun
	jmp ror-2
	lac end
dt,	skp
	jmp ept
	sub buf
	sza i
	jmp ror-2
	dac buf 1
	lac (i
	dip buf
	lio buf
	xct dix
	law buf 2
	lio buf 1
	xct dcx
	hlt
	jmp ror-2

ept,	dac buf 1
	add ckm
	dac i ptr
	idx ptr
	sad (buf 3
	jmp ror-2
	law buf
	dac fee
poo,	lio i fee
	jdp pbw
	idx fee
	sas ptr
	jmp poo
	law i 5
	jda fee
	law buf 2
	dac ptr
ror,	jmp .

pbw,	0
	xct pbx
	ril 6s
	xct pbx
	ril 6s
	xct pbx
	jmp i pbw

fee,	0
	dap fex
	cli
	xct pax
	isp fee
	jmp .-3
fex,	jmp .
                
                                
/nightmare patch

npf,	isp npe
	jmp npg
	law i 3
	dac npe
	idx npg
	sas (lac npb 20
	jmp npg
	lio npa
	xct dix
	lio npc
	law 7777
	and npc
	cma
	add (npb 20
	dap npg
	xct dcx
npa,	400
	law 7777
	and npc
	add npa
	dap npa
	xor npa
	adm npc
	law 20
	dap npc
npg,	lac
	cli>>05<<swp
	cla
	rcl 6s
	dio i npg
	sas (13
	sad (77
	dzm npe
	jmp gcx

dr1,	0		/dia word

knn,	fld		/write this onto field
	knn
	lio knn
	dia
	lio knn 1
	law 0
	dcc
	hlt
	jmp ffg

word jmp knn 2
                
                                                                                                                                              

