midas assembler_. extended memory, part 5.

3a/		/bbn midas vocabulary
vco|

ist,	sqoze  0,  0, 23	i
	sqoze  0,  2, 35	1s
	sqoze  0,  3, 35	2s
	sqoze  0,  4, 35	3s
	sqoze  0,  5, 35	4s
	sqoze  0,  6, 35	5s
	sqoze  0,  7, 35	6s
	sqoze  0, 10, 35	7s
	sqoze  0, 11, 35	8s
	sqoze  0, 12, 35	9s
	sqoze  0, 42, 42	xx
	sqoze 13, 16, 16	add
	sqoze 13, 16, 27	360000	/adm
	sqoze 13, 16, 32	iot 4014	/adp
	sqoze 13, 30, 16	and
	sqoze 15, 13, 26	cal
	sqoze 15, 14, 35	cbs
	sqoze 15, 25, 35	cks
	sqoze 15, 26, 13	cla
	sqoze 15, 26, 15	clc
	sqoze 15, 26, 20	clf
	sqoze 15, 26, 23	cli
	sqoze 15, 26, 31	clo
	sqoze 15, 27, 13	cma
	sqoze 16, 13, 15	dac
	sqoze 16, 13, 32	dap
	sqoze 16, 14, 13	dba
	sqoze 16, 15, 15	dcc
	sqoze 16, 16, 32	iot 14	/ddp
	sqoze 16, 23, 13	dia
	sqoze 16, 23, 31	dio
	sqoze 16, 23, 32	dip
	sqoze 16, 23, 40	div
	sqoze 16, 32, 43	dpy
	sqoze 16, 34, 13	dra
	sqoze 16, 44, 27	dzm
	sqoze 17, 17, 27	eem
	sqoze 17, 35, 27	esm
	sqoze 21, 15, 20	iot 127	/gcf
	sqoze 21, 26, 20	iot 2026	/glf
	sqoze 21, 32, 26	iot 2027	/gpl
	sqoze 21, 32, 34	iot 27	/gpr
	sqoze 21, 35, 32	iot 26	/gsp
	sqoze 22, 26, 36	hlt
	sqoze 23, 16, 42	idx
	sqoze 23, 31, 22	ioh
	sqoze 23, 31, 34	ior
	sqoze 23, 31, 36	iot
	sqoze 23, 35, 14	isb
	sqoze 23, 35, 32	isp
	sqoze 24, 16, 13	jda
	sqoze 24, 27, 32	jmp
	sqoze 24, 35, 32	jsp
          
                                                                 	sqoze 26, 13, 15	lac
	sqoze 26, 13, 32	lap
	sqoze 26, 13, 36	lat
	sqoze 26, 13, 41	law
	sqoze 26, 17, 27	lem
	sqoze 26, 23, 31	lio
	sqoze 26, 35, 27	lsm
	sqoze 27, 26, 15	iot 401	/mlc
	sqoze 27, 34, 16	iot 501	/mrd
	sqoze 27, 34, 35	iot 701	/mrs
	sqoze 27, 35, 17	iot 301	/mse
	sqoze 27, 37, 26	mul
	sqoze 27, 41, 34	iot 601	/mwr
	sqoze 30, 31, 32	nop
	sqoze 31, 32, 34	opr
	sqoze 32, 32, 13	iot i 5	/ppa
	sqoze 32, 32, 14	iot i 6	/ppb
	sqoze 34, 13, 26	ral
	sqoze 34, 13, 34	rar
	sqoze 34, 15, 26	rcl
	sqoze 34, 15, 34	rcr
	sqoze 34, 23, 26	ril
	sqoze 34, 23, 34	rir
	sqoze 34, 32, 13	iot i 1	/rpa
	sqoze 34, 32, 14	iot i 2	/rpb
	sqoze 34, 34, 14	rrb
	sqoze 35, 13, 16	sad
	sqoze 35, 13, 26	sal
	sqoze 35, 13, 34	sar
	sqoze 35, 13, 35	sas
	sqoze 35, 15, 26	scl
	sqoze 35, 15, 34	scr
	sqoze 35, 16, 14	iot 2007	/sdb
	sqoze 35, 20, 36	sft
	sqoze 35, 23, 26	sil
	sqoze 35, 23, 34	sir
	sqoze 35, 25, 32	skp
	sqoze 35, 27, 13	sma
	sqoze 35, 30, 23	skp 4000	/sni
	sqoze 35, 32, 13	spa
	sqoze 35, 32, 23	spi
	sqoze 35, 32, 33	spq
	sqoze 35, 36, 20	stf
	sqoze 35, 37, 14	sub
	sqoze 35, 44, 13	sza
	sqoze 35, 44, 20	szf
	sqoze 35, 44, 27	szm
	sqoze 35, 44, 31	szo
	sqoze 35, 44, 35	szs
	sqoze 36, 43, 23	tyi
	sqoze 36, 43, 31	iot i 3	/tyo
	sqoze 42, 15, 36	xct
	sqoze 42, 31, 34	xor
          
                                                                 
