                       
SYMBOL PACKAGE - macro fio-dec


/macro fio-dec symbol punch

flx/

lsb,	clf 5
	senses 1001
	jmp 7751
	law i 20
	jda fee
ls,	listen
	swap
	senses 1001
	jmp 7751
	sad (77
	jmp ls3
	sas (36
	jmp pt1-5

ls2,	listen
	swap
ls3,	senses 1001
	jmp 7751
	lio (jmp sps
	sad (char rm
	lio (jmp mps
	sad (char rs
	stf 5
	dio sps-1
	lio ls3+2
	dio .-2
	sas (77
	jmp ls2
	law i 40
	jda fee
	lac end-1
	jda pnb
	law i 40
	jda fee
	xx
sps,	lac low
	dap bpp
	law low+1
	jda end
	szf 5
	jmp pse
	law i 40
	jda fee

mps,	law psi
	dap bpp
	add (2
	jda end
	init bpp,npi
	lac mai
	add (law-lac+1
	sad .-4
          
                                                                 
	jmp pse
	dap end
	jsp pst

pse,	law i 30
	jda fee
	lac (jmp ps5
	jda pnb
	law i 240
	jda fee
	jmp 7751

end,	0
pst,	dap psx
	clf 4
bpp,	law xy
psr,	dac org
	dap sor
	and (-77
	add (100
	dac loc
	law pbf
	dap .+2
psu,	lac i sor
	dac .
	idx .-1
	dap ts
	idx sor
	sad end
	jmp .+4
	sad loc
	jmp psc
	jmp psu
	dac loc
	stf 4

pcb,	jmp psc
	szf 4
psx,	jmp xy
	lac loc
	jmp psr

psc,	senses 1001
	jmp 7751
	jmp pun+6

sor,	xy

constants

bnp/	jmp pcb+1
pt1/	jmp pt1+4
pt6-1/	jmp ls

	start lsb

          
                                                                 
RESTORE

bnp/	lac wrd
pt1/	lio t
pt6-1/	jmp ptl


/Text printer

pbf/

txp,	0
	dap txu

txu,	lio .
	ril 6s
	tyo
	ril 6s
	tyo
	ril 6s
	tyo
	idx txu
	sub (lio
	sas txp
	jmp txu
	jmp i txp

	constants
          
                                                                 
/init. sym. val

ist,	flex  1s	1
	flex  2s	3
	flex  3s	7
	flex  4s	17
	flex  5s	37
	flex  6s	77
	flex  7s	177
	flex  8s	377
	flex  9s	777

	char li	10000

	flex and	020000
	flex ior	040000
	flex xor	060000
	flex xct	100000
	flex cal	160000
	flex jda	170000
	flex lac	200000
	flex lio	220000
	flex dac	240000
	flex dap	260000
	flex dip	300000
	flex dio	320000
	flex dzm	340000
	flex add	400000
	flex sub	420000
	flex idx	440000
	flex isp	460000
	flex sad	500000
	flex sas	520000
	flex mul	540000
	flex mus	540000
	flex dis	560000
	flex div	560000
	flex jmp	600000
	flex jsp	620000

	flex skp	640000
	flex szf	640000
	flex szs	640000

	flex sza	640100
	flex spa	640200
	flex sma	640400
	flex szm	640500
	flex szo	641000
	flex spi	642000
	flex sni	644000
	flex spq	650500
	flex clo	651600
          
                                                                 
	flex sft	660000
	flex ral	661000
	flex ril	662000
	flex rcl	663000
	flex sal	665000
	flex sil	666000
	flex scl	667000
	flex rar	671000
	flex rir	672000
	flex rcr	673000
	flex sar	675000
	flex sir	676000
	flex scr	677000

	flex law	700000
	flex iot	720000
	flex tyi	720004
	flex rrb	720030
	flex cks	720033
	flex lsm	720054
	flex esm	720055
	flex cbs	720056

	flex dia	720060
	flex dba	720061
	flex dcc	720062
	flex dra	720063

	flex lem	720074
	flex eem	724074

	flex ioh	730000
	flex rpa	730001
	flex rpb	730002
	flex tyo	730003
	flex ppa	730005
	flex ppb	730006
	flex dpy	730007

	flex clf	760000
	flex nop	760000
	flex opr	760000

	flex stf	760010
	flex lia	760020
	flex lai	760040
	flex swp	760060
	flex cla	760200
	flex lap	760300

	flex hlt	760400
	flex  xx	760400

	flex cma	761000
	flex clc	761200
	flex lat	762200
	flex cli	764000

iyi,	-0	-0

          
                                                                 
/CONSTANTS PRINTER

yc,	szs i 30
	szs 20
	jmp ych
	jmp 7751

ych,	lac cn7
	sad (dac cr2
	jmp 7751
	dap yct
	law yc2
	jda txp
	357774	/red, c.r., u.c.
	637246	/c, l.c., o
	text .nstants area.

yc2,	lac pss
	spa
	jmp yc3
	law yc4
	jda txp
	text /, inclusive
from	t/	char lo+3477

yc4,	stf 5

yc7,	law cor
	dap ycm
	law cr2

ycr,	dap ycn
ycu,	sad yct
	jmp 7751

ycm,	lac .		/cor
	spa
	jmp ycp
	jda opt
	lac i ycm
	sas i ycn
	szf i 5		/set to print
	jmp ycq
	law 36
	jda tys
	law i 1

ycn,	add .		/cr2
	jda opt

ycq,	law 77
	jda tys
yck,	idx ycm
	idx ycn
	jmp ycu

yc3,	law yc6
	jda txp
	text / origi/	flex ns +34	77

yc6,	clf 5
	jmp yc7
          
                                                                 
yct,	add .

ycp,	law yco
	jda txp
	357145	/red, i, n
	flex def
	char l.+3477
yco,	jmp yck

	constants

	start yc
          
                                                                 
ALPHA SYMBOL PRINTER

yc/
ycs,	szs i 20
	jmp syx
	law ycl
	jda txp
	3577
	text /Defined Symbols ALPHA/
	3477
ycl,	lac low
	sad .-1
	jmp syx
	dap yc8
	lio (77
	iot 4003
ycy,	law ist
	dap yca

yca,	lac .	/ist
	jda per
yc8,	sad .	/symbol
	jmp ycb
	idx yca
	idx yca
	sas (lac iyi
	jmp yca
	clf 5

ycz,	iot i
	szs i 20
	jmp syx
	lac i yc8	/symbol
	jda per
	jda tys
	jsp tb
	idx yc8
	lac i yc8	/value
	jda opt
	szf i 5		/set if print
	jmp yc1
	jsp tb
	lac i yca
	jda opt
yc1,	lio (77
	iot 4003
	jmp ycv
          
                                                                 
ycb,	idx yc8
	idx yca
	lac i yc8
	sad i yca	/value
	jmp ycc
	stf 5
	law i 1
	add yc8
	dac yc8
	jmp ycz

ycc,
ycv,	idx yc8
	sas (sad low
	jmp ycy
	iot i

syx,	szs i 30
	jmp 7751
	law syy
	jda txp
	357777
text /Defined Symbols NUMERIC/
	3477
syy,	jmp 7751

	constants

	start ycs
          
                                                                 
NUMERIC SYMBOL PRINT

yc/
sy,	szs 30 i
	jmp 7751
	dzm t
	init sy3,ist
	init sy4,ist+1
	lio (77
	tyo-4000

sya,	lac t
	dac t1
	clc
	dac t
	lac low
	dap syb
	idx syb

syb,	lac xy		/value
	lio i syb
	xor t1
	spa
	jmp sq5
	sza i
	jmp syc
	xor t1
	sub t1
sq1,	spa
	jmp syi

sq2,	lac t
	xor i syb
	spa
	jmp sq3
	lac i syb
	sub t
sq4,	spa
	dio t

syi,	idx syb
	idx syb
	sas (lac low+1
	jmp syb
	lac t1
	cma
	sza
	jmp sya
	iot i
	jmp 7751

sq5,	lac t1
	jmp sq1
          
                                                                 
sq3,	lac t
	jmp sq4

syc,	law i 1
	add syb
	dap syz

syg,
sy4,	lac xy		/ist value
	xor i syb
	spa
	jmp sy5
	sza i
	jmp syf
	lac i syb
	sub i sy4
sy1,	spa
	jmp syp

syd,	idx sy4
	dap sy3
	idx sy4
	jmp syg

sy5,	lac i sy4
	jmp sy1

syp,	iot i
	szs i 30
	jmp 7751
syz,	lac xy		/mai symbol
	jda per
	jda tys
	jsp tb
	lac i syb
	jda opt
	lio (77
	tyo-4000
	jmp syi

syf,
sy3,	lac xy		/ist table
	jda per
	sas i syz
	jmp syp
	idx sy4
	dap sy3
	idx sy4
	jmp syi

	constants

	start sy
          
                                                                 
/restore macro

yc/
rm,	szs 40 i
	jmp 7751
	load mai,lac npi-1
	load psi,law npi-3
	load low,lac low
	init rm2,ist-2

rm4,	idx rm2
	idx rm2
	add (1
	dap rm3
rm2,	lac xy
	sad iyi
	jmp 7751
	jda per
	dac sym
rm3,	lac xy
	dac t3
	jsp vsm
	jmp rm4

	constants

	start rm
          
                                                                 
/final "where to go routine"

dsm/	110000		/permuted char lr
	szs 40
	jmp ps5
	lac pss
	sma+szf 6-skp
	jmp s6
	sma
	jmp s4
	szf 6
	jmp 1st
	jmp s5

dss/	1
cv1/	pdl

	start dsm+1
          
                                                                                     7
