Вы находитесь на странице: 1из 46

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

Вам также может понравиться