ipt,		/pseudo-instruction list

sym3  0,  0,  0,  1, 23, 20, if0	/0if
sym3  0,  0,  0,  2, 23, 20, if1	/1if
sym6 15, 22, 13, 34, 13, 15, ch	/character
sym6 15, 31, 30, 35, 36, 13, cns	/constants
sym6 16, 17, 15, 23, 27, 13, dec	/decimal
sym6 16, 17, 20, 23, 30, 17, dfn	/define
sym6 16, 23, 27, 17, 30, 35, dim	/dimension
sym6 17, 30, 16, 23, 34, 32, ipe	/endirp
sym6 17, 33, 37, 13, 26, 35, eq	/equals
sym6 17, 42, 32, 37, 30, 21, xpn	/expunge
sym6 20, 26, 17,  0, 42, 31, fx	/flexo
sym3  0,  0,  0, 23, 34, 32, ir	/irp
sym6 23, 34, 32,  0,  0, 15, irc	/irpc
sym6 26, 23, 14, 34, 13, 34, lib	/library
sym6 30, 31, 23, 30, 32, 37, noi	/noinput
sym6 30, 37, 26,  0,  0, 26, nrss	/null
sym6 31, 15, 36,  0, 13, 26, oct	/octal
sym6 31, 20, 20, 35, 17, 36, off	/offset
sym6 31, 32, 35,  0, 43, 30, osn	/opsyn
sym6 32, 34, 23,  0, 30, 36, pf	/print
sym6 32, 34, 23, 30, 36, 42, pf0	/printx
sym6 34, 17, 13, 16, 23, 30, rdi	/readin
sym6 34, 17, 26, 31, 15, 13, rel	/relocatable
sym6 34, 17, 32, 17, 13, 36, rpt	/repeat
sym6 35, 36, 13,  0, 34, 36, sta	/start
sym6 35, 36, 31,  0,  0, 32, pstop	/stop
sym6 36, 17, 34, 27, 23, 30, ter	/terminate
sym6 36, 17, 42,  0,  0, 36, txt	/text
sym6 40, 13, 34, 23, 13, 14, var	/variables
sym6 41, 31, 34,  0,  0, 16, wd	/word

vce,
          
                                                                 
/internal character table

define
	entry a, b
	.z.=a	.zz.=b
	.z.x100+.zz.x100000
termin

define
	call a
	entry a-rich+200, .z.
termin

ill=fx2-rich+200

