DECUS
PROGRAM LIBRARY
DECUS
NO.
The LISP Implementafion for the PDP-1 Computer
L.
Peter Deutsch and
Edmund C. Berkeley
COMPANY
DATE
March 1964
A l w u h & w : f @ @ k , t w t a d% y , i bcqtkribubr, m womn~y,B X ~ W QT Implied, ,is m d e by. the wlw,
G & ~ u w ~ SoeFmty
~ ~ s br Qigitol Eq+nent Grp~tatim'mtrr the actwmy or frm*timiw,of:.tfe
r&&d+
aria no #spmildlity 7s -4 by f)lmprth In mnn&ttmi L h m .
$i&&
:@&I
Appendix 5
The LISP Implementation
for the PDP- 1 Computer
L. Peter Deutsch and Edmund C . Berkeley
TABLE OF CONTENTS
Part
Introduction
F u n c t i o n s and P r o p e r t i e s Included i n B a s i c PDP-I LISP
Use o f these F u n c t i o n s and Suggested Test Sequences
A u x i l i a r y F u n c t i o n s w h i c h May Be D e f i n e d with LISP
Expressions
Some A d d i t i o n a l F u n c t i o n s f o r B a s i c PDP-I
I n p u t and O u t p u t
LISP
Operation o f the System
Error D i a g n o s t i c s
Some Remarks
P a r t I1
Macro Symbolic Program f o r Basic HIP-1 LISP
Alphabetic L i s t i n g o f Defined Macro Symbols
Numeric L i s t i n g o f t h e Defined Macro Symbols
4. Mnemonic Keg o r Derivation of Symbols
1.
2.
3.
Part I
In October 1963 a system for implementing LTSP on the PDP-1.
computer was finished by I;. Peter Dautsch. This system was
Further hproved in Bdarch 1964 by adding:
---- variable
length of push-down list;
variable quantity of combined storage;
-- optional. machine language sulroutines;
and is here called Basic PDP-1 LISP. It uses a minimum of some
2000 (decimal) registers out of 4096 registers in a one-core
PDP-1 computer; it may use 16,361 registers in a four-core fnP-1
compter.
Basic PDP-1 LTSP is presented in oonsiderable detail in this
appendix for the following reasons:
-- theanystructure
of
for programming LISP on
computer is thereby revealed;
-- Tf Linked
cbangea
to be Implemented, U e y can be e a s i v
w i t h the existir_g system,
a system
are
In a one-core PDF-1 computer with 40% registers, as many as
4070 registers may be assigned to regnlar LISP, and o n l y 23 reserved f o r the read-in routine (namely, from 7751 ta '7777, o c t d ) ,
With the system described here, a d d i t i o n a l LISP functionrs
can be defined and included im the system and l a t e r used when
desired,
Or if deaised, d d l t f o n a l functions can be programmed in machine language and these can be inserted compatibly
with t h e system.
Pllnched tapes for placing this LTSP system on the HIP-1
computer a r e available through DECWS, t h e Egitd Equipment
C o r p r a t i o n Users Organization, Magnard, Mass,
I .the following, it is assumed t b t t h e reader has a f a b l y
(1) LISP (which may be obtained from
the "ZISP 1.5 FYogrammer s Mual, 1%~); (2) t h e machine
language codea f o r the PDP-I computer (which may be obtained h m
the computer manual supplied by Digital Equipment ~ o r ~ r a t i o n ) ;
and (3) the program assembly l e u a g e MACRO, in whicb the a p
goad working knowledge of:
b U c tapes a r e written (a description may b obtained in two
manuals published by Digital Equ5pment C o r p r a t i o n ) ,
E b c t i o n s and Properties f3lcluded in Baaic PDP-I LISP
2,
Tha functions and properties Included Ln Baaie PDP-I LISP
are sbom in Table 1. Thesa functions and prope~tjlsstogether
constitute a basic subset of the functions and properties of the
LISP interpreter for the IJ3! 7 0 9 , as stated in the LISP 1.5
Programmer s Manual.
In o r d e ~to obt-
other LISP function8 and propertias as
may be dsslred for ang particulw purpose, sea Sectiom 4 and 5
belaw,
Table 1
EUNCTIONS AND EDPERTITS OF EASTC FDP-1 LISP
A,
Functions Identical with %he Corresponding E l d 7090 LISP
Functions
AT OBYI
CAR
corn
LIST
LmAm
LOGOR
MIlUS
CONS
EVAL
G
E
m
NmmRF
PLUS
cm
GO
B.
mix
m1m
PROG
QUOTE
READ
RETURN
RPUCA
RPUCD
SASSOC
=TQ
T'EIIPRX
E h c t i o n s Somewhat Different from the Corresponding 7090
Functions
EQ
GREATERP
STOP
P R I ~X
This works both on atoms and on nmbers
T h i s tests f o r X greater than Y, not for X
greater than or equal. to Y,
This i s qu5valent to PAUSE in 7090 LISP. It
takes a numerical argument which appears in
the accumulator when the commter halts.
T h i s prints the atom X without the extra space
at t h e end. Its value is NIL.
C,
??unctions Pl'hich Rave No Analog Ln 7090 Functions
mQ
This pravfdes f o r p u t t b g i n t o storage a named
machine language subroutine, which can ba referred +aand used by t h e PDP-1 LISP i n t e r p r e t e r ,
15 also provides for executing single specified
machine languctgs instructions.
The SUER (XEQ C A I) executes the machine language Instruction C, with A I n t h e accumulator and 1 in the in-out register;
and returns a value in the form of (g 2) where _a is the new
value of the accumulator after executicn,
is t h e new value of
the ID-out register after execution, and _P is T if the instruction skipped, and NTL if the instruction did not sHp.
LOEX
This gives the machine register in wMch t h e atom
or lZst X begins; i t s value is t h e location,
Of the foregoing functions, COND, LIST, PROG, SETQ, PLUS, TIMES,
LOGAM), LOGOR, and QUOTE a r e FSU8Rs and the remainder are SUE&.
D.
The folloming special form is available and is identical w i t h
the corresponding form ia, 7090 LISP:
E.
The following parmanent objects e x l s t in the Basic PDP-1
LISP system:
OBLTST
HIL
the c w r e n t l i s t of atomic symbola
F has been replaced by NIL
T
EWR
s m
m
F!1 UBR
APVAL
F.
Miscellaneous
The p r i n t names of atomic symbols are& I
part of poperty
lists. A quick examination of l i s t i n g s of t h e system rill shorn
exactly mnere the print names are,
Doing s CDR of an atom is permissibla and will get t h e atomrs
property l i s t . Doing a CAR of an atom may very easily wreck the
system.
YDOTE should be used in place of 7090 FUNCTION.
This may re-
quire a bit of extra care in defining functions with f u n c t i o n a l
arguments.
It is addsable to use PRDG to avoid recursion wherever possible, even though it may take more space,
3.
Use of these hznctions and Suggested Test Sequences
How to use these functions is h i e f l y explained here.
As soon as the basic PDPZ LISP sgstem is read Fntu the
computer, control stops at register 4. T u r n up sense mitch 5 f o r
typewriter input; press CONTINUE; and the system enters a fiaiting
loop which causes lamps to light in the p o g r m counter, looking
like 1335. At this p i n t , the LISP aystern is reedy f o r manual
t y p e n r i l e r input, A s soon as the operetor types, for example:
together with a f i n a l space at the end of the last r i g h t parenthesis, the computer takes control of the typewriter, impulses a
cmriage return, and then types out:
which of course is the correct answer, Similarly, f o r t h e other
sug~estedt e s t sequences in Table 2 below.
Table 2
SUGGESTED TFST SEQUENCES
Response
Input
(cm I Q ~ T E(A
c D)))
The interpreter will
t y p e out a complete
I l s t of the atomfc
symbols stored w i t h in it.
NIL
(CONS (ATOM (GDR T)) (LIST
( G ~ S Y M ) IGENW)))
(QIPOTE CAAR) (QDOTE
('EXFR (wBDA
(XI (CAR
(RPE$CD
Computer stops and
pute 2 in the
accumulator,
CAR, with no punctuation before or &er;
the value of P R I a
is NIL,
P r i n t s out the valua
of X; the value of
(PRINT x) is x,
h i n t s a c m i a g e return; the value of
(TERPRI) IS NIL.
2651; this is the register where the NIL
atom s t a r t s .
2725; this is the T ~ ~ I s ter where the GOND
s t a m starbs.
Suppose the computer contains DDT -- DIE is short for
" D i g i t e l Equlpmant Gorp. Debugging Tapen; its starting register
is 6000, and in one of its custamary forms it uses registers
5540 to 7750, Then, if t h e highest storage register of LISP ia
below 5540, the instruct5on:
transfers c o n t r o l to DDT, and puts m r o fxl the accumulator and in
the in-out register,
If there is the Sollowing subroutbe stared in
We computer:
dm 5 9 7
ldx 5507
lac 5507
em
'
jmp 5m1
3mp 2w
(befng used for atorage)
a d LISP is b l o w 550Q1 then:
IT211 cause a horirtontal. line
.to b drawn on the scope
h m the orfgtn to the x&s positive Umkt, and
then control r i l l be retmd to LISP.
m w i n be typed out,
224l is the regltster c a l l e d
mnin the macro sgmblice
Auxiliary Functions n i c h May Be Defbed w l t h
LISP Expressions
Any of the functions U s t e d below in Table 3 can be put i n t o
the system at will, as fallows: Prepare a punched. tape l i s t of it, Insert tape into the reader, Turn on the reader, Turn
down Sense Smitch 5, Thereupon t h e computer will read in the
w-
El-
02-
qW
2
Lz
$23E/,g
b-J
6E3
:,.I +3
.r?
s
W
--a n
-X
W
4 a
a:
-s
4
E rn
d
Kl
*. l-4-
-qjgrv7z
" m
?.a--'-
n-,
-4
n
-
---
P: -'21
5j.Z
W-H
b-4
-..
'd
I-
;? 2
=,
L,
-4
?7
-,3-
&I
\
M
ex-1
>, .
lj'i 7,
*?-=
1 4
KYWVS
-
-a-u
.=%
2y-'
G
e
--'
i
z
-c
!=#
f4 (L?
0L"J
.rc:
( ~ e f i n e dRecursively w i t h A u x i H a r m c t i o n
( R P ~ D (QUOTE)
(QUOTE (EXPR (WTBDA (Y L ) (corn ((mu L) M
CT dm ICOE
(mL)
(CDR ~)311)3?)
(RPUCD (QUOTE REVERSE) (QUOTE (EXPR A-(
(L) ( ~ m
1 ~1))))
ReVERSE
MI
(WCD
FElEME n s i n Propam Feature
(QDUTE PEVERSE (QWTE (EXPR (LMBDB(M) (PROG (U V)
(sETQ U M) R (CON0 ((NUL;t U) (RETU'P34 v))) (sETQ V (CUM
(cm u> v)) (smu
n)) Cw
K)))>>>
smmNCE
( m c ( ~ Q U SEUUEIUCE)
~
(QUOTE (m(WA
(L)
(m (0 v w)
(SETQ 'fJ L, (SET4 V (WJJ L)) (SETQ A NIL) A (COM) ((NULL U)
Imm 11 ( S ~ vQ (PIN u)) (SEE! U C D ~ L I S T V 0))
Imti
I L ~ 1~ ) )(GO A > ) ) ) ) )
TIMES usRecursion
(P-PLACD ( Q ~ T W ) (QUCITE(m(WA
N 1) MI
!T (PLE M (TIMES M (PLUS N
(N M)
(corm ((muu
MI^ 1)))13E))l)
Program Feature
(RPUCD ( Q - T ~
(QWTE ( ~ (m
m m ~(X N) (PROG (U v)
(SETQ t' 3) (EEIQ U 01 A (COPJD
V N) (RE"-CTTRPU*
u))) (SETQ lJ
@LIE x u) 1 (smo v (PLUS v 1) (GOA) 3 1 11
T m S us?
((a
Some Additional Functions for Baafc
>
PDP-1 LISP
In order to remove egmbla *om t h e QELIST, and reuae t h e
storage capacity that they previouslg occupLed, we use:
XbSlI stmda for nexpunge symboln.
REMOUE i a used as follous: Suppose we have a case where the
O&IST starts for example with G F OBLITT P X ATOM CAR CDR COND
CGNS
and we wish to delete F OBLTtT 9. We put int (RDdOVE
OBLTTT F Y), and t h e computer response is:
,....
G X ATOM CM
CDR COWS
,m*ee
In th3.s rag, b t h accidentally mistypd expressions and symbols no longer needed in t h e LISP system caa be removed f r o m sbr(~ote:
age, and from m y recollection w i t h i n the LISP system.
RMOPE will not operate on t h e first expression Zn the OBZTST,
but o w on the second and later expressions.)
In order to put Sn maehins-language subroutines, outside of
the storage used Qy LISP, name them, use them, and return from
them to LISP, we use:
The E D R (DEFosIT X A) deposlts the U s t of numbers X
s t a r t i n g at location A; its value is the first register b y o n d
the lint.
The E m (PUTSTIBR 17 X A) performs (DEPGSTT
X A), and then
sets up N (name) as a SUBR starting at A,
A n m p l e (ff LISP storage stops at
5477) is:
T h l s Inserts the Ilne-display program mentiond above i n t o t h e
computer starting at regiater 5500 a d makes it accessible td LISP
wiVh the name SROWLIIE.
The EXPR (DEFSUER N X) accepts an existing, i n s e r t d ,
machine-language subroutine s t a r t i n g at regfster X, gives it the
name N, and makes it accessible to LISP slUl the name N, For exarepls, the line-display program mentioned a b v e , if already in
the computer, could 5e named and called with:
The lest command Sn t h e subroutfne, instead of 6022a, should be
either ~ O O O Q ~Af
, LISP is to r e t m to the s t a r t i n g address 4 ) OF
600005, L-f LISP fs to continue t o the w a i t i n g loop.
If t h e A-LIST Fs wanted, establish GE!!ALIST with:
end then use:
Input comes ,*on the t p e v r f t e r If Fense a a i t c h 5 is up md
from " u h e tepe reaCler o % h n ~ ! L s e , I)Ut,mt is n a o r m d l y on the typewriter; however, SS 3 np causes punching {atA& c o r r e c t p f t p )
and SS 6 up indapendoatlp sup3yesses t m
. .out.
Each S-expression t,vped in 7~21_abe e ~ d t m t e dend i t s value
printed out. %like 7CW LISP, arguments of +fbnctions are a l s o
evdnated on t h e h p level; f o r example, to e~~a1ua.te
cons [A;B]
Tab, space, arld comma ere eqtxivdent;
Cmriage r e t u r n is Ignored:
Backspace causes d e l e t i o n o f everythhg t ~ ~ p esdb c e the
las". c o n t r o l character (pme~thesis,spncs/tab/com,
or period) ;
$n extra ~ p c e
must I
x t y p d to terminate the entire
expre sr2on;
Umer m d loner case s h i f t s mill be n o t d b.~tnot necessarLly i n s e d e d hta the symbol at that p f n t (far ext h e sequence u.c.,
LC.,u.c., A, space, produces a symhl with p r i n t n m e LC.,
A, l.c.1.
Alphabetic c'leracters should regularly and gene$nlly be
In lover case; and baaic function^, (such as CAR,
CDR,
,, ) contrary to L ? e + 3represeetation +&owho u t t h i s repor"&,a r e is ?DP-l LISP RC~URIJS
store. Jm
lower-case s p h 2 s (such a s CRT, C&
- 3 ; and then
taken In t o the system an6 p t OU* by t h e system as
loner-czse sp50Zs ;
It I s +
very
.* advisable to s t i c k +a" ~ ~ L E + A U % " format f o r
aL1 :-:cl, since t h e F&AD r o u t i n e -is not p w m t e e d t .
work on aqv other form, a l t h o w h it my;
Byp?~.en, W - " , i s n l e t t e r ant2 does not negate e followinc;
..
.-
nnvh~;
numbers r ~ osc t ~ f ?htegers;
.
to Ln?!l!~?; the ntmber -I
it i s neces~a_rfr50 type ~ 7 7 7 9 5 ;
There is fro I.?mitax! t h e l e n y t h of a ?p-'7.: nnv@;
The cbmacter overbar "'"
or v s r t i c ~ lS P ~1 " lll.. cexse
the neort c ) . s ~ c % eto
r be inserted In t 4 e gr!ahb nm-e
and consfdered a l e t t e r , regard-less of ah& I t
ackuallp. La ($ha
or l it;se!-f doer not q p t ~
ff
"-"
pq
Ln the ~ b name):
t
t h s atoms may I
s generated for
output f o r m a t t k g purpases w i t h names such as *tabn
o r nspacew.
ID prodnckg the output:
A carriwe r e t m fs automatically generated a f t e r ang
100(octal) characters not containing a carrZag;e re-
turn;
UnEke t h e 7
' W LISP output, no spaces m e p o d d e d b
fore and after t h e
of concatenation ( s b c e there
are no f l o a t b g - p o i n t numbers to be concerned with).
7.
Operation of the System
mst, zero core, to avoid unnsces sary difficulties.
Seccnd, put the binary tape in the reader, and press READLN,
t h e tape stops, Almost all of the tape will read
in; a d t h e machine will come to a halt. If you wish 7701 to be
t h e highest r e g i s t e r of free storage, and 300 to be the l e n g t h
of t h e push-donn List, press READIN once more. The machine w i l l
stop at address 4 . Turn up Sense Switch 5 (to control from the
typewriter). Press CONTINE.
Do nothing u n t i l
If you wish t o select the highest r e g i s t e r of free storage,
when the machine s t o p s for the f b s t t h e , with memory address
at
om&, put t h e number of the highest register of free
atorage (reccmmesded, SOGO t a 1750; p s s i b l e but not recommended,
4000 to 4777) In the Test Word switches and press CONTINUE. Then
put t h e length of t h e push down list (suggested 200 to 400) in
t h e Test Wcr2 switches, and press CCETLIITE. The rnacMne w i l l go
to address 4 , T m up Sense S n i t c h 5, and press CONTIl?UE, The
LISP system shurd.d be ~ e d fy o r use.
If t h e taps stops at an improper place, pt:U the tape back
a block, check for missing holes, md CCNTfhW,.
When t h e tape
stops at 4 , CONTIWEfng begins t h e READ-Eva-fRIKT cycle, STARTing at 4 a t aqv time and CGNTTEXEing is sGe; i n d e d , . it is the
only way t o a n n u l l most typing errors.
If t h e system "drops
deadn, the normal reccwse is
to stert
over.
Following is t h e assignment of t h e sense switches and
program flags:
t,he
Idiot t ~ a c e
r
Punch out
r
"3lP fa
No typeout
Used for type-in
Zero euppress in o c t d p r i n t
Letter in s p b l
Off in error p r i n t o u t
8.
Error Diagnostics
Error halts cause Identification of the error and typing
code in red on the typewriter, regardless of the
s e t t i n g s of S e ~ s eSwitches 3 and 6 ; an error usually sends the
system to address 4 . The l i s t of e r r o r indications follows:
of t h e e r r o r
icd
U8S
5ma
-I l l e g a l WND; returns value NIL and
Unbound ~ b o inl SET&; ~ e t u r n sNIL
- many arguments for a SUER (more
Too
contimes,
and continues.
than 3 ) ; ignores
e z r a Guments and proceeds.
Unbound p t o m i c gyaibol (followed by the form m e n %
ly being evaluated).
I l l e g a l p a r i t y ; halts with character in accumulator, CONTfNUE ignores character, but SS 5 m a p be turned
up, and t y p i n g used to prcl~idea replacement if'
desired.
U B D A variable list t o o gbort.
&went
...
l i s t (paired-with LAbBDA list) 400 ~ h o r t ~
storage gapacitg gcceeded. CONTINJElng 28 not
advisable, as it will probably call the a m e err o r a g a h in s h o d o r d e r , unless one p o m p t l y deh % e s several atoms having lengthy d e f i n i t i o n s
from t h e OBLIST.
Pushdown sapacity gxceeded.
-N o n - p e r i c grgumenl f c r arithmetZc, followed by the
argument in questicn; returns value zero and pro-
lts
at3
B ce
ceeds.
Argument n o t atom (for PRIM); returns hTL as usual
alld p ~ o c e e d s .
D i e s f o n overflow; retmns zero and proceeds,
9.
Some Remarka
b general, each character in each LISP expression is recognized by the ccmputer as 2 o c t a l d f g i t s called concise code, The
p a i r s of o c t a l d i g f t s a r e p a c k 4 3 p e r s at a t h e into the 6octal-digit registers o f the PDP-1.
If a LISP atcornhas a number
of characters mhich is n c ~ ta multiple of three, there w i l l be
spaces l e f t over, which are filled a r b i t r a r i l y with a f i l l e ~
character, 76 ( o c t a l ) . FQT exmple, a LISP word n l t h 7 chajractera such as Sh'ULER will be packed Into t h e e computer registers, S M A in one, L L E in a second, and R d o n g with Wo
filler characters in t h e third.
These three registers a r e linked by list structure. An example of a hypothetical. l i s t structure which might store SVlUER
if introduced as a defined function Into t h e LISP system w o u l d b
as, shown in Table 4:
Table 4
PDP-1
h g i a ter
Contents
405765
Meaning
pointer to 5765
Comments
5765 is the s t a r t of
the print
name of
pointer to p r o p
erty list
the atom SMALLER
5T73 is t h e a t a r t of
t h e property list
S M A
Concise code
pointer
5767 holds continuation
L L E
o f t h e list
Concise code
pointer
5771 holds contimuation
of t h e l i s t
Concise code and 2
ffller characters
nil
Terminator of l i s t
If SMALLFF1 were d e f b e d by the expression:
then the property list o f S U A D R would be (hypothetically) as
shown in Table 5 :
Table 5
Register
5773
5774
57'75
5776
5777
6000
6001
Gontents
Meaning
003271
ttEXPRfl
pointer
pointer
005775
005777
002651
003255
006001
UO6003
NIL II
r1
"wmAn
p o i n t e r to forking
pointer to (X 9 )
p o i n t e r ta (CGPJD
6002
006007
6003
6004
00770'I
nF
006005
.pointer
0077U
002651
002725
etc.
Te
"NILM
"CONDH
6005
6006
6007
....
Bn accepted LISP expressicn L is i d e n t i f l e d n i t h k
t h e mach-
i n e by t h e address o f the l i s t structtula fn storage which represents L.
The co~~tputer
evaluates expressfans using either machine subroutines (SUB% an6 FSUBRS) or LISP subroutines (FXWs or FTXPRS).
T h e conputer converts t h e resulting value iTlto concise codes,
and presents t h e value f o r output to t h e ccmputer-associated
Sgpewriter o r t h e punch,
Basic 31EP-1 LISP is very flexible:
I. The number of: r e g i s t e r s on the push-domn list can be
reasonabI2 m i e d between 200 and 402 octal. The number chosen
can vary accordhg to t h e m o u n t of recursion it is deeired t o
provide f o r .
2. The number o f registers of s t o ~ a g e(there is only one
kind of storage) can be varied from under lOOCi o c t a l to over 4000
o c t a l in a one-core machine. Ih t h e smallest extreme case,
LISP system can occupy only the registers up to about 4.000 octal;
in the other extreme case LISP can occum all t h e registers up
to 7750 octal, leaving 7751 to 7'777 for the read-in subroutine.
3, Machine subroutines m a y be located in core, and referred
to end used. These rnachlne subroutines should be located above
the highest register in free storage,
4 DDT (the D i g i t a l DEhgging ape) may be loaded An
registers 5500 up and LISP may be loaded beiovr so that the
f a c i l i t i e s of DM: a r e available f o r modifying LISP.
A care dump r o u t i n e may be loaded into 400 ( o c t a l ) registers above Free storage and used upon LISP,
5.
Part I1
1. Macro S y m b o l i c Program for B a s i c PDP-1 LISP
l i s p 3-23-64
: 1 fleld
def lne
define
l o a d A,B
move ( B , A
termln
extend
termin
count A,B
d e f lne
define
Iload A,B
2sp A
JmP B
law B
dac A
temnin
termin
define
define
init A,B
test K,P
sad (K
JmP P
law B
dap A
termin
temfn
i n d e x A,B,C
define
idx A
sas B
Jmp c
define
add A
dac A
termin
define
undex A
law i 1
termln
Index A, (B, c
step A I B , C
swap
define
rcl 9s
rcL 9 s
termin
termin
setup A,B
define
law 1 B
srni=spl 1
szm=sza sma-szf
spq=szm 1
dac A
termin
xy=O
exit
define
xx=hlt
clo=spa sma szo i-szf-szf
mul=540000
jmp R
termin
dlv=560000
define
move A,B
lac A
dac B
termin
start
~ i s pI n t e r p r e t e r 3-20-64,
part 1
0
0
dap rx
go,
hlt+cla+cli+7-opr-opr
stf 6
extend
dzm 77
law 77
dap avx
sub (1
d a p .+1
lac xy
dap ave+l
ave ,
iLg;%&
ex1 t
law pdo-I
dac p d l
/create number
lac n
dac ar2
caL rin
cal evo
caL p n t
crn,
110 ( J ~ P
rc3. 2 s
r a r Ps
dac 100
3mp C P f
JmP beg
/ p r i n t or punch character
PC,
sad (. 7. 6
J ~ Px
i o r lral
d a c r;cc
sad (pal. 77
CSI,
CSO,
rr1,
gal,
0
ao,
and (77
isi,
repeat 5,20
JmP
isp
jmp
law
cal
law
isi-2
/append word to p d l
PCC-3
pch
pcc-l
277
out
I100
dac pch
Law 252
Pwl,
0
dap pwx
fdx pdk
sad bfw
JmP qg.2
lac pwl
PCC,
/retrieve
word from pdL
/get
uwl ,
dap uwx
110 1 n d l
undex p d l
dac
XX
and (200
201- pcc
dac TO0
stf 2
jmp out
i pdl
vag,
numeric v a l u e
110 i100
cla
r c l 2s
sas ( 3
J ~ P913
idx 100
/get
lac i 100
rcl 8s
r c l 8s
ern,
JmP x
n,fro,
+1
347776
nil
two values
vad ,
define
error P
jsp err
F
termin
d l o a1
cal vag
dac a0
lac a1
eal vag
dac a1
jmp x
/garbage
c o l l e c t o r , non-compacting
PC 9
dap gcx
dio g a l
dio gfr
l a c gfr
sar 2s
s za
/pack character onto end of b u f f e ~
Oc9
r a r 6s
110 1 i s 1
rcl 6s
sad ( 7 6
jmp o c l
Lac
ior
cal
110
idx
Y ~ PgrFi-1
l a c ffi
sza i
JmP gco
lac 100
100
(767600
jda gfr
lac 1 l o b
jda gfr
l a c isi
cf'
to
tO
Idx i s i
dac a l
dio isi
lac i a l
dac i tO
s a s (1st-I
J ~ gP e l
l a w pdl+l
dac g1
dfo 1 a l
JmP x
ocl,
lac f g l
jda gFr
::;
d i o Iis1
J ~ Px
sad p d l
JmP g2e
J ~ gcp
P
/output rout l n e
out,
l i o 100
szs
36
tyo
3mP x
/error p r i n t o u t
err,
clf 6
dap
lac
dac
law
cal
stf
idx
erx,
em,
exit
erx
1 erx
ern
erm
pra
erx
/mark one llst
err,
d a p gfx
lac gfr
ral
I s
sPq
JmP gfx
lac p d l
jda pwl
l i o i gfr
idx gfr
l a c i gfr
spa
JmP
lor
dac
SPI
J ~
jda
fu
$add
i. gfr
gfd
P
pwl
dic g f r
jmp gfh
ril
I s
aso,
spi 1
JmP g f a
ase,
jsp uwl
dio gff
sas gfr
Jmp gfn
exit
dko go
dae g f r
i d x go
l a c 1 gO
spa
asr,
lio ar2
aa c,
d l o a1
as2,
idx
lac
dac
jmp
dac i go
.or ?add
sas n
J ~ Pgf'l
Jmp gfi
as2,
c o l l e c t o r , l i n e a r sweep phase
82n,
n
3mp x
lac 1 a t
dac tO
l a c 1 to
sad
sad 100
Jmp as2
J V fn
l o r ?add
153,
J ~ Px
lac a2
cal c n s - I
jmp evo
l a c a1
rir 1s
dac
c a l asc
Jmp ase
a1
1 a1
a1
as1
idx i pdl
l a c tO
Jmp x
l a c fro
/program feature
i d x gD
lio i go
PWS
dac gO
smi
sir
l a c pa3
jda pwL
l a c pa4
I s
dio 1 go
i d x gO
sas hi
JmP gpn
jda pwl
dm pa4
d i o ar2
110 i 100
i d x 100
lac i 100
dac pa3
dio arl
lio g a l
/appen8 program variables
l i o rre
sub (1
lac a r l
dac f r e
J ~ g2a
P
sad n
sad n
Jmp gcp-2
dac gfr
dac
lac ndZ
jda p w l
law gcp-2
dap gfx
Jmn efL
J ~ Ppg6
lac 1 arl
c a l cns-l
l i o ar2
c a l cns
dac ar2
ldx arl
Lac i arl
dac a r l
JmP PF.5
110 100
lac n
/expand go-list. (on a-list)
cal cns
l a c pa3
dac pa3
JmP Prx
dac a r l
sad n
pg? 3
9mP Pgo
lac 1 arl
cal car
dac art
sma
dl0 t l
lac i arl
c a l asc
JmP qa4
JMP pg9
lac a r l
lio ar2
cal cns
dac ar2
PE9,
gda pwl
lac a r l
cal c d r
cal car
idx a r l
lac i a r l
3mp pg7
lio tl
cal
jda
dio
idx
lac
dac
Jmr,
/process program
PgO,
l a c pa3
Pglj
sad n
J ~ pg2
P
l a c i pa3
cal car
/c DR
spa
JmP
l a c ar2
jda pwL
cdr,
l a c TO0
cal evo
J s p uwl
d i o ar2
c La
sas
pa4
3mp pg4
~ i d x pa3
lac i pa3
dac pa3
pg4 9
P82,
to
tO
uw
2 tO
car,
xY
rx 7
lac 1 100
jda uw
dio rx
l a c uw
ex% t
/ATOM
atm,
l a c i 100
sma
jmp f a 1
tru,
lac tr
SmP x
l a c pa4
jda a w
d l o pa4
jsp uwl
d l o pa3
l a c uw
JmP x
ret,
uw
/CAR
jmp
/terminate program
evl
d a c pa4
jmp x
lio n
d i o a1
sad a1
Jmp t r u
lac i a1
and 1 100
jmp fa1
l i o (-0
dio a0
l i o (and a0
SmP P I 1
lac 100
cal vad
sad a0
lgo,
caL elc
lio ( i o ~
a0
rdc,
J ~ PPI-2
f a x 100
sub (1
tim,
cal elc
110 (1
d l o a0
da,
dio i 100
3mP
110 (jmp tic
mP P I ~
/create atom
&a,
tic,
mu1 a0
scr I s
d l 0 100
add 100
jmp pl0-f-1
~ C S Y
JSP KC
l a c fre
lor ( a d d
dac 100
120 n
cnc ,
cna,
sas n
l a c fre
sad n
JmP g c s
dac to
l a c 100
dac i f r e
i d x fre
l a c i fre
d i o 1 fre
dac f r e
l a c tO
JmP x
jmp cna
JmP
tpr,
law 77
c a l pc
JmP P r x
pr1,
l a c i 100
sma
2:
Pis,
wlz,
pll;
~ 1r 2
cal e l c
110
dzm
dio
sad
JmP
dac
(add a0
a0
plo
n
pie
a1
l a c Ia 1
c a l vag
P~O,
~ l e ,
/LOGAND,
lga,
dac a0
lac a1
cal c d r
J ~ PP l 2
lac a0
jmp crn
LOGOR, TIMES
cal e l c
qgl
:p,:c
spa
JmP p m
and (-Amp
sad n
JmP x
dac a0
lac i a0
r a l 6s
cal P C
Lac i a0
rar 6s
cal
lac
cal
idx
lac
imp
pc
Z a0
pc
a0
i a0
Pya
lac 100
cal vag
Prn,
lac
cal
110
cal
110
dac
jmp
dac t l
clf 2
setup to,6
If0 t l
PTY,
sad
stf
cla
rcl
dio
(-1
xen,
tl
cns-1
ar2
efc
arl
100
efc
d i a a2
150 n
dl0 t l
3s
jmp xer
tl
sza i
law 20
sad ( 2 0
szr 2
ESmr
cal pc
l s p to
3m? p r v
3mp Prx
gs 1,
law g s t
dac tO
idx 1 tO
sad (12
2:law
: 71;
dac f tO
l a c i 100
m P9
Jmp tru
jmp fa1
/do
lor
cal
law
lor
a CONS Into f u l l word space
gst
cf
6700
gst+4
cf,
lio n
ral 6s
lor gst+3
C P ~ ,
dzm f f 1
jmp cnc
lio
to
c a l cpf
cal mka
JmP x
min,
cal vag
cma
gsn J
l a w 20
dac 1 to
sax t o
Jmp c r n
sas (@;st+5
jmP gsi
JmP W P
XW,
cal. vad
l a c tr
dac t1
lac a2
c a l vag
lio a0
d i o xei
l a c a1
lio uw
xei,
xer ,
Wt,
l i o a0
cla
SPl
clc
rcl I s
div a1
jn-p xen
d i o a2
cal c r n
dac ar1
lac a2
cal c r n
dac ar2
cal vad
J ~ q14
P
jmp crn
cncl,
dio ar2
dac a r 1
sad n
avc,
3ma
J W sa3
jda p w l
l a c ar2
jda pwP
Jmp 9 c 3
avt,
ar2
jsp
dio
lac
sas
uwl
law 77
and avc
sas 72
sad [7'1
dac c s i
lac Iarl
c a l car
c a l evo
jda uw
dio
xx
sad csi
Jmp ava
jmp x
ar1
uw
~ W Y
,Imp cay
idx a r l
l a c 1 arl
jmp c d l
i n d e x avx,ave,avx
i n i t avx,buf
dap avs
avn,
rpa
r c r 9s
ma
lac
cal
caL
jmp
cay,
StP,
1 arl
cdr
car
rcl 9 s
avs ,
evo
cal vag
hlt+cli-apr
Amp Prx
avi ,
dio xy
s t e p avs,dio 100,avn
jmp ava
11
jmp ava
tYi
c1r 1
szf
d i o avc
jmp a v t
~ W Y
c a l vad
clo
sub a0
/terminate p r i n t name
mh,
SZO
idx is1
sma
d a c tO
110 n
d i o is1
jmp fal
Jmp tru
ava,
cli
am9
l a c 1 tO
d i o 1 to
Jmp x
a character
s z s 50
jmp a v i
l a c 77
sza i
jmp avr
r c l 9s
d i o i avx
ral 2 s
sPq
jmp nva
r a l 7s
ior (rap
avc
l a w 525
dac
sas cso
cal oc
lac a l
/get
law 72
/pack character Into p r i n t name
pak,
pkl,
dap p k l
l a c csi
sad cso
Amp pk1
dac cso
c a l oc
Law
dac 100
YmP
start
oc
L i s p interpreter 3-20-64,
pnt,
pnl,
dac a0
dac a1
cal tpr
part 2
rid,
spf
jmp rip
riq,
i d x arl
lac 1 arl
d i o i arl
dac rlg
j s p rhe
jmp rlx
ri33
dac r7.9
jrnp 133-2
ri2,
l a c ( jmp r i 3
l i o 1 a0
S P ~
JmP Pn2
l a w 57
pn5,
c a l PC
lac a0
c a l cdr
jda pwl
lio i a0
d i a a0
pn2,
pn6,
m P pnl
l a c a0
jsp uwl
cla
d i o a0
SP 1
jda pwl
law r l c
/read symbol and terminator
rhe,
clf 5
dzm t l
law isi-1
dac i s i
dzm i s i - l
S ~ PPn7
110 i a0
spi. i
law 7 2
dac cso
Pn5
l a c a0
sad n
Jmp
law
cal
lac
cal
pn3,
pn7,
rhn,
IJn3
73
cal ava
dac 100
110 c s i
rir 3s
pc
SP 1
jmp r h b
s a d (33
a0
prl
cla
sas
law55
cal PC
Jmp pn6
cal PC
lac a1
JmP a0
dap rhx
57
[55
JmP rye
sad (73
sad
rhb,
Jmy: rye
sad ( 5 6
JmP r Y o
sad (77
jrnp rhn
8 ,
rig,
in,
ris,
sad (36
l a c rx
cla
sza i
dzm r i g
sad
dac arl
JsP rhe
sza 1
jmp rlc
sad ( 57
jrnp r i a
s a d ( 55
J m p rib
jmp rye
(75
jmp rhe+l
law i 7
a n d 190
sza i
J ~ Pryn
lac 100
sad ( 2 0
JmP rYn
rm,
stf 5
cal pak
ryn,
jmp r h n
ryj,
ryo,
dac t l
l a c 100
lac t l
cal crn
jrnp rhr
cal ava
jmp
W-P+~
r
dac r i 8
cal m h
110
n
rhx,
JmFJ YYJ
lac i l o b
rys,
dac to
sad n
/,
ric,
dac t l
ryw,
dac a1
sas n
d i o tO
cal cdr
110 t o
rle,
swap
cal cns
i d x arT
l a c tO
sad t l
jmp r h h
ryt,
lac a r l
rio,
JmP r y t
ryd,
exit
SPi
jmp ris
spa
Jmp r i 4
3 m ~r Y c
lac i t1
rig
to
space tab
lac i tO
dac ti
l a c a0
dae tO
lac r i g
l i o ri8
dlo
dac a0
sad
clc
lit0 (131-1
d l a 1st
rhr,
rye,
l i o 100
Lac t l
r i r 3s
r c l 39
dac Ia r l
dac arl
Jmp r i s
i d x tO
lac i t O
3mP rJ's
rib,
lac t l
sad n
JmP r y d
l a c i a1
l a c tO
jmp ar3.
ria,
d i o tO
lac a r l
sas 1 t l
j d a pwZ
lac i t l
dac t l
i d x a1
lac k a1
3-43 ryw
ryc,
rhh,
lac a0
c a l mka
l i o 1 lob
cal cns
dac i lob
lac 2 tO
jmp r b r
l a c tO
spa
riy,
riz,
jmp riz
cal cns-I
dac arl
l i b arl
cal rdc
j m p ris
dzm a r l
Jmp ris
rib,
pix,
idx a r l
lac 1 arl
lio n
dio i arl
evc,
lac uw
dzm a r l
cal. cns
jmp evo
jda uw
dlo a r l
ril
lac
SP 1
jmp
lio
lac
I s
/x is atomic : search a-llst,
uw
arl
uw
art
then p-list
el,
cal asr
Jmp ev5
cal c d r
l a c uw
JmP riY
d i o ar2
evo,
dac ar1
l a c art
cal cdr
sad n
5mp sa8
dac tO
lac i tO
sad l a p
/evaluate c u r r e n t expressfon
ev2,
l a c arl
s z s 10
cal pnt
lac i arl
jmp ev6
i d x tO
l a c i tO
jmp ev4
spa
Jmp e l
dac tO
lac i tO
spa
JmP e p
/car[x] n o t atomic
sad 1la
Jmp
lac
jda
lac
jda
lac
e3
ar2
pwl
arl
pwl
ia r l
cal evo
jsp uwl
dio a r l
Asp uwl
d i o ar2.
jrnp evc
/evaluate function name and try aEain
ev3,
lac
cal
jmp
cal
F arl
asr
qae
cdr
ral I s
spa
jrnp en1
l a c arl
s za
jrnp r i o
evl,
idx a r l
110 1 art
l d x tO
l a c 2 tO
cal c a r
JmP ex
enl,
l a c arl
/ex ft from EVAL
ex,
s z s 10
JmP p n t
J ~ xP
/car[x] is atomic : s e a r c h
i t s p-list
e2,
l a c tO
ev8,
cal cdr
sad n
Jmp ev3
lac i uw
sad l f s
jmp e f s
sad I s b
gmp e s b
sad Ixp
Jmp exp
sad Zfx
jmp efx
esb,
Jmp ev8
efs,
idxuw
lac i u w
cal car
c a l vag
idx uw
1 uw
lac
cal
jda
lac
cal
110
cal
idx t l
lac 1 t l
car
pwl
arl
cdr
arP
elc
jmp e l s
/evaluate argument list : a l s o LIST
dac exx
idx arl
lac i a r l
l i o ar2
elc,
sad
Jmp x
dac a r l
dTo ar2
exy,
exx,
lac ar2
dac 100
d m arl
0
J ~ ex
P
jda p w l
lac a r l
dzm arl
ele,
efx,
idx uw
lac i uw
cal c a r
J d a pwl
lac a r l
cal cdr
cal efq
jda pwl
l a c ar2
c a l efq
cal cns-l
efq,
efc,
jsp u w l
cal e r c
jsp uw3.
cal efc
dac arl
jmp ev2
c a l cns-1
l i o to
l a c lqu
dac 100
jmp cns
dio100
110 t o
3mp cns
/function 1s EXPR
exp,
i d x uw
lac 1 uw
dac a1
idx
lio
dzm
lac
arl
i arl
arl
1 a1
c a l cns
jmp evo
110 1 pdl
dac tO
jda pwl
lac a r l
jda pwl
lac i tO
cal e v l
cal cns-1
Asp u w l
dio a r l
110
to
l a c art
sza i
d i a arl
idx ar1
sub (1
sas tO
120 1 arl
l a c tO
dac i a r l
dac arl
Zdx to
dl0 i to
jsp uwl
swap
cal cdr
=as n
jmp ele
jsp u w l
d i o ar2
idx arl
lac i a r l
lio n
dZo 5 arl
dac a r l
s z s 10
cal pnt
l a c arl
J ~ xP
els,
dac a r l
cal cdr
l i o ar2
cal e l c
dac arl
jsp uwl
jsp u w l
swap
c a l vag
dac exx
init esa,aO-l
dia a0
jsp u w l
dio ar2
/store arguments r o r subroutine
eda,
lac arl
sad n
epl,
jmp exs
i d x esa
s a d (dac a731
JmP ep2
lac a r l
sad n
jmp qf3
lac i a0
110 i arl
cal cns
Lio a r 2
c a l cns
Jm qa7
lac i a r l
esa,
1acaO
sad n
dac xy
idx arl
lac i arl
dac arl
dac ar2
idx a0
jrnp eda
lac i a0
exs,
lac a0
dac a0
I d x arl
lac i a r l
dac a r l
JmP e p l
110 a1
J ~ PexY
/caar[x] = LAMBDA
e3,
lac a r l
j d a pul
lec ar2
jda pwl
lac 1 arl
cal c d r
caL c a r
ep2,
sas
arl
J ~ Pq f 2
jsp uwl
dio a r l
lac i a r l
cal cdr
jda pwl
cal cdr
c a l car
lac a r l
jmp evo
/error halt entries
qa3,
lac n
s a s pa3
J ~ xP
e r r o r f l e x icd
lac n
JmP x
qa4,
e r r o r flex uss
J'undeflned atom in SETC
J ~ PPY X
qa7,
error f l e x t m a
/ t o o many aPgs
Jmp exs
qa8,
error f l e x uas
clr 6
lac arl
/unbound atomic symbol
cal p n t
cal t p r
j m p go
qc3,
error flex I l p
law 377
and avc
hlt+cli-opr+l
Jmp ava
/illegal parity
qf2,
e r r o r flex I t s
/LAMBDA list too short
J ~ P&Q
qf3>
error f l e x ats
/arglist t o o s h o r t
J ~ go
P
qg2,
error flex pce
/pushdown cap. exc.
JmP go
qgl,
error f l e x s c e
JmP go
qi3,
l a c 100
/storage cap. e x c .
dac a2
error f l e x nna
clf 6
lac
cal
cal
jmP
/non-numeric arg f o r arith.
a2
pnt
tpr
qix
qi4,
error f l e x ovf
qix,
c l a 16
jmp crn
qpl,
error f l e x ana
prx, fa1 ,
J ~ xP
start
lac n
/arg non-ator f o r PRINl
1isp storage 3-2 3-64
rcr I s
ril I s
d i o hi
law end
dac t o
canstants
/special symbols
/relocate storage
lqu,
Ila,
quo
lam
aPv
lap,
lob,
obl
Isb,
sbr
lfs,
lxp,
xpr
Ifx,
rrs,
dac
fxp
bfw,
tr,
pdl,
pdo-1
arl,
nil
nil
nil
ar2,
pa3,
pa4,
to
l a w I4
add i tO
sma
j s p rrl
jsp rnvs
law i 1
add tO
dac tO
sub frl
spa
jsp rrl
fsb
nil
frs-4
fre,
law I l
add to
jsp mvs
lac tO
sas o f s
jmp rrs
l a w ssy
dac tO
/load
storage parameters
lio mz
cl c+hl t-opr
/~eLocate s p e c i a l registers
rss,
lat+cli-opr
and a d
dac hi1
l a c i lob
hlt
Ada g f r
lat
and ad
dac I p l
law i end
add hi1
spa
3mp Pdo
law i frs-pdo
add Ipl
SP a
jmp PdQ
l a w 1 pdo+end-frs
add h i 2
sub l p l
spa
J ~ pdo
P
law .go
dap g c x
J ~ g2e
P
/relocate 1 word, move 1 w o r d
rrl,
stu,
up registers
law
add
dac
110
pdo
Ipl
fro
hi1
dap
lac
and
sub
spa
jmp
lac
rrx
i to
ad
ofr
rrx
i tO
add f r o
rrx,
rnvs,
/set
jsprrl
idx t o
sas e s y
jmp rss
sub o f s
dac i tO
jmp
daprnvx
lac tO
add fro
sub o r s
dac t l
l a c f to
dac 1 tZ
fsubr f6
subr f7
subr f8
subr f12
subr f l 3
ad,
177777
1~1, 0
hil,
9
ofs,
frL,
esy,
ofr,
fsubr TI4
subr f18
subr f21
subr Y24
subr f26
subr f27
subr f32
-0
frs
fws
pdo
pdo
define
* +2
add X
subr f33
subr f 3 4
f s u b r f50
s u b r f51
subr f 5 2
fsubr f 5 3
subr f54
fsubr f60
fsubr f61
f s u b r f62
fsubr f63
s u b r f0O
subr M1
item X
+3
nil
termin
def i n c
next A
.+I
termin
define
subr F
.+2
add F+2
sbr
+7
.+1
.+I
subr fa3
nil
termin
define
.
add Fi-T
+2
fsubr rb5
item f40
item f42
item f43
item r44
Item f45
item f46
fsubr F
+7
.+i
fsb
.+I
nil
termin
def lne
aPv
A
next t
next obj
subr fb2
subr f b 3
subr fb4
apval A
+1
ni 1
temnln
nil
nil,
add 1-38
kz
t,
add f37
kt
kz,
apval nil
kt,
apval t
define
opr A
ternin
d e f lne
obj,
add fb0
.+I
obl,
ols
ni L
.+1
X
temi n
define
X
naml Y
termin
\object list
define
ols,
subr f 2
subr f 3
subr f4
X
nam2 Y ,Z
term1n
nil
Xoca A
0
naml X
ni 1
/SUBRS and FSUBRs
72,
loca atm
nam;! flex ata,767644
f3,
loca car
naml flex car
r4,
loca cdr
naml f l e x c d r
f6,
locacnd
n&
f7
loca cns
nam2 flex con,767622
f8,
loca eqq
naml 766550
f12,
loca gsm
nam2 f l e x gen,f lex sym
r13,
loca g r p
nam3 rlex gre,flex ate,765147
f14,
loca elc
nam2 f l e x 1is,767623
fl8,
loca min
n m 2 flex 111111,762422
f21,
loca nmp
nam3 f l e x num, rlex ber ,767647
f24,
locastp
nam2 flex sto,76764?
f'26,
l o c a prl
nam2 f l e x pri ,764502
f27,
loca qot
nam3 flex quo,flex tie,764523
f32,
l o c a rda
nam2 f l e x rp1,flex aca
r33,
loca rdc
nam2 flex rp1,flex acd
f00,
loca xeq
naml flex xeq
f01,
loca ern
naml flex loc
f34,
loca t p r
nam2 f l e x ter,flex p r i
f50,
loca pm
ram2 flex
flex con, 767664
pro,767667
nam2 flex ret ,f l e x urn
f52,
loca goe
naml 766746
T53,
loca stq
namp flex xet,767650
f54,
loca asa
nam2 f l e x sas,flex soc
fb2,
Loca r i n
slam2 f l e x rea,767664
fb3,
loca e v l
nam2 flex eva,767643
fb4,
loca p n t
nam2 flex pri,764523
fb5,
loca car
namp flex quo, 762365
fa3,
loca nu1
nam2
rlex nu1,767643
1'68,
loca pls
n&
f l e x pLu,767622
f61,
l o c a tlm
nam2 f l e x tim,766522
f62,
localgz
nam2flexlog,flexand
f63,
loca Lgo
nam2 f l e x 1og,764651
/miscellany
f38,
naml f l e x n i l
f40,
nam2 f l e x l a m , f l e x M a
f42,
nam2 flex apv,766143
f43,
nam2 f l e x sub,767651
f44,
nam2 r l e x exp,767651
f45,
nam2 flex fsu,766251
f46,
n m 2 fLex fex,764751
fbO,
nam2 flex ob1,flex 1st
f37,
naml 767623
end,
start pdo
2 . A l p h a b e t i c L i s t i n g o f D e f i n e d Macro Symbols
Following i s an a l p h a b e t i c l i s t i n g o f the d e f i n e d symbols
used i n t h e macro symbolic program f o r B a s i c PDP-1 LISP. The
l i s t i n g shows e i t h e r t h e numeric meaning of the instruction o r
t h e numeric register ( o c t a l ) i n w h i c h t h e subroutine commences.
For t h e mnemonic derivation o r significance o f t h e symbols,
see S e c t i o n 4 below.
el0
cna
cnc
cnd
cns
cpf
crn
csi
CSO
a2
ad
aPv
ari
ar2
a0
as1
as2
asc
ase
aso
asr
atm
ava
avc
ave
avi
am
avr
avs
avt
avx
beg
bfw
buf
car
cdl
cdr
C ~ Y
cf
dba
dc c
dia
div
dra
e l
e2
e3
eda
efc
ef'q
efs
efx
elc
ele
els
enl
end
epl
ep2
eqq
em
ern
err
erx
esa
esb
esY
ev2
ev3
evc
evl
evo
ex
exP
ffi
exx
fOO
exs
rre
rrl
fro
Irs
rO1
rsb
Pws
gfl
gf n
gfr
gfu
gfx
go
gee
gyp
go
gsi
gsm
gsn
gsP
$st
hi
hi1
ioh
isi
kt;
kz
l a1
Inm
1ga
lgo
lia
1~3-
min
mka
mkn
mu1
rnvs
mvx
mz
n
1191
mP
nu1
ob j
obl
OC
oc3,
ofr
ors
01s
out
p-33
pa4
pak
qix
PC
qpl
quo
PCC
pch
pdl
pgl
pg2
qot
rda
rdc
pet
rhb
rhe
rhh
rhn
rrhr
rhx
ri 2
ri3
ri4
ri8
rig
ria
~ i b
ric
rid
rie
rin
rio
riq
ris
sPq
s SY
stp
stq
rix
stu
riy
swp
szln
riz
rrl
TPS
t
ti
rrx
tic
FSS
tim
XX
'
tpr
rye
ryd
rye
ryJ
tr
trw
to
uw
n n
uwl
WQ
Ul6X
WP
rys
v3d
va g
ryt
ryhr
xei
xen
xeq
ryy
sbr
sr?t
sm5
sni
xer
xpr
xy
3 . Numeric L i s t i n g of t h e D e f i n e d Macro S y m b o l s
Following i s a l i s t i n g i n numerical o r d e r b y register
number o r o t h e r meaning o f t h e defined s y m b o l s i n the macro
symbolic program f o r B a s i c PDP-1 LISP.
XY
go
beg
tO
ti
&O
d-
hi
csi
CSO
Yfi
gal
isi
ai
a2
P W ~
Pwx
UW
uwL
UWX
buF
ave
csn
PC
PCC
pch
vag
OC
P E ~
ret
oci
gee
out
stq
cdr
c2r
vad
err
erx
errn
ern
?PO
n
gc
e;c0
WP
rx
~trn
tm
nu I.
eqq
rdc
rda
mka
cns
cnc
cna
rig
rin
ris
t im
tic
gc s
tpr
P P ~
rid
r w
ri3
ri2
ylhe
rhn
rhb
ryp
ryJ
WQ
rye
cpf
min
xeq
xei
xer
xen
gsm
gsi
&SP
gsn
qot
end
cdl
cdy
stp
gyp
ava
avx
avc
avt
avr
avn
avs
W S
w
ryd
rgrt
wc
rhh
ryn
ryy
rhl?
rhx
ric
rio
ric
ri4
ria
riy
riz
rib
rix
evl
evo
ev2
ev3
avi
evc
mla?
pak
e l
ev5
ev4
ev6
en3.
ex
e2
ev8
efs
exY
exx
stu
FX'S
efx
SSS
efq
efc
rrl
exp
esb
e3c
ele
els
edn
esa
exs
e3
epl
ep2
"2m
r'rx
rnvs
mvx
ad
1 ~ 1
hL1
MZ
ofs
r ~ l
esy
ofr
~ F S
ni 1
t
kz
kt
ow
obl
01s
quo
lam
a Pv
sb-s
qix
wl
fa1
rnr
rsb
f XP
f2
fws
SSY
lla
lap
lob
lsb
ifs
IXP
lfx
f63
'2"
f O
f42
f4
f45
f46
fbO
f37
end