ict|	entry  0,  0	/space
	entry 21,  2	/1, "
	entry 22,  7	/2, '
	entry 23, ill	/3
	entry 24, ill	/4
	entry 25, ill	/5
	entry 26, ill	/6
	entry 27, 34	/7, <
	entry 30, 36	/8, >
	entry 31, 76	/9, ^
	repeat 6, call ich
	entry 20, ill	/0
	entry 17, 37	//, ?
	entry 63,  4	/s, |S
	entry 64, ill	/t
	entry 65, ill	/u
	entry 66, 113	/v, vert. tab
	entry 67, 176	/w, back arro.w
	entry 70,  1	/x, .>>75<<'
	entry 71, ill	/y
	entry 72, ill	/z
	call ich
	entry 14, 35	/,, =
	repeat 2, call ich
	entry 111, 111	/horz. tab
	call ich
	entry fx4-rich+200, ill	/_, or _.
	entry 52, ill	/j
	entry 53, ill	/k
	entry 54, 112	/l, line feed
	entry 55, ill	/m
	entry 56,  3	/n, number sign
	entry 57, ill	/o
	entry 60,  5	/p, percent
	entry 61, ill	/q
	entry 62, 177	/r, rubout
	repeat 2, call ich
	entry 15, 13	/-, +
	entry 11, 75	/), ]
	entry 74, ill	/eom
	entry 10, 73	/(, [
          
                                                                 	call ich
	entry 41, 40	/a, each sign
	entry 42, 100	/b, break
	entry 43, 115	/c, car. ret.
	entry 44, 174	/d, reverse diagonal
	entry 45, 104	/e, eot
	entry 46, 114	/f, form feed
	entry 47, 107	/g, light on
	entry 50, 125	/h, light off
	entry 51,  6	/i, ampersand
	call rag	/l. c.
	entry 16, 12	/., |x
	call rag	/u. c.
	repeat 2, entry ill, ill
	call fx6	/c. r. with line feed
          
                                                                 
ftp|		/title punch table

tpt,	000400	400400	400042	/space, 1
	477440
	042461	451446	/2
	021445	447431	/3
	010414	412477	410027	/4,5
	445445	431036	/6
	445445	431001	/7
	471405	403032	/8
	445445	432046	/9
	451451	436000
	000000	000000	000036	/0
	441441	436040	//
	420410	404402	401044	/s
	452452	422004	/t
	436444	420036	/u
	440440	436440
	016420	440420	416016	/v,w
	420440	420410	420440	420416
	042424	410424	442116	/x,y
	520520	476042	/z
	462452	446442
	000120	460000	000000	/, red, black
	000014	414040	/j
	504475
	077414	422440	/k
	041477	440002	/l,m
	474402	402474	402402	474002	/n
	474402	402474
	034442	442442	434176	/o,p
	422422	414014	/q
	422422	576500
	042474	442402	404066	/r, _.
	466126	/_,
	466010	410410	410410	/-
	041436	/)
	001401	401401	401036	/.,(
	441000
	022452	452474	440077	/a,b
	444444	430034	/c
	442442	444030	/d
	444444	477034	/e
	452452	454050	/f
	476451	401402
	114522	523455	/g
	077404	404470	/h
	044475	440000	/i
	060460	/.
	000000	000000
          
                                                                 
tpu,	000400	400400	400000	/space, "
	407400	407400
	000407	400010	/' ~
	404404	410420	420410
	042442	442442	434003	/>>05<< ^
	414460	500460	414403
	140430	406401	406430	540010	/<
	424442	501101	/>
	442424	410004	/^
	402577	402404
	000000	000000	000000
	010410	410410	452434	410002	/. ?
	401531	411406
	022445	445445	430001	/S T
	401477	401401
	037440	440440	437017	/U V
	420440	420417
	017420	440430	440420	417061	/W X
	412404	412461
	001402	474402	401041	/Y Z
	461451	445443	441000
	024424	424424	424424	/=
	000000	000000	100500	/.
	500500	500040	/J
	500500	477077	/K
	404412	421440
	077440	440440	/L
	077402	404402	477077	/M N
	402404	410477
	036441	441441	436077	/O P
	411411	406036	/Q
	441461	441536	500077	/R
	411431	446000
	000010	410476	410410	/+
	041441	477177	/] |
	077441	441000	/[
	074412	411412	474077	/A B
	445445	432036	/C
	441441	441422
	077441	441436	/D
	077445	445441	/E
	077405	405401	/F
	036441	441451	472077	/G H
	404404	477041	/I
	477441
	000101	442424	410424	442501	/x
	000000	000000
tpx,
          
                                                                 
dsp|			/ Argument pointers
pd1=dsp+2xndp+lpa-1	/ Public pushdown list
92pb=pd1+1		/ Sequence break punch buffer
pbf=92pb+9lp		/ Punch buffer
pd2=pbf+103+lpb-1		/ Second public pushdown
cor=pd2+1		/ Constants origins
vor=cor+3xncn		/ Variables origins
crl=vor+2xnvo		/ Constants relocation data
dsv=crl+ncr		/ Argument character storage
con=dsv+nac+ncc-1		/ Constants list
mil=con+1		/ Macro instruction storage

repeat 0if vp 3a+10000-mil+lmi,mil+lmi/print .overlap 3.

st=2a			/ Symbol table
low=st+3xsmk		/ End of symbol table

endputdrum

start ps5
          
                                                                                                                                                                             4