LINC_Vol_16_Section_3_LAP6_Handbook_May67 LINC Vol 16 Section 3 LAP6 Handbook May67

LINC_Vol_16_Section_3_LAP6_Handbook_May67 LINC_Vol_16_Section_3_LAP6_Handbook_May67

User Manual: LINC_Vol_16_Section_3_LAP6_Handbook_May67

Open the PDF directly: View PDF PDF.
Page Count: 65

WASHINGTON
~
UNIVl<JRSITY
~~
ST.
LOUIS.
MISSOURI
63110
COMPUTER
SYSTEMS
LABORATORY
TELEPHONE:
AREA
CODE
314
724
SOUTH
EUCLID
AVENUE
FO\
~7356
June
9,
1967
Memo
to:
Holders
of
LINC
Hanufacturing
Description,
Volume 6
From:
Wesley
A.
Clark,
Director,
Computer
Systems
Laboratory
Enclosed
is
section
3
of
Volume 16
of
the
LINC
documentation
-
Pro~amming
and
Use.
May, 1967
LINC
Volume
16
Programming and
Use
I
Section
3
LAP6
HANDBOOK
Mary
Allen
Wilkes
Computer
Research
Laboratory
Washington
University
724
South
Euclid
Avenue
St.
Louis,
Missouri
This work
was
supported
by
the
Division
of
Research
Facilities
and Resources
of
the
National
Institutes
of
Health
under
grant
FR-218.
Requests
to
repro-
duce
this
document,
in
whole
or
in
part,
should
be
directed
to
the
author.
History
and
Acknowledgments
Until
1965
the
standard
LINC
had
only
1024 words
of
memory.
Its
assembly
programs
include
LAP3,
written
in
1963,
which
could
handle
the
fundamentals
of
program
preparation
and
storage
but
lacked
the
automatic
filing
capabilities
of
the
widely
used
LINC
Utility
System
written
by
McDonald,
Davisson,
and
Cox
in
1965.
Doubling
a
l024-word
memory
produces
another
small
memory,
but
at
this
level
the
increment
is
dramatic;
it
is
not
possible
to
handle
the
file
copying
and
editing
techniques
of
LAP6
on
the
smaller
LINC.
Discussion
of
the
specifications
for
a
new
assembly
program
be-
gan
in
January,
1965 .
Visits
to
several
biomedical
research
laborato-
ries,
where
the
LINC
is
in
application,
were
made
in
an
effort
to
es-
tablish
some
consensus
of
users'
needs.
All
of
us
who
use
LAP6
are
indebted
to
the
many,
especially
to
participants
in
the
LINC
Evaluation
Program,
whose
suggestions
and
LINC
experience
greatly
influenced
its
formulation.
The
technique
of
handling
the
LINC
tape
to
accomplish
the
editing
facility
is
the
contribution
of
my
colleagues
Mishell
J.
Stucki
and
Severo
M.
Ornstein,
and was
proposed
in
discussions
during
March
of
1965.
Their
careful
thought
has
saved
LINC
users
hours
of
time.
Colleagues
at
Washington
University
have
not
only
made
valuable
suggestions,
but
fearlessly
have
faced
unproven
versions
and
forced
the
flaws
to
surface.
Any
"guarantee"
of
reliability
is
largely
due
to
them.
Any
resemblance
between
LAP6
and
an
errant
program
known sometimes
as
"LAP5"
is
purely
intentional.
The
name
has
been
changed
to
protect
the
innocent.
To
promise
the
System
is
a
serious
thing.
S~ren
Kierkegaard,
PhiZosophicaZ Fragments
Abstract
LAP6
is
an
on-line
program
for
the
2048-word
LINC
which
uses
the
LINC
keyboard
and
scope
for
communication
with
the
user,
and
the
magnetic
tapes
for
storage
and
working
area.
It
may
be
used
for
preparation
and
editing
of
any
character
string
(manuscript)
or
specifically
for
LINC
program
preparation.
For
general
manu-
script
preparation
not
all
of
section
V and none
of
section
VI
will
be
of
interest.
LAP6
handles
the
manuscript
display
in
such
a
way
that
any
portion
of
the
manuscript
can
be
displayed
at
any
time
and
edited
directly
by
s
imply
adding
or
deleting
lines.
Changes
are
shown
integrated
with
the
manuscript
display
as
the
user
types.
Meta
commands
provide
automatic
filing
of
manuscripts
and
programs on
LINC
tapes
and
handle
the
conversion
and
memory
load-
ing
of
LINC
binary
programs.
Debugging
aids
include
displays
of
symbol
tables
and
errors,
and
repeatable
access
to
the
manuscript
display
for
editing
and
reconverting.
Meta
commands
may
be
added
by
the
user
to
suit
his
needs.
The Handbook
describes
the
"Standard"
configuration
of
LAP€)
when
referring
to
specific
tape
block
numbers
or
block
areas
(manu-
script
working
area,
file
area,
etc.).
LAP€)
may, however, have
other
configurations
as
described
in
the
"Notes."
LAP6
HANDBOOK
I.
II.
III.
IV.
V.
Contents
Operating
Procedure.
Display
Format
.......
.
Keyboard
Input
..
Files
........
.
Meta
Commands
......•.
SAVE
MANUSCRIPr.
ADD
MANUSCRIPT
•.
DISPLAY
INDEX
...
COPY
MANUSCRIPT
..
COPY
BINARY
..
COPY
FILE
..
CONVERT
.••
DISPLAY
SYMBOLS.
SAVE
BINARY
...
EXIT
•.•....•.
LOAD
BINARY
...
FREE
••
COPY
•.
PRINT
INDEX
..
PRINT
MANUSCRIPr
..
LIST
.............
.
VI. Conversion
Conventions.
Bibliography
•.....•.•.........
...
-.
Chart
I.
Standard
LAP6
Tape
Organization.
Chart
II.
LAP6
Keyboard
Code
.•...•••...••....
Chart
III.
LAP6
Instruction
Mnemonics and Codes.
Chart
IV. Reasons
for
NO
.•
LAP6
Operation
Summary.
Notes
Efficient
Handling
of
LAP6.
Conversion
Procedure
...
Exiting
...................
.
Working Area Length
......•.
LAP6
Manuscript
Structure
..
Copying
LAP6
Tapes
..
Filing
Limitations
...
Index
Structure
•....
LAP6
Configuration
..
Various
Failures
•.
Tape
Stopping.
Bad
Block
......
.
Tape
Missing
••
Damaged
or
Lost
Manuscript
..
Damaged
Index
.....
Damaged
File
Area.
.1
.1
•••••••
2
.
..
· . · · · 5
.
.7
· · · 7
·
..
8
·
..
8
·
.10
·
.10
.10
·
.11
.12
.
........
12
...
13
.13
...
14
· .15
.16
.16
.16
· .19
.26
.27
.•••••.••
28
.29
.
•..
30
.
...
31
1
1
1
1
2
2
3
4
5
6
6
?
?
8
. 8
•••
9
16-3
LAP6
HANDBOOK
I.
Operating
Procedure
A.
LAP6
occupies
blocks
300-347
of
a
LINe
tape.
To
operate:
1.
Mount a
LAP6
tape
on
unit
O.
2.
Read
blocks
300
through
307
into
quarters
.0
through
7:
Set
LEFT
SWITCHES:
RCG
(code
701)
Set
RIGHT
SWITCHES:
7300
Raise
the
DO
TOG
INSTR
lever.
3.
When
the
tape
stops,
push
START
20.
This
is
the
only
console
start
or
restart
procedure.
LAP6
is
ready
to
accept
keyb
oard
input.
B . At
the
keyb
oard
you
may:
1.
2.
3.
4.
Ask
LAP6
to
lido
something"
by
stating
a
meta
command.
Add
or
delete
a
manuscript
line.
Change
the
display
to
look
at
different
manuscript
lines
with
a
locate
request.
Rescind
any
of
the
above
while
they
are
being
typed
by
striking
the
delete
key,
marked
del
on
the
keyboard.
C.
At
the
console
you
may
push
START
20
to
erase
the
current
manuscript.
II.
Display
Format
All
manuscript
lines
and
meta
connnand
statements
are
displayed
as
they
are
typed.
All
keyboard
characters
(see
Chart
II)
are
displayed
except
EOL,
del,
and
CASE.
A.
Manuscript
lines
are
automatically
centered
around
the
middle
of
the
scope
and
are
displayed
with
"line
numbers"
assigned
by
LAP6.
The manu-
script
lines
appear
at
the
right
of
the
corresponding
line
numbers.
1.
Six
manuscript
lines
are
normally
displayed.
This
may
be
varied
between
1
and
15
lines
by
rotating
knob 7 on
the
display
module.
2.
Lines
which
begin
with
either
a number
sign
(H)
or
a
left
bracket
([)
are
automatically
positioned
one
space
to
the
right
of
the
line
number.
All
other
manuscript
lines
are
positioned
5
spaces
to
the
right.
3. A
marker,
_,
appears
with
the
current
line
(~)
on
the
right
of
the
scope
and
marks
the
last
usable
slot
on
the
scope
line.
Manu-
script
lines
which
are
too
long
to
fit
on one
scope
line
(more
than
20
characters)
are
automatically
carried
over
to
the
next
scope
line.
Breaking
words
between
scope
lines
can
be
avoided
by
spacing
over
to
the
marker
when
the
next
word
is
too
long
to
fit
in
the
remaining
space.
1
Keyboard
Input
B. Meta
command
statements,
preceded
by
the
META
arrow,
appear
automatically
at
the
bottom
of
the
scope
without
a
line
number.
III.
Keyboard
Input
A.
Some
keys on
the
keyboard have
been
assigned
both
upper
and
lower
cases.
The
characters
in
the
middle
of
the
keys
are
lower
case
(see
Chart
II),
and
LAP6
normally
interprets
the
keyboard
as
lower
case.
To
select
upper
case,
strike
CASE,
and
then
strike
the
upper
case
character.
The
shift
is
not
permanent;
it
is
good
for
one
character
only.
LAP6
returns
to
lower
case
automatically.
B
META
COMMANDS
~
1.
A meta
command
is
one
of
17
special
directives
to
LAP6.
It
is
ex-
ecuted
by
LAP6
at
the
time
it
is
stated
and
erased
f:rom
the
display
at
that
time.
16-3
a.
The
upper
case
character
META
produces
an
arrow
at
the
bottom
of
the
scope.
To
state
a
command,
type
the
META
arrow and
the
command,
followed
by
any arguments
the
command
may
require.
Terminate
the
statement
by
striking
the
TrEnd
of
Line"
key,
EOL.
1)
The
command
is
executed
when
the
terminating
EOL
is
struck.
2)
Illegal
command
statements
are
deleted
automatically.
Try
again.
3) A meta
command
must be
stated
on a
line
by
itself,
i.e.,
a
line
beginning
with
the
META
arrow.
It
cannot
be
sta:ted
while
entering
a
manuscript
line.
C.
MANUSCRIPr
1.
A
manuscript
is
a
collection
of
manuscript
lines
retained
by
LAP6
as
a permanent
record
of
keyboard
input.
A
manuscript
can
be
edited,
saved
in
a
file,
copied
from
file
to
file,
or
otherwise
manipulated.
a.
b.
c.
One
quarter
of
the
LINC
memory
is
used
to
collect
manuscript.
As
the
quarter
is
filled,
it
is
saved
on
the
LAP6
tape
in
the
"manuscript
working
area"
beginning
in
block
350
(see
Chart
I).
512 keyboard
characters
fill
one
block.
LAP6
will
accept
up
to
45
1
blocks
of
manuscript.
Additional
manuscript
is
ignored
unt~2
the
size
of
the
manuscript
is
reduced.
The
manuscript
in
the
working
area,
accessible
to
the
scope and
keyboard,
is
called
the
current
manuscript.
16-3 Keyboard
Input
2.
A
manuscript
line
is
any
combination
of
keyboard
characters
(Chart
II)
excluding
del
which
does
not
constitute
a
meta
command
or
locate
request,
and
which
is
terminated
with
EOL.
An
EOL
by
itself
does
not
constitute
a
manuscript
line
and
will
be
ignored
by
LAP6.
a.
A
manuscript
line
may
not
exceed
512
struck
characters.
This
includes
spaces
and
the
terminator.
It
does
not
include
CASE.
Lines
are
terminated
with
EOL
by
LAP6
automatically
after
the
511th
character
is
struck.
b.
LAP6
assigns
a
line
number
to
every
line
entered.
The numbers
are
sequential,
beginning
with
1,
and
octal.
c.
LAP6
will
accept
no more
than
7775R
manuscript
lines.
Additional
lines
are
ignored
until
the
size
of
the
manuscript
is
reduced.
56
ADD
9J
57
#6K
STC
p+5
60
JMP
3Y-2
61
LOA
;
62
MTB
63
STA
Example
l~
Manuscript
Display.
3.
Current
Line
a.
The
last
line
number on
the
scope
(~,
63
above)
is
called
the
current
line
number.
It
identifies
the
manuscript
line
currently
being,
or
about
to
be,
added
to
the
manuscript.
At no
time
during
the
manuscript
display
does
the
manuscript
not
have
a
current
line
number.
b.
The number 1
appears
as
the
current
line
number whenever
the
current
manuscript
is
erased
by
pushing
START
20.
After
that
the
next
current
line
number
appears
every
time
EOL
is
struck
in
terminating
a
manuscript
line.
In
Example 1 when
the
current
line
63
is
terminated
with
EOl,
all
the
lines
will
move
up one
space,
line
56
will
disappear
and
64
will
appear
as
the
new
current
line
number.
3
4
Keyboard
Input
D.
LOCATE,
REQUESTS
1.
The
manuscript
is
said
to
be
"located"
at
the
current
line.
For
reading
or
editing,
it
may
be
relocated,
establishing
a
new
line
number
as
the
current
line
number,
at
any
time.
There
are
two
kinds
of
locate
requests:
a.
Meta
connnand:
the
,manuscript
may
be
relocated
by
typing
the
META
arrow,
the
line
number
of
the
last
line
you want
to
read,
and
EOL'.
E.g.,
to
locate
at
line
105,
type
which
will
cause
LAP6
to
display
lines
through
104,
and
to
display
105
as
the
current
line
number (Example
2).
b.
The
manuscript
may
also
be
located
by
using
the
following
undisplayed
key
combinations:
CASE
0
(zero):
Forward one frame
(begin
display
with
current
line)
CASE
1:
Forward one
line
CASE
~
Backward one frame (make
first
line
on scope
the
current
line)
CAS
E
W:
Backward one
line
~,
to
change Example 2
so
that
102
is
the
current
line
number,
type
either
.....
101
EOl
or
strike
CASE
W
three
times.
Like
the
meta
commands
these
key
combinations
cannot
be
given
while
a
manuscript
line
is
being
entered.
c.
Since
you
will
seldom
know
the
exact
line
number
of
the
line(s)
you
would
like
to
see,
.....
Line
NumberEOL
can
be
used
to
locate
the
general
area,
and
the
above key
combinations
to
'zero
in.'
101
102
103
104
105
Example
2.
-------EOL
-------EOl
-------EOL
-------EOL
Locating
at
line
105.
2.
To
locate
at
the
end
of
the
manuscript,
request
any
line
number
(octal)
larger
than
the
last
line
number.
To
locate
at
the
beginning
of
the
manuscript,
type
...
OEOl.
(
.....
7777
EOl
is
equivalent
to
.....
OEOl.)
16-3
16-3
E.
Keyboard
Input
EDITING
1.
Manuscript
lines
may
be
added
or
deleted
wherever
the
manuscript
is
located.
You
may
add
or
delete,
in
any
combination,
as
many
lines
as
you
like.
a.
By
definition,
a
new
line
of
manuscript
is
added
on,
and
only
on,
the
current
line.
It
is
retained
exactly
at
the
point
at
which
it
is
added
as
a
permanent
part
of
the
manus~ript.
In
Example
2,
lines
added
will
become
lines
105
and
following.
b.
Striking
del
will
delete
the
information
on
the
current
line.
If
no
information
has
been
entered
on
the
current
line,
the
previous
line
will
be
deleted.
In
either
case
the
line
number
of
the
deleted
line
is
retained
as
the
current
line
number.
In
Example
1,
striking
del
will
delete
"STA"
on
line
63,
leaving
63
as
the
current
line
number.
Striking
del
again
wil~
delete
"MTB"
on
line
62;
all
the
lines
will
move
down
one
space,
line
55
will
appear
as
the
first
line
displayed,
and
62
will
be
the
new
current
line
number.
In
Example
2,
deletions
will
begin
with
line
104.
1)
A
deleted
line
is
permanently
deleted
from
the
manuscript.
2)
It
is
not
necessary
after
deleting
to
strike
EOL
before
continuing
with
the
next
operation.
2.
Manuscript
lines
following
the
point
at
which
changes
are
made
are
automatically
renumbered
by
LAP6.
3.
The
LAP6
tape
will
move
frequently,
but
briefly,
while
you
are
locating
or
editing.
It
will
however,
move
at
unpredictable
times,
perhaps
even
when you
are
entering
a
manuscript
line
or
meta
command.
Try
to
ignore
it.
IV.
Files
Any
tape
on
any
unit
may
be
used
as
a
LAP6
file,
and
several
of
the
meta
commands
described
in
the
next
section
use
the
tapes
in
this
way.
A
tape
need
not
have
LAP6
on
it
to
be
a
file
tape.
(In
which
case
the
LAP6
area
may
be
used
for
anything
you
like.
See
Chart
I.)
An
entry
in
a
LAP6
file
may
be
either:
a
LAP6
manuscript
or
a
LINC
binary
program.
A
file
may
contain
only
binary
programs,
or
only
manuscripts,
or
b8th.
6
Files
A.
File
Index
When
a
tape
is
used
as
a
file,
blocks
426
-
427
are
automatically
reserved
for
an
Index
in
which
information
about
the
file
entries
is
recorded
by
LAP6.
1.
Entry
Names
a.
A
file
entry
must be
given
a
name
at
the
time
~t
is
filed.
In
the
Index
one
name
describes
one
manuscript
or
one
binary
pro-
gram,
or
both.
A
full
Index,
63 names,
therefore
describes
a
maximum
of
126
entries.
(1)
A
binary
program
given
the
same
name
as
a
manuscript
is
not
necessarily
the
same
program.
b.
An
entry
name'
can be any
combination
of
displayable
keyboard
characters
(except
the
comma),
so
long
as
at
least
one
character
is
not
a number between 0 and 7.
c.
Names
can
be no more
than
8
characters
long.
Spaces
at
the
beginning
of
a
name
do
not
count;
spaces
in
the
middle
or
at
the
end do
count.
B.
File
Entry
Placement
1.
When
a
tape
is
used
as
a
file,
blocks
430
through
777
and
b~Cks
0
through
267
are
reserved
by
LAP6
for
file
entries
(Chart
I).
Within
the
reserved
area
a
file
entry
is
automatically
saved
as
close
as
possible
to
the
Index
at
426
-427. Thus,
blocks
430
through
about
570,
being
closer
to
the
Index,
will
be
filled
with
file
entries
before
any
entry
is
saved
below
block
270.
The
order
of
entries
on
the
tape
can
thus
be
controlled
by
the
order
in
which
they
are
filed,
-
if
you
care.
~,the
first
entry
filed
in
a
new
file
will
always be
put
at
block
430.
If
it
is,
say,
five
blocks
long,
the
second
entry
filed
will
be
put
at
block
435,
etc.,
until
the
free
area
below
block
270
is
closer
to
the
Index
than
the
free
area
above
it.
The
rule
is
simply
that
the
unused
file
space
nearest
the
Index,
on
either
side,
will
be
the
next
space
used.
2.
A
file
entry
is
always
saved
in
contiguous
blocks.
Block
777
is
not
contiguous
to
block
o.
16-3
3.
Since
the
assignment
of
tape
blocks
within
the
reserved
file
area
is
entirely
controlled
by
LAP6,
care
should
be
taken
to
distinguish
file
tapes
from
tapes
you want
to
structure
yourself.
~locks
270-277
are
never
'used
by
LAP6;
they
are
yours.
16-3 Meta
Commands
v . Meta
Connnands
The
following
meta
commands
all
use
the
tape(s)
or
scope,
or
both,
for
their
execution.
Most
return
automatically
to
the
manuscript
display
when
the
operation
is
finished.
They do
not,
however,
necessarily
always
return
with
the
manuscript
located
at
the
line
which was
current
when
the
command
was
given.
A.
The
meta commands,
with
the
exception
of
ADD
MANUSCRIPT,
do
not
change
the
current
manuscript
in
any way.
(Except
perhaps
to
relocate
it.)
B.
Meta
commands
may
be
given
at
any
time
during
the
manuscript
display,
i.e.,
no
matter
where
the
current
manuscript
is
located
or
what
sort
of
editing
has
been
done.
They
may
be
given
in
any
order.
C.
If
LAP6
finds
that
a
legallY
stated
command
cannot
be
executed,
NO
will
appear
on
the
scope.
Strike
EOL
to
return
to
the
manuscript
display.
The
current
manuscript
and
all
files
are
still
intact.
(See
Chart
IV.
to
explain
the
NO.)
D.
Except
for
FREE,
the
following
meta
commands
nruBt
be
two
letters,
fol-
lowed sometimes
by
arguments
such
as
LNJ~NJNAMEJUN~
in
that
order.
-
~~~
1.
LN
means a
manuscript
line
number.
NAME
means
the
name
of
a
file
1
entry.
UNIT
means
the
tape
unit,
either
0
or
1,
holding
the
file.
2.
When
there
are
two
or
more
arguments,
they
must
be
separated
by
a
comma.
3.
Spaces
are
permitted
almost
anywhere.
4.
In
the
following,
~ses
indicate
optional
argumen~s.
,
\a,..v-'~
-1'11.
('
-
..;;::
I
...
~
--~:>j",,-
1-
IS'
E. C omrnands
-L~
....,
SM
-7:<
()
)
tv
A
,.,
It
,_
....,
,--
'"
...
1.
SAVE
MANUSCRIPI'
Format:
...
SM
(LN,
(LN,))
NAME,
UNIT
EOL
a.
When
no
line
numbers
are
given,
the
current
manuscript
is
saved
by
N~
in
the
selected
file,
as
close
as
possible
to
the
Index.
b.
When
line
numbers, LN,
are
specified,
IAP6
saves
part
of
the
cur-
rent
manuscript
as
a
separate,
new
manuscript
in
the
file
by
NAME.
The
line
numbers,
inclusive,
indicate
the
part
to
save.
When
only
one
line
number
is
given,
the
second
line
number
is
assumed
to
be
the
last
line
number
of
the
current
manuscript.
lUNIT
may
also
be
specified
as
4
or
5
if
there
is
a
second
tape
transport
whose
instructions
are
coded
7~0
(MTT)
and
72
0
(MTT
u).
7
8
Meta
Connnands
When
part
of
a
manuscript
is
saved,
LAP6
must
isolate
that
part
as
a
separate
manuscript;
to
do
this
LAP6
uses
the
working
area
on
the
other
unit
of
the
tape
transport.
I.e.,
to
save
part
of
a
manuscript
you
must have a
tape
on
the
other
unit,
and you must
tem-
porarily
not
care
about
the
contents
of
the
working
area
blocks
(350 and
following).
This
is
the
only
command
which
automatically
uses
the
other
unit;
it
does
so
only
when
line
numbers
are
included
in
the
argumentS:--
c.
If
a
manuscript
of
the
given
NAME
is
already
present
in
the
selected
file,
LAP6
will
display
REPLACE?
Strike
R
to
replace
the
file
entry.
Strike
EOl
not
to.
d.
Strike
EOl
to
interrupt
the
command
and
return
to
the
manuscript
dis-
play.
This
has
no
effect
once
LAP6
has
updated
the
Index.
2.
ADD
MANUSCRIPI'
Format:
...
AM
BN~UNITEOl
or
...
AM
NAME~
UNITEOl
Any
LAP6
manuscript
may
be added
to
the
current
manuscript.
a.
The
manuscript
to
be added
is
identified
either
by
its
first
block
number,
BN,
on any
tape
UNIT,
or
by
NAME
in
a
file.
16-3
b.
The incoming
manuscript
is
added
to
the
current
manuscript
at
the
cur-
rent
line.
This
is
the
only
time
that
the
location
of
the
current
manuscript
is
relevant
to
the
execution
of
a meta
command.
'fire
eta!
Enb
ilJaiRlleel."!ifJ-&
~
@e
8ie.e~
iss
res@ll
SPiO'xhii'@ (
..
tOM
35
0,Of6l:J·
~7
f"\Q
c.
After
the
command
the
new
current
line
will
be
at
the
end
of
the
added
manuscript
(just
as
though
the
incoming
manuscript
had
been
added
at
the
keyboard
one
line
at
a
time).
Manuscript
lines
which
follow
the
added
manuscript
are
automatically
renumbered.
d.
If
there
is
no
current
manuscript,
the
added
manuscript
will
be
the
entire
manuscript.
e.
If
the
arguments
are
inadvertently
omitted,
LAP6
will
try
to
add a manu-
script
from
block
0,
unit
0.
It
is
best
not
to
interrupt
it.
3. DISPLAY INDEX Format:
.....
oX
UNITEOL
This
command
displays
the
contents
of
the
Index
of
the
specified
LAP6
file,
and
permits
unwanted
entries
to
be
deleted.
An
example
of
the
dis-
play
might
be:
16-3 Meta
Commands
NAME
BN
#BlKS
GEORGE
M
430
12
B
262
2
12345678
B
442
3
DP-MAR20
M
445
27
B
474
6
DP2
APR2
M
264
4
DISPLAY
B
502
3
MNEMONIC
M
505
11
Example 3.
Index
Display.
I.e.,
the
manuscript
(M)
named
GEORGE
starts
at
block
number
(BN)
430,
and
is
12
(octal)
blocks
long
(#BlKS).
The
binary
program
(B)
named
GEORGE
is
in
blocks
262-
263.
Etc.
a.
8
entries
are
displayed
per
frame.
b.
A
manuscript
and a
binary
program
with
the
same
name
(~,
GEORGE,
or
DP-MAR20)
always
appear
together,
manuscript
first,
in
the
Index
display.
Thus,
by
inference,
this
file
contains
no
manuscript
named
12345678
or
DISPLAY,
and
no
binary
program
named
DP2
APR2.
(No
in-
ference
can
be
made
about
a
binary
program
named
MNEMONIC
without
displaying
at
least
one more
entry.)
c.
The
following
key
combinations
relocate
the
display:
CASE
0:
Forward
one frame
CASE
1:
Forward
one
entry
CASE
Q:
Backward one frame
CASE
W:
Backward one
entry
d.
Strike
EOl
to
return
to
the
manuscript
display.
e.
Striking
del
will
delete
the
last
entry
displayed
(~,
the
manuscript
named
MNEMONIC
in
Example 3).
Whatever
is
deleted
from
the
Index
dis-
play
is
effectively
deleted
from
the
file.
The
file
space
is
made
available
for
later
use
by
LAP6.
(1)
Strike
R
to
restore
the
Index
if
you
delete
the
wrong
thing.
(2)
Strike
the
number
sign,
#,
to
make
the
deletions
permanent
and
return
to
the
manuscript
display.
(Returning
with
EOl
effectively
ignores
any
deletions.)
9
10
Meta
Co:rmnands
4.
COPY
MANUSCRIPl'
5.
COPY
BINARY
Format:
Format:
...
CM
NAME~UNITEOL
......
CB
NAME~
UNIT
EOL
An
entry
may
be moved from one
file
to
the
file
on
the
other
unit
of
the
tape
transport1
with
a
COPY
MANUSCRIPl'
or
a
COPY
BINARY
command.
The
commands
are
identical
except
for
the
kind
of
file
entry
copied.
a.
The arguments
identi~
the
entry
to
be
copied;
i.e.,
UNIT
is
the
unit
where
the
entry
of
that
NAME
is
to
be found.
--
b.
The
entry
is
automatically
given
the
same
NAME
in
the
other
file,
and
s"",~~s
close
as
possible,
to
the
In~x.
QL
..
:tll-e.w.o.:tlt~
fil~.
The
orig-
inal
entry
is-not
affected.
c.
If
an
entry
of
the
given
name
is
already
present
in
the
other
file,
LAP6
will
display
REPLACE?
Strike
R
to
replace
the
entry.
Strike
EOL
not
to.
d.
Strike
EOL
to
interrupt
these
commands
and
return
to
the
manuscript
display.
This
has no
effect
once
LAP6
has
updated
the
Index.
e.
These
commands
can
be
used
to
reorder
file
entries.
If,
for
example,
the
three
binary
programs A, B, and C
are
to
be
next
to
each
other
and
in
that
order
in
a
file,
copy them (+CB) one
at
a
time
in
that
order
into
a
new
file.
16-3
6.
COPY
FILE Format:
...
CF
UNIT
EOL
The
COPY
FILE
command
copies
all
the
entries
from
the
specified
file
into
the
file
on
the
other
unit
of
the
tape
transport.
1
It
does
not,
how-
ever,
disturb,
or
replace,
any
entries
which
are
already
in
the
other
file.
Thus, a
file
may
be
reorganized
by
combinations
of
the
commands
eM
or
CB,
to
move
specific
entries,
and
CF
to
move
all
the
remaining
entries.
COPY
FILE,puts
the
entries
as
close
as
possible
to
the
Index
in
the
other
file.
It
uses
any
possible
gaps
created
by
former
deletions
and
thus
"packs"
the
file.
The
original
file
is
not
affected.
If
COPY
FILE
is
used
to
merge two
files,
NO
may
be
displayed
if
the
entries
from
the
original
file
do
not
all
fit
into
the
other
file
or
Index.
LAP6
has,
however,
copied
as
many
entries
as
it
could;
inspection
of
the
two
indices
will
shOw
which
entries
were
not
copied.
Strike
EOL
to
interrupt
the
command
and
return
to
the
manuscript
dis-
play.
This
has
no
effect
once
LAP6
has
updated
the
Index.
~rom
0
to
1,
1
to
0,
4
to
5,
or
5
to
4.
16-3 Meta
Commands
7.
CONVERT
Format:
~CVEOL
The
current
manuscript
is
converted
to
a
LINC
binary
program,
and
three
displays
of
information
about
the
program
are
presented.
Conventions
which
should
be
followed
to
prepare
a
LINe
program
manuscript
are
described
in
section
VI.
a.
The
binary
program
will
be
in
blocks
340-347
of
the
LAP6
tape
after
,conversion.
The
block
numbers
correspond
to
memory
quarters
0-7
respectively;
~,
a
program
written
to
occupy
memory
registers
in
quarters
0
and
2
will
be
found
in
tape
blocks
340
and
342.
Locations
not
occupied
by
the
binary
program
are
cleared
(set
to
+0).
b.
Strike
EOl
to
interrupt
the
conversion
process
and
return
to
the
manu-
script
display.
This
leaves
no
binary
program
in
blocks
340-347.
c.
Displays:
ERRORS.
There
are
two
kinds:
undefined
symbols
appear
with
one
manuscript
line
number;
multiply
defined
symbols
appear
with
at
least
two
line
numbers. Ten
errors
are
displayed
per
frame.
More
than
45
errors
will
not
be
displayed,
and
the
display
is
automatically
omitted
if
there
were no
errors.
ERRORS
2A
1072
6015
1 X
75
~,
2A
is
defined
at
both
line
1072
and
line
6015.
~s
referred
to
on
line
75,
but
never
defined.
Keyboard
Control:
CASE
0:
CASE
Q:
R:
EOl:
Forward
one frame
Backward one frame
Return
to
the
manuscript
display
Get
next
display
MEMORY
ALLOCATION.
This
display
shows
the
memory
locations,
inclusive,
required
by
the
binary
program.
If
the
manuscript
contains
more
than
10
"location
statements"
(see
section
VI),
only
10
allocations
will
be
displayed.
MEMORY
AllOCATION
20-
-401
3670-
40
11
12
Meta
Commands
!:.s.:..,
the
binary
program
requires
memory
registers
20
through
401
plus
registers
3670
through
3777,
and
o
through
40.
Reading
this
display
is
the
simplest
way
to
tell
whether
a
program
exceeds
a
certain
num-
ber
of
memory
quarters,
or
whether
perhaps
certain
portions
overlap.
Keyboard
Control:
R:
EOl:
Return
to
the
manuscript
display
Get
next
display
SYMBOlS.
All
tags
and
equalities
defined
in
the
manuscript
appear
in
this
display.
The
latest
definition
is
used
for
multiply
defined
symbols.
Ten
symbols
are
displayed
per
frame.
SYMBOLS
VALUE
lINE
1A
3777
52
28
107l
412
~,
all
references
to
lA
in
the
manuscript
have
been
ass~gned
the
value
3777
in
the
binary
program,
and
lA
is
defined
on
manuscript
~
52.
Keyboard
Control:
CASE
0:
Forward
one
frame
CASE
Q:
Backward
one
f'rame
R:
Return
to
the
manuscript
display
16-3
EOl:
Save
this
symbol
table
for
access
by
the
DISPLAY
SYMBOLS
connnand,
and
return
to
the
manuscript
display.
8.
DISPLAY
SYMBOIS
Format:
...
OSEOL
The
symbols
most
recently
saved
by
an
EOl
return
from
the
SYMBOLS
display
may
be
redisplayed
at
any
time
as
an
on-line
debugging
aid.
Keyboard
Control:
CASE
0:
Forward
one
f'rame
CASE
Q:
Backward
one
frame
EOl
or
R:
Return
to
the
manuscript
display
9
SAVE
BINARY
Format:
....
SB
NAME~
UNITEOl
The
binary
program
most
recently
converted
with
the
CV
command
by
this
copy
of
LAP6
is
saved
by
NAME
in
the
specified
file,
as
close
as
possible
to
the
Index.
Only
programs
which
have
been
converted
with
CV
can
be
saved
with
SB.
16-3 Meta
Commands
[ill
Only
relevant,
but
inclusive,
quarters.
are
saved.
~,if
the
pro-
~
a.
b.
c.
gram.
was
written
to
occupy
quarters
1
and
4,
quarters
1
through
4
will
be
filed
in
four
successive
tape
blocks.
(The
second
an.d
third
blocks
will
contain
all
zeros.)
If
a
binary
program
of
the
given
name
is
already
present
in
the
spec-
ified
file,
LAP6
will
display
REPLACE?
Strike
R
to
replace
the
file
entry
with
this
entry.
Strike
EOL
not
to.
Strike
EOL
to
interrupt
the
command
and
return
to
the
manuscript
dis-
play.
This
has
no
effect
once
LAP6
has
updated
the
Index.
10.
EXIT
The
EXIT
command
makes
it
possible
to
leave
LAP6,
or
leave
the
com-
puter,
without
losing
the
current
manuscript.
The
next
time
this
copy
of
LAP6
is
used,
the
manuscript
will
still
be
accessible
to
the
scope
and
keyboard.
a.
After
EXIT,
LAP6
halts.
Raise
RESUME
to
rewind
the
LAP6
tape.
(Rais-
ing
it
a
second
time
reenters
LAP6.)
b.
LAP6
may
be
reentered
by
executing
the
regular
start
procedure
manu-
ally
at
the
console
(blocks
300-307
into
quarters
0-7,
START
20),
or
under
program.
control
as
described
below.
In
either
case,
EXIT
is
good
for
one
reentry
only.
(Subsequent
pushes
of
START
20
simply
erase
the
current
manuscript.)
c.
There
is
never
any
reason
not
to
EXIT
from
LAP6
when
leaving
the
com-
puter.
11.
LOAD
BINARY
Format:
....
LO
(NAME,UNITJ
EOL
If
no
name
and
unit
are
given,
the
last
binary
program
converted
with
the
CV
command
by
this
copy
of
LAP6
is
read
into
the
memory.
If
a
NAME
and
UNIT
are
specified,
the
binary
program
of
that
name
is
read
into
the
memory from
the
selected
file.
a.
Memory
registers
not
occupied
by
the
binary
program
are
cleared
(set
to
+0).
Exception:
if
the
binary
program
itself
does
not
occupy
any
registers
in
quarter
3,
registers
1770-1777
will
not
be
cleared.
b.
LO
uses
register
0
after
the
binary
program
is
read
into
the
memory.
Therefore,
if
the
program
requires
an
initial
value
in
register
0,
it
must
be
reset.
c.
LO
starts
the
binary
program
at
register
1.
You
can
ignore
this
fea-
ture
by
simply
assigning
nothing
to
register
1,
in
which
case
the
com-
puter
will
halt
at
1.
The
program
must
then
be
started
from
the
con-
sole.
Should
you
wish
to
use
this
feature,
the
following
hints
may
help:
13
14
Meta
Commands
(1)
If
the
first
instruction,
or
a
J.MP
to
the
first
instruction
is
put
in
register
1
(i.e.,
in
the
program
manuscript
following
a
81
statement),
the
program
will
start
automaticalJ..y"
as
soon
as
it
is
read
in.
(2)
If
nothing
is
put
in
register
1 and
the
first
instruction,
or
a
JMP
to
the
first
instruction
is
put
in
register
2,
the
com-
puter
will
halt
at
register
1,
but
the
program
can
be
started
by
raising
the
RESUME
lever.
This
is
a
helpf'ul
procedure
when
there
are
perhaps
switches
to
be
set
or
tapes
to
change
before
the
program
can
be
run.
d.LO
leaves
the
first
block
number
of
the
program's
tape
location
in
the
left
9
bits
of
the
Z
register.
It
leaves
the
corresponding
unit
number
in
the
right
3
bits
of
Z
(to
make
it
easier
to
"layer"
pro-
grams which have no
fixed
tape
location).
e.
LO
"EXITs" from
LAP6
before
reading
the
binary
program.
I.e.,
the
current
manuscript
may
be
recovered
by
executing
the
regular
console
start
procedure,
or
by
reentering
LAP6
under
program
control
as
de-
scribed
below.
Combinations
of
manuscript
editing,
CV,
DS,
and
LO
can
therefore
be
used
for
fairly
efficient
on-line
debugging.
12.
FREE
Format:
...
F
EOl
The
FREE
meta
connna.nd
makes
it
possible
to
add
features
to
LAP6.
When
the
command
is
given,
LAP6
reads
block
317
into
quarter
0 and
JMPs
to
20.
You
may
put
any
program you
like
into
block
317.
FREE
is
probably
best
used
for
programs which work
closely
with
LAP6,
such
as
manuscript
manip-
ulators,
or
for
programs which have
frequent
use
in
the
local
environment.
It
is,
of
course,
possible
to
have
different
FREE
programs
with
different
copies
of
LAP6.
FREE
may
be
used
as
a
dispatcher
to
aIry
one
of
several
separate
pro-
grams.
To
facilitate
this,
LAP6
leaves
the
code
(Chart
II)
for
any
char-
acter
typed
after
the
F
in
the
right
6
bits
of
the
Accumulator.
~,
the
commands
~FfOl'
...
FW
EOL
' and
...
F:
EOl
will
leave
the
codes
for-EOl,
W,
and
:,
respec~1vely,
in
fhe
Accumulator.
If
nothing
is
put
in
block
317,
the
computer
simply
halts
at
20.
LAP6
may
be
reentered
at
any
time
under
program
control
as
described
below.
(Starting
LAP6
by
executing
the
regular
console
start
procedure
is
always
legal,
but,
except
following
EX
or
10,
the
current
manuscript
will
be
erased.)
N.b.:
the
rest
of
the
memory, which
contains
the
LAP6
tape
instructions,
IS'Iiot
cleared
when
FREE
is
executed.
Putting
undebugged programs
into
the
FREE
block
is
not
recommended.
s6'ec("o
~
w
ItlT
c
-()
P,
16-3 '
16-3
Meta
Commands
Programmed
Return
from EXIT,
FREE,
or
LOAD
BINARY
These
three
co:rmn.a.nds
do
not
return
automatically
to
I.AP6.
Since
they
essentially
provide
the
ability
to
leave
LAP6
gracefully
in
order
to
run
other
programs,
what ,happens
after
one
of
these
commands
is
executed
is
up
to
you.
If
you
wish,
however,
after
executing
one
of
these
commands,
to
re-
enter
LAP6
other
than
manually,
you
may
do
so
in
the
memory
under
control
of
your
own
program.
Put
15)
RCG
~
7
()
I
16)
71300
in
registers
15 and 16 and
JMP
15.
(Executing
RCG,
7\300
from
the
console
switches
and
starting-at
17
is
equivalent.)
LAP6
and
the
current
manu-
script
will
be
as
they
were
before
the
command
was
executed.
There
is
no
other
way
to
enter
I.AP6
under
program
control.
Do
not
change
the
instruction,
and do
not
move
it
to
some
other
register.
Do
not
enter
LAP6
this
way
illlless
you
left
via
EXIT,
FREE,
or
LOAD
BINARY.
13.
COPY
Format:
+CP
EOl
This
command
copies
the
contents
of
any number
'of
consecutive
tape
blocks
on any
unit
to
any
place
on
any
unit.
l
It
should
not
be
confused
with
putting
entries
in
a
LAP6
file,
and has no
effect
on a
file
Index.
When
the
command
is
given,
the
following
appears
on
the
scope:
COpy
?
BLOCKS
FROM
BLOCK
?
UNIT
1,
TO
BLOCK
1
UNIT
1
~Number
of
blocks
to
move,
octal
}
Present
location
}
Requested
location
a.
Fill
in
the
question
marks
as
i:ndicated:
type
the
number
of
blocks
to
be
copied.
This
will
replace
the?
on
the
second
line.
Terminate
with
EOl
and
type
the
first
block
number
of
the
blocks
to
be
copied.
This
will
replace
the
1 on
the
third
line.
Terminate
with
EOl.
Continue
answering
the
questions,
terminating
each
answer
with
EOl.
The
command
will
be
executed
when
the
last
EOl
is
struck
after
the
sixth
line.
lunit
= 0 1 4 5
, ,
,or
.
15
16
Meta
Commands
b.
Striking
del
will
delete
the
answers
and
restore
the
question
marks,
one
at
a
time.
Answer
the
question
again.
(Do any
dels
before
the
sixth
EOl.)
If
LAP6
doesn't
like
what
you
typed,
the
question
mark(s)
will
reappear
automatically.
c.
Strike
CASE
to
interrupt
the
display
and
return
to
the
manuscript
dis-
play.
d.
The
blocks
being
copied
are
not
affected.
e.
To
copy
an
entire
tape,
copy
1
000
blocks
from
block
O.
f.
To
copy
LAP6
itself,
copy
50
blocks
from
block
300
on
unit
O.
(See
Notes,
"Copying
LAP6
Tapes.")
g.
Since
LAP6
can
move
only
7
blocks
at
a
time
(because
of
memory
limita-
tions),
care
must
be
taken
not
to
overlap
the
blQck
numbers
on
the
same
unit
when COPYing more
than
7
blocks.
Example:
requesting
LAP6
to
copy
12
blocks
from
block
550
to
block
552
on
the
same
unit
will
not
work,
because
LAP6
must
write
the
first
7
blocks
in
blocks
552-560
be-
fore
it
can
read
the
last
3
blocks
from
blocks
557-561.
Requesting
it
to
copy
7
or
fewer
blocks,
however,
from
block
550
to
block
552
on
the
same
unit
will
work.
(Obviously,
if
the
units
are
different,
the
COPY
will
be
successful.)
14.
PRINT
INDEX
Format:
.....
PX
UNIT
EOl
The
contents
of
the
specified
Index
are
printed
on
a
teletype
which
is
connected
to
the
LINC
through
bit
0
of
the
Relay
Register,
and
which
is
turned
on
in
the
"line"
mode.
Printing
time
is
1
to
2
minutes.
a.
Strike
EOl
to
interrupt
the
printing
and
return
to
the
manuscript
dis-
,
play.
15 .
PRINT
MANUSCRIPl'
16. LIST
Format:
Format:
....PM
(LN,
(LN,))
(NAME~
UNIT
~Ol
....
lI
(LN~
(LN~))
(NAME~
UNIT
{OL
These
two
co:mmands
both
use
a
teletype
to
PRINT
or
LIST
LAP6
manuscripts,
and
have
several
operating
features
in
common:
(1)
The
teletype
must
be
connected
to
the
LINC
through
bit
0
of
the
Relay
Register
and
turned
on
in
the
"line"
mode.
(2)
Arguments
-
all
optional:
(a)
If
no
name
and
unit
are
given,
the
current
manuscript
will
be
printed
or
listed.
If
NAME
and
UNIT
are
given,
LAP6
will
print
or
list
the
manuscript
of
that
NAME
from
the
file
on
that
UNIT.
16-3
16-3 Meta
Commands
(b)
If
no
line
numbers
are
given,
the
entire
manuscript
will
be
printed
or
listed.
When
line
numbers,
LN,
are
specified,
part
of
the
manuscript
will
be
printed
or
listed.
The
line
numbers,
inclusive,
indicate
the
part.
When
only
one
line
number
is
given,
the
second
line
number
is
assumed
to
be
the
last
line
number
of
the
manuscript.
(3)
Approximately
708
manuscript
lines
are
printed
or
listed
per
tele-
type
page.
The
pages
are
approximately
11
inches
long
if
cut
at
the
marker
which
appears
between
pages.
(4)
The
NAME,
if
any,
and
the
page
number
in
octal
appear
at
the
top
left
corner
of
each
page.
The
line
number
of
the
first
manuscript
line
which
be~ins
on
that
page
appears
at
the
top
of
the
page
in
the
format
"LN=
.
(5)
Strike
EOL
to
interrupt
the
printing
or
listing
at
any
time
and
to
return
to
the
manuscript
display.
Interrupt
with
EOL
if
you
forget
to
turn
on
the
teletype.
(6)
Manuscript
lines
which
are
too
long
to
fit
on one
teletype
line
are
automatically
carried
over
to
the
next
teletype
line.
(7)
The
following
characters
differ
between
LINC
keyboard
(Chart
II)
and
teletype
print:
(8)
LINC
Keyboard
CASE
CASE
CASE
A
CASE
B
Scope
Teletype
II
When
the
printing
or
listing
is
finished,
you
muBt
strike
EOL
to
return
to
the
manuscript
display.
(This
prevents
the
manuscript
display
from
burning
the
scope
if
you have
left
the
teletype.)
a.
Print
Manuscript
Any
LAP6
manuscript
can
be
printed
with
PM.
PRINT
MANUSCRIPl'
will
not
split
words
between
teletype
lines.
Printing
time
is
approximately
1
minute
per
page
for
LINC
program
manuscripts.
b.
List
Any
LAP6
manuscript
which
LAP6
can
convert
to
a
LINC
program
can
be
listed
with
LI.
In
addition
to
the
manuscript
lines,
LIST
prints
the
symbols
associated
with
the
manuscript,
and
the
memory
address
and
mem-
ory
contents
of
each
register
of
LINC
program
generated
by
the
manuscript~
The symbols
are
printed
first,
in
as
many
as
4 columns
if
necessary,
but
nevermore
than
one
page.
The
manuscript
is
then
listed
one
line
at
a
time
with
the
memory
address
(p),
and
the
memory
contents
(CONT),
in
octal
in
the
left
two columns
preceding
the
associated
manuscript
line:
17
18
NAME"PAGE
VAIDE
LINE
]A
0030
17
lB
0067
57
IF
1737
2051
NAME"PAGE
LN=l
p
CONT
Meta
Commands
VAIlJE
LINE
3T
0426
441
4B
1301
1354
[LIST
SAMPLE
815
15
0077
#4D
SET
i 17
16
6063
JMP
lB-4
17
0704
WRC
20
6040
6
140
21
7301
JMP
4B
Example
4.
LIST
Format.
(1)
When
line
numbers
are
specified,
the
symbols
are
not
printed.
ThU$,
~LI
1
("NAME"UNITJEO
L
'
lists
the
entire
manuscript
without
the
symbols.
(2)
Do
not
try
to
LIST
a
manuscript
which
LAP6
cannot
convert;
use
PRINT
MANUSCRIPl'
instead.
LIST
does
not,
however,
affect
the
program.
last
converted
with
CV,
the
operation
of
either
SAVE
BINARY
or
LOAD
BINARY,
and
there
is
no
need
to
convert
a
manuscript
before
you
list
it.
(3)
If
the
manuscript
contains
"text"
(see
section
VI),
the
following
should
be
noted:
(a)
The
"p" and
"CONT"
columns
of
converted
text
are
listed
before
the
corresponding
manuscript
line
of
text.
(The
manuscript
line
is
not
broken;
it
appears
on
one
line
in
the
listing
as
it
does
on
the
scope.)
16-3
16-3 Conversion Conventions
Occasionally
(because
of
the
placement
of
EOLs
within
the
text))
"p" and
"CONT"
will
be
repeated
for
a
single
register.
The
second
listing
for
the
register
is
the
correct
one.
(4)
Listing
time
is
approximately
2 minutes
per
page.
Hint:
the
fastest
way
to
produce
printed
copy
of
pro-
gram
manuscripts
on
the
teletype
is
to
LIST
the
manu-
script
only
through
the
symbol
table.
Interrupt
by
striking
EOl.
Then
PRINT
the
MANUSCRIPr.
The symbol
table,
providing
both
the
value
and
the
line
number
of
all
the
symbols
in
the
manuscript,
contains
all
the
in-
formation
needed
to
find
your
way
around
the
printed
manuscript.
VI.
Conversion
Conventions
To
facilitate
program
writing
we
generally
prefer
to
use
symbols
instead
of
the
binary,
or
even
octal,
numbers which
we
understand
the
symbols
to
rep-
resent.
We
prefer
to
write
"ADD,"
not
"2000"
or,
even
worse,
"010 000 000
000,"
making a
note
that
when
the
program
is
put
into
the
memory, 010 000 000 000
must be
substituted
for
the
mnemonically
easier
"ADD."
The
CONVERT
command,
by making
the
appropriate
binary
substitutions
for
you,
permits
a
LINC
program
to
be
written
in
a symbolic form
as
a
LAP6
manu-
script
(Example
5).
To
prepare
the
manuscript
so
that
it
can
be
converted
correctly,
certain
conventions
must be
observed.
The symbols
used
~enerally
follow
those
in
the
programming examples
in
"Programming
the
LINC,
"
with
amplifications.
1 [lINe
PROGRAM
SAMPLE
2
8200
3
#9R
lOA
;
4
7B
[VARIABLE
5
ADA
;
6
p+4
7
#6X
JMP
6X-10
10
JMP
9R
11
7B=ADD
[EQUALITY
12
-4000
13
9R-6X
Example 5.
LAP6
Program.
Manuscript.
fV
..
·:C'
lwilkes,
M.A.
and
W.
A.
Clark,
LINC,
Vol.
l~
Prosramming
and
Use-I,
Section
2,
Washington
University,
St.
Louis,
June 1 5.
19
20
Conversion
Conventions
For
example, a
single
register
instruction
(line
7
or
10) mu£t occupy one
manuscript
line;
double
register
instructions
(lines
3-4,
and 5-6) occupy two
lines.
In
addition
to
these
instruction
lines,
some
special
lines
may
also
appear
in
program
manuscripts,
such
as
comments
(line
1),
location
statements
(line
2),
and
equality
statements
(line
11).
In
the
following,
converted
values
are
represented
in
octal
(not
binary).·
A.
Location
Statements
-8
To
convert
the
manuscript
to
a
binary
program,
LA.P6
must
know
what
registers
you
intended
the
program
to
occupy. A
location
statement
(line
2 above)
tells
LA.P6
to
put
the
instructions
(or
perhaps
data
tables)
which
follow
it
into
sequential
registers
beginning
with
the
specified
location.
In
Example 5,
the
LOA
i
instruction
on
line
3
will
therefore
be
put
in
register
200,
the
ADA
i
instruction
on
line
5
into
register
202,
etc.
LAP6
continues
to
use
sequential
registers
(2000
following
1777, and
o
following
3777)
until
a
new
location
statement
is
encountered.
There
may
be
as
many
location
statements
in
a
manuscript
as
you
like.
If
portions
of
the
binary
program
overlap
as
a
result,
the
location
state-
ment which
appears
latest
in
the
manuscript
has
precedence;
the
instructions
(or
tables)
which
follow
it
will
be
the
ones which
appear
in
the
binary
program.
This
is
sometimes
useful
when programs must be
written
to
run
with
different
segments
using
the
same
memory
locations
at
different
times.
1.
A
location
statement
must
begin
with
the
location
symbol, 8.,
followed
by
octal
constants
which
represent
a
memory
address.
2.
Manuscripts
containing
no
initial
location
statement
will
be
located
at
20.
3. A
location
statement
must occupy a
manuscript
line
by
itself,
except
that
it
may
include
a comment.
It
is
not,
however, a
line
of
program
and does
not
appear
in
the
binary
program
after
conversion.
B. Tags -#
To
eliminate
the
need
to
know
the
actual
memory
address
of
a
given
instruction
or
data
word, any program
line
(i.e.,
any
manuscript
line
except
location
statements
and
equality
statements)
may
be
"tagged."
That
is,
it
may
be
identified
by
symbols which
represent
its
memory
address,
and
it
may
be
referred
to
by
its
symbolic,
rather
than
its
actual,
address.
In
Example 5,
the
tag
#9R
on
line
3
represents
the
actual
memory
address,
200,
of
the
LOA
i
instruction.
This
symbolic
address
is
then
used
on
line
10 where
the
code
for
"JMP
200"
is
represented
symbolically
by
JMP
gR.
Similarly
the
tag
#6X
on
line
7
represents
the
actual
memory
address
204.
"9R"
is
said
to
be
"defined"
on
line
3;
"6x"
is
defined
on
line
7.
16-3
16-3
Conversion
Conventions
1.
A
tagged
line
must
begin
with
the tag
symbol,
#,
followed
by
a
Number
Letter
combination.
C.
Equality
statements
_ a
The
equality
symbol,
=,
can
be
used
to
assign
any
value
you
like
to
a
Numbep
Lettep
combination.
Equalities
should
not
be
confused
with
tags,
whose
values
are
assigned
by
LAP6
relative
to
location
statements.
Equality
statements
are
generally
used
when a
program
value
must
be
treated
as
a
variable.
E.g.,
in
Example 5,
7B
is
defined
by
an
equality
symbol on
line
11
to
represent
the
code
for
ADD,
or
2000. The
equality
statement
tells
LAP6
to
convert
all
references
to
7B,
such
as
the
one on
line
4,
to
the
value
2000:
The-
value
can
be
'changed
later
simply
by
rede-
fining
7B,
i.e.,
setting
it
equal
to
a
different
value,
and
converting
the
program
again.
"7B"
is
"defined"
on
line
11.
1.
An
equality
statement
is
a
Number
Letter
combination
followed
by
the
=
sign,
followed
by
the
definition
of
the
Number
Letter
combination.
2.
The
definition
may
be
any
combination
of
characters
which
LAP6
can
convert
except
"text"
(~).
If,
however,
the
definition
itself
con-
tains
Number
Letter
comblnations,
they
must have
been
defined
earlier
in
the
manuscript.
~,
putting
7B=6X
on
line
11
in
Example 5 would
properly
assign
the
value
20~to
7B,
because
6x
is
itself
defined
on
line
7. Were
6x
not
defined
ear-
lier
,
it
would
appear
as
an
undefined
symbol
in
the
ERROR
display
following
conversion.
3.
An
equality
statement
must occupy a
line
by
itself,
except
that
it
may
include
a comment.
It
is
not,
however,
a
line
of
program
and
does
not
appear
in
the
binary
program
after
conversion.
D.
Number
Letter
Combinations
1.
The
Number
must
precede
the
Letter.
The Numbers
are
1
through
9;
Letters
are
capitals
A
through
Z.
2.
A
Number
Letter
combination
may
be
defined
once
as
a
tag
if
it
is
not
also
defined
as
an
equality.
If
it
is
defined
more
than
once,
it
will
appear
as
a
multiple
definition
in
the
ERROR
display
following
conver-
sion.
The
latest
definition
in
the
manuscript
will
be
the
one
used.
~,
the
following
will
be
converted
as
shown:
Manuscript
Conversion
1
8100
p
CONT
2
#2F
ADD
3 100 2003
3
JMP
2F+2
101
6042 (Not 6102)
4
2F=40
2F
is
defined
on
both
line
2
and
line
4.
21
22
Conversion
Conventions
2.
A
Number
Letter
combination
which
is
used,
but
not
defined,
is
assigned
the
value
zero,
and
appears
as
undefined
in
the
ERROR
display
fol-
lowing
conversion.
~,
JMP
3X,
when
3X
is
not
defined,
is
converted
:w-oOOO. .
E.
Comments
'- [
The
manuscript
may
be
annotated
anywhere
with
"comments"
which
LAP6
ignores
during
conversion.
1.
Comments
must
begin
with
the
comment symbol,
[.
Any
displayable
character
may
follow
the
comment symbol.
2.
A comment
may
be
either
on a
line
by
itself
(line
1,
Example
5),
or
included
on
any
other
line
so
long
as
it
is
the
last
thing
on
the
line
(lines
4
and
11,
Example 5).
F.
Symbolic
Operation
Mnemonics
1.
Three
letter
mnemonics
may
be
used
to
represent
instruction
codes.
The
mnemonics
which
LAP6
recognizes,
and
the
codes which
they
represent,
are
defined
on
Chart
III.
G.
Present
Location
-p
The
small
p
is
used
as
a symbol
for
the
memory
address
itself
on which
it
appears.
~,the
information
on
line
will
be
converted
for
register
203
(counting
from
the
8200
The p on
that
line,
therefore,
represents
the
address
203.
be
converted
to
203 +
4,
or
207.)
of
the
line
6
in
Exarrrple 5
statement)
.
(p+4
will
then
A
tag
reference
can
certainly
be
used
instead
of
p
(on
line
6,
6X+3
would
be
equivalent
to
p+4
),
but
P
is
often
simpler.
H.
Special
Symbols
1.
The
"i"
bit:
A
small
i on a
line
of
program
or
in
the
definition
of
an
equality
will
be
converted
to
20.
2.
The "u"
bit:
A
small
U on a
line
of
program
or
in
the
definition
of
an
equality
will
be
converted
to
10.
3.
The
vertical
bar,
I,
can
be
used
to
separateQN
and
BN
in
the
second
line
of
tape
instructions
or
to
separate
the
h-bit
in
half
word
addressing:
~,
412777
will
be
converted
to
6777.
317E, where
7E
has
the
value,
say, 45,
will
be
converted
to
3045.
16-3
16-3
Conversion
Conventions
The
value
on
the
left
of
the
bar
is
multiplied
by
1000
and
added
to
the
value
on
the
right
of
the
bar.
You
may
have
any
combination
of
symbols which
LAP6
can
convert
on
either
side
of
the
bar.
I.
Plus
and Minus +
and
-
These symbols
are
simply
used
to
combine
other
symbols
arithmetically,
as
in:
1.
Relative
addressing:
p + 4 and
6X
-
10
in
Example 5
will
be
converted
respectively
to
207
and
174
(6X
represents
204).
2.
Signed
numbers: -4000
will
be
converted
to
3777.
3000
-
4000
will
be
converted
to
6777
(-1000).
3. Computing
differences
in
memory
addresses:
Example 5,
will
be
converted
to
7773
(-4).
for
determining
the
lengths
of
tables.
9R
-
6X
on
line
13,
This
is
sometimes
useful.
4.
Odd
combinations:
Any
combination
of
convertible
symbols
may
be
manipu-
lated
arithmetically
in
any
order.
~,
; + ; - U -
6X
+ P -
LAM
+
ROC
••. ,
while
perhaps
not
meaningful,
is
perfectly
legal.
LAP6
does
all
calculations
sequentially
in
ones'
complement,
end-
around
carry
arithmetic.
Thus, 6 - 6
(or
ADD
-
ADD)
will
be
converted
to
7777
(-0).
J . 8'
sand
9'
s
All
numerical
information
on a program
line
must
be
in
octal
(6X - 1 0,
-400~).
LAP6
will
usually
convert
meaninglessly
any
numbers
containing
an
or
9.
K.
Text
-
1111
LAP6
will
retain
in
the
binary
program
the
6-bit
~board
Co..9:.§.s
of
any
characters
in
the
manuscript
which
are
set
off
as
"text
lt
by
the
upper
and
lower
quotation
marks.
~,The
following
will
be
converted
as
shown:
81000
SAE
;
"1RII
P
CONT
1000
1460
1001
0145
(01
is
the
code
for
1,
45
'for
R;
see
Chart
II.)
This
facility
simply
elimi-
nates
the
need
to
refer
to
a
keyboard
coding
sheet,
and
provides
more
readable
manuscript.
23
~4
Conversion
Conventions
Clear
ly
SAE
;
0145
would
accomplish
the
same
thing.
The
text
feature,
however,
is
useful
for
coding
characters
for,
say,
display
programs.
The
"rule"
for
using
text
is
simply:
every
character
between
quotation
marks
is
retained
as
keyboard
code
in
consecutive
half
words
in
the
binary
program.
1.
The
text
initiator
is
the
up~er
quotation
mark
(CASE
A).
The
terminator
is
the
lower
quotation
mark
tCASE
B).
The
quotation
marks
are
not
re-
tained.
a.
There
may
be
~
keyboard
characters
between
the
quotation
marks
ex-
cept
the
lower
quotation
mark
(which
terminates
the
text)
and
del
(which
deletes
the
line).
This
includes
the
upper
quotation
mark
itself.
1
82000
EOL
2
[LABELS
EOL
3
#3R
"GRAPH
#?IIEOL
4
#4X
"DAIA\t_:t~_OL
5
RUN
,?"
[COMMENT
EOL
Example
6.
Text
2.
A
line
of
text
may
be
of
any
length.
LAP6
will
assign
2
character
codes
to
a
register,
beginning
in
the
left
half
of,
in
Example
6,
register
2000:
P
CONT
2000 3245
2001 2443
2002 3314
2003 2260
Since
there
are
a
total
of
8
characters
between
the
quotation
marks on
line
3,
four
registers
will
be
required.
The
next
register
used
by
LAP6
will
then
be
2004.
a.
When
the
number
of
characters
between
the
quotation
marks
is
odd,
the
character
for
SPACE
(14)
is
automatically
put
in
the
right
half
of
the
last
word:
16-3
16-3
Conversion
Conventions
SHD
i
"Au
Conversion
1420
2414
(This
will
then
act
as
a
"blank"
if
the
characters
are
displayed.)
3. A
several
manuscri
t
lines
when
the
text
in-
cludes
.
In
Example a
text
line
is
begun
on
manuscript
line
4 and
terminated
on
manuscript
line
5.
The
rule
is
the
same, however,
-
every
character
between
the
quotation
marks
is
retained,
regardless
of
how
many
manuscript
lines
are
involved.
4.
A
line
of
text
may
be
tagged.
Tag
text
before
the
upper
quotation
mark.
The
tag
will
represent
the
memory
address
of
the
first
register
used
by
the
text.
Thus,
the
tag
#3R
on
line
3
of
Example 6
will
have
the
value
2000,
and
the
tag
#4X
on
line
4
will
have
the
value
2004.
(The
instruction
smr
i a
3R-4X
can
then
be
used
to
supply
an
index
regis-
ter
with
the
length
of
the
character
table
generated
by
the
text
on
line
3.)
5. A
manuscript
line
which
contains
a
line,
or
part
of
a
line,
of
text
may
not
contain
any
non-text
information
(program
instruction,
equal-
ity,
etc.)
except
that
it
may
be
tagged
before
an
upper
quotation
mark, and
may
include
a comment
after
a
lower
quotation
mark
(line
5,
Example
6).
L.
Spaces
and
Line
Format
1.
Spaces
are
permitted
anywhere
in
a
manuscript,
except
between
the
number and
the
letter
of
a
Number
Letter
combination.
~,
ADD,
P - 1 0 , 3 I
7C
,
6X
= ROC, 8 2 0 , #
2A
,
etc.
2.
Spaces
are
not
required
anywhere,
except
between
a number
and
a
let-
ter
which
do
not
represent
a
Number
Letter
combination.
~,
SAEi5
=
SAE5i
= 5
SAEi
,
etc.
3. The
elements
of
a
program
line
may
appear
in
any
order
on
the
line
so
long
as
tags
come
first.
~
,
#3K
ADD
p -
10
=
#3KpADO-10
=
#3K-10+pAOD
,etc.
#4RRDC
i u =
#4R
u i
RDC
=
#4R
u
ROC
i
,etc.
25
26
Bibliography
Clark,
W.
A.
and
C.
E.
Molnar,
"A
Description
of
the
LINC," Computers
in
Biomedical
Research,
Vol.
2,
1965, Academic
Press
Inc.,
New
York, 35-66.
Convocation on
the
Mississippi,
Proc.
of
the
Final
LINC
Evaluation
Program Meeting, March
18-19,
1965, Washington
University,
St.
Louis.
Marlowe,
L.,
LINC
Command
System,
Nov.
3,1965,
Brown
University,
(in-
formal
report).
McDonald,M.
D.,
S.
R.
Davisson, and
J.
R. Cox,
Jr.,
A
LINC
Utilitl
System,
Technical
Report
No.1,
Mar.
19,
1965, Biomedical Comput-
er
Laboratory,
Washington
University,
St.
Louis.
ter,
Technical
--~~~~~~--~~~~~--~---------
University
School
Wilkes,
M.
A.,
LAP3
Users'
Manual,
Aug.
1963, Center Development Of-
fice,
decd.,
Massachusetts
Institute
of
Technology,
(informal
report)
.
Wilkes,
M.
A.,
"LAP5:
LINC
Assemb~
Program,
It
Proc.
of
the·
DECUS
Spring
Symposium,
May
1966, Boston, 43-50.
Wilkes,
M.
A.
and
W.
A.
Clark,
"Programming
the
LINC
,"
LINC
Vol.
16,
Progra.nnning and
Use-I,
Section
2,
June 1965, Computer Research
Laboratory,
WaShington
University,
St.
Louis.
16-3
16-3
Block
Block
0 0
File File
270
270
UNUSED
300
LAP6
350
UNUSED
Current
Manuscript
Working
Area
426
426
INDEX
nIDEX
430 430
File
File
1 1
rI11
77'1
Standard
LAP6
(wi
th
file)
StandardLAP6
File
Chart
I.
Sta.ndard
LAP6
Tape
Organiza.tion
27
28
~1oIr;lr;lGlr.;llsllslr.;llall;l~
CliJL:wL:2LJUJ~~~WJJLJWU2JL:illL.::i!J
0
1
2
3
4
5
6
7
8
9
EOl
del
SPACE
;
P
r;l1wlfJ;lr;l~1vl1ulr;l1olr;l8
~LWLWLWL£JW~WU!JLWLW
~
'
~~~BJ~w~GJ[JJQ
A s 0 F
·G
H J K L + -
24
46
27
31
32 33
35 36
37
20
17
rr;l1zl1xlr<7l1vlr»;lr;lr;;lru;l~
Lill~WWLiLJWWLJ~U!JLW
~M~E~T~A-"""\
Lower
Case
00
+
20
M
40
01
21
N
41
02
II
22
0
42
03
CASE
23
P
43
04
A
24
Q
44
05
B
25
R
45
06
C
26
S
46
07
0
27
T
47
10
E
30
U
50
11
F
31
V
51
12
G-
32
W
52
13
H
33
X
53
14
I
34
y
54
15
J
35
Z
55
16
K
:P
17
l
37
Chart
II.
SPACE
(META)
(CASE
SPACE)
(CASE CASE)
(CASE
A)
(CASE
B)
(CASE
C)
(CASE
D)
(CASE
E)
(CASE
F)
(CASE
G)
LAP6
Keyboard
Code
EOL
12
U~Eer
Case
....
56
?
60~
61
u
62
63
64
8
65
[
66
67
II
70
II
71
-
<
72
>
73
]
74
*
75
76
\
1 '.
\
-I
.r
\
Numerical
Alphabetical
0
HLT
517
LSW
13
MUL
1240
0
MSC
600
LMS
ADA
1100
NOP
16
5
ZTA
640
UMB
ADD
2000
OPR
500
10
ENI
700
MTP
ADM
1140
OVF
454
11
CLR
700
ROC
APO
451
PIN
44.6
13 701
RCG
ATR
14
RCG
701
14
ATR
702
ROE
AlE
450
ROC
700
15
RTA
703
MTB
BCL
1540
ROE
702
16
NOP
704
WRC
BCO
1640
ROL
240
17
COM
705
WCG
BSE
1600
ROR
300
40
SET
706
WRI
CHK
707
RSW
516
100
SAM
707
CHK
CLR
11
RTA
15
140
DIS
740
MTT
COM
17
SAE
1440
200
XSK
1000
LOA
DIS
140
SAM
100
240
ROL
1040
STA
Dse
1740
SCR
340
300
ROR
1100
ADA
ENI
10
SET
40
340
SCR
1140
ADM
HLT
0
SHD
1400
400
SXL
1200
LAM
IBI
453
SKP
440
415
KST
1240
MUL
JMP
6000
SNS
440
440
SKP
1300
LDH
KBD
515
SRO
1500
440
SNS
1340
STH
KST
415
STA
1040
446
PIN
1400
SHD
LAM
1200
STC
4000
450
AZE
1440
SAE
LOA
1000
STH
1340
451)
APO
1500
SRO
LDH
1300
SXL
400
452
LIE
1540
BeL
LMB
600
UMB
640
453
ISZ
1600
SSE
LSW
517
weG
705
454
OVF
1640
BCO
LZE
452
WRC
704
455
III
1740
DSC
MSC
0
WRI
706
500
OPR
2000
ADD
MTB
703
XSK
200
515
KBD
4000
STC
MTP
700
ZTA
5
516
RSW
6000
JMP
MTT
740
Zll
455
Chart
III.
LAP6
Instruction
Mnemonics
and
Codes ,
29
Command
Arguments
SM
(LN~LN~)
NAME~UNIT
If
AM
BN~UNIT
or
NAME~UNIT
If
OX
UNIT
If
eM
NAME,
UNIT
If
CB
CF
UNIT
If
CV
None
OS
SB
NAME~UNIT
If
EX
None
LO
(NAME~
UNIT)
If
F None
CP
PX
UNIT
If
PM
(LN,LN,)
(NAME,
UNIT)
If
LI
NO
Appears
on Scope
no
current
manuscript;
if
Index
or
file
on UNIT
is
full.
no
manuscript
is
found
as
specified.
no
Index
is
found on UNIT.
no
entry
is
found
as
specified;
if
other
Index
or
file
is
full.
no
Index
on UNITJ
if
other
Index
or
file
is
full.
Never
no
binary
on
LAP
6
tape;
if
Index
or
file
on UNIT
is
full.
Never
no
binary
is
found
as
specified.
Never
no
Index
is
found on UNIT.
no
manuscript
is
found
as
specified.
Chart
IV.
Reasons
for
NO
~
I
W
CSP
PGR
LAP6
tape:
300-337
LAP
6
RCG
(701) 15)
RCG
340-347
Binary
working
area
7300 16) 7300 350-425
Current
ms
area
START
20 (JMP 15)
File
tape
(with
or
without
LAP6):
I 426-427
File
Index
Only
after
0-
2671
EX,
lO,
or
F 430-777
File
areas
MD
" !
MANUSCRIPT
DISPLAY.
EOl
terminates
ms
line.
..
LN
E9
locates
ms
at
c
LN.
Knob
7
changes
no.
of
lines
displayed.
START
b
erases
current
ms.
I T
...
META
COMMANDS.
State
during
MD.
Begin
with
META
(~).
Separate
two
or
more
arguments*
by commas.
Terminate
with
EOl.
If
NO
on
scope,
EOl
to
MD.
..
SM
+1 Save
current,
or
part
of
current,
ms
in
file
on
UNIT.
If
LN
given,
then
d
temporary
use
of
blocks
350-425 on
other
unit
durin~
execution
.
..
AM
U
Add
ms
to
current
ms
at
current
line.
NAME
or
BN
must
precede
UNIT.
..
OX
U
Display
Index
of
file
on
UNIT.
R:
restore
Index
after
wrong
deletions
.
#: make
deletions
permanent.
return
to
MD
c,e
..
CM
I
Copy
ms
from
file
on
UNIT
to
other
unit.
d
.....
CB
I
Copy
binary
from
file
on
UNIT
to
other
unit.
d
..
CF
u
COpy
all
non-duplicate
file
entries
from
UNIT
to
other
unit.
e
..
CV
Convert
current
ms.
Binary
to
blocks
340-347~
LAP6
tape.
3
displays:
e
ERRORS.
Multiply
defined.
two
LNs.
Undefined,
one
LN.
a.b
MEMORY
ALLOCATION.
Inclusive
locations
reQuired
by
binary
program.
a
SYMBOLS.
Value.
LN
for
all
symbols.
EOl:
save
SYMBOLS.
return
to
MD
. b
..
OS
Display
SYMBOLS
saved
durina
CV.
b.e
.....
SB
I Save
relevant
auarters
of
binary
or02ram from
last
CV
in
file
on
UNIT.
d
...
EX
Exit
from
LAP6.
Halt.
RESUME
rewinds
LAP6
tape.
CSP
or
PGR.
...
lO o Load
Binary
into
memory.
BN
to
Z3-Z11.
Unit
no.
to
ZO-Z2· Uses
reg.O.
Starts
binary
at
reR.
1.
CSP
or
PGR.
+F
Free
meta command.
Block
317
to
quarter
O.
Code
of
char.
following
F
to
Accumulator.
Starts
rea.
20.
PGR.
+CP
Copy
blocks.
Octal
keyboard
answers
to
displayed
questions.
EOl:terminate
answers.
del:
delete
answers.
CASE:
interrupt
display.
return
to
MD
...
PX
U
Print
Index
on
UNIT
on
teletype
(bit
O.
Relay
Reaister).
e
..
PM
+0
Print
ms
on
teletvoe
(bit
O.
Relav
Re2ister)
e
...
lI
+0
List
ms
with
symbols,
memory
address,
and memory
contents
on
teletype
e
(bit
O.
Relav
Re2ister).
LN
-1
lists
without
symbols.
*
I:
NAME,
UNIT
required.
U:
UNIT
required.
0:
N~,UNIT
optional.
If
none,
uses
current
ms
or
binary
from
340-347.
+:
LN
or
LN.LN
optional
(before
NAME.UNIT
if
any).
Indicates
part
of
ms.
I
BN:
first
Block
Number
a EOl:
2et
next
display
CSP:
Console
Start
Procedure,
to
MD
a b
R:
return
to
MD
current
ms:
ms
displayed
during
MD
b c
CASE
0:
fwd
1
frame
LN:
ms
line
number (max. 7775
octal)
b c
CASE
0:
bkwd
1
frame
ms:
manuscript
(max.
no.
blocks
-
45;
c
CASE
1:
fwd
1
line
max.
no.
chars./line
= 512) c
C~S~
W:
bkwd
1
line
NAME:
name
of
file
entry,
max. 8
chars.
e
del:
delete
last
scope
line
PGR:
Programmed
Return
to
MD
dl
R:
replace
duolicate
entry
UNIT:
tape
unit
number (0. 1. 4.
5)
die
EOl:
interrupt;
return
to
MD
LAP6
Operation
Summary
16-3
Notes
Efficient
Handling
of
LAP6
Editing.
Although
lines
may
be
edited
in
any
order,
LAP6
is
occasionally
more
efficient
(less
tape
shuffling)
if
low numbered
lines
are
edited
before
high
numbered
lines.
If
you
are
simply
reading
the
manuscript
(i.e.,
not
chang-
ing
it),
the
tape
efficiency
is
not
affected.
The
abilities
to
SAVE
part
of
a
manuscript
and
to
ADD
one
manuscript
in
the
middle
of
another
manuscript
can
be
used
to
reconfigure
large
manuscripts
and
to
substitute
for
a
REMOVE
command.
Saving
part
of
a
manuscript
not
only
puts
the
new
manuscript
in
a
file,
but
also
leaves
it
in
the
working
area
of
the
oth-
er
tape.
It
can
be
brought
into
the
current
working
area
with
the
command
..
AM
350,1
EOL'
Adding a
manuscript
is
much
faster
if
the
manuscript
is
not
on
the
LAP6
tape.
Move
it
with
CM
or
CP
to
another
tape
before
executing
the
AM
command.
Conversion
is
faster
if
location
statements
which
refer
to
addresses
in
one
pair
of
memory
quarters
(pairs:
0-1,
2-3, 4-5, 6-7)
are
not
interspersed
with
location
statements
which
refer
to
addresses
in
different
pairs.
This
technique
will
save
some
tape
shuffling
during
conversion.
Conversion
Procedure
The
converted
values
of
discrete
elements
of
a
program
line
are
always
added
to
the
word
being
assembled.
The complemented
value
of
an
element
pre-
ceded
by
a minus
sign
is
added.
Thus,
SET
OPR,
which
is
converted
to
540,
is
equivalent
to
SET+OPR;
i
i,
which
is
converted
to
40,
is
equivalent
toi+i.
Exiting
If
either
EX
or
10
is
executed
when 1
is
the
current
line
number,
the
manu-
script
display
will
suggest
that
there
is
no
current
manuscript,
which
mayor
may
not
be
the
case.
Therefore,
if
~
when
restarted,
displays
only
the
line
number
1,
do
not
assume
that
there
is
no
current
manuscript
without
trying
to
locate
forward
(to
a
higher
line
number)
once.
Working Axea
Length
LAP6
checks
for
various
boundary
crossings"
It
will
not,
for
example,
permit
a
manuscript
to
go beyond
the
working
area
into
the
Index.
If
the
manuscript-Index
boundary
is
encountered,
LAP6
ignores
additional
manuscript
input.
It
will,
however,
continue
to
honor
all
the
meta
commands.
You
can
thus
SAVE
the
MANUSCRIPT,
equip
yourself
with
a
configuration
of
LAP6
which
has
a
larger
working
area,
and
continue.
1
2
Notes
LAP6
Manuscript
structure
COding
Rules:
A
LAP6
manuscript
is
a
single
string
of
6-bit
character
codes.
On
a
LINC
tape
the
codes
are
stored
in
sequential
half-words
in
sequential,
contiguous
blocks,
in
the
order
in
which
they
appear
on
the
scope.
1.
The
first
word
of
the
first
block
contains
the
number
2065.
The
second
word
contains
5712.
The
last
half-word
of
the
manuscript
contains
77.
There
is
no
other
control
information
associated
with
a
LAP6
manuscript.
2.
The
characters
are
coded
as
on
Chart
II.
The codes
for
del
(13),
CASE
(23),
META
(56
and 57), and
77
(except
last)
do
not
appear
in
a
LAP6
manuscript.
One
EOL
(12) does
not
appear
next
to
another
EOL.
3.
There
are
no
more
than
51110
codes between two
EOLs.
Generat~ManUScript:
A
manuscript
may
be
generated
other
than
with
LAP6,
and
used
with
LAP6.
However,
it
must:
1.
Conform
to
the
above
coding
rules.
2.
Be
put
in
contiguous
blocks
on a
LINC
tape.
16-3
3.
Not
be
put
in
the
manuscript
working
area
(blocks
350-425)
of
a
LAP6
tape.
4.
Be
added
to
LAP6
with
ADD
MANUSCRIPr,
..
AM
BN,
UNITEOL
If
the
above
procedure
is
followed,
the
generated
manuscript
may
then
be
treated
as
any
other
tAP6
manuscript.
.
Manipulating
Manuscript:
LAP6
maybe
used
to
generate
a
manuscript
(~,
a programming
language,
a
bibliography,
etc.)
which
is
to
be
the
data
source
for
some
other
program.
You
may
assume
that
the
current
manuscript
on
the
LAP6
tape
(blocks
350
ff.)
conforms
to
the
above
coding
rules,
and
is
therefore
accessible,
following
the
commands
EX,
F,
CP,
CV,
W,
and
SM.
You
may
read
the
manuscript
directly
from
the
working
area.
Do
not,
however,
write
back
into
the
working
area.
Following
these
com-
mands you'
may
ADD
the
MANUSCRIPr
from
the
current
working
area
into
the
working
area
of
another
copy
of
LAP6.
Copying
LAP6
Tapes
To
copy a
LAP6
file
use
CF.
(see
"Manipulating
Manuscript").
To
copy
the
current
manus
cript
use
CP
or
AM
To
copy
LAP6
use
CP
and
note
the
following:
Since
LAP6
writes
over
parts
of
itself
in
blocks
300-347
while
running,
the
probability
that
any two
copies
of
LAP6
are
ever
exactly
alike
is
extremely
re-
mote. Copying
only
some
of
the
blocks
between
300
and 347,
i.e.,
to
patch
up a
damaged
LAP6,
will
therefore
generally
result
in
a mess.
Yo~t
copy
all
508
blocks
at
once.
16-3
Notes
Avoid
copying
a
version
in
which
either
EX
or
10
was
the
last
command
ex-
ecuted.
Such a
version
assumes
that
there
is
a
particular
manuscript
in
its
working
area.
Using
this
version
on a
different
tape
may
result
in
another
mess
unless
the
working
area
is
also
copied.
One
procedure
guaranteed
to
work
is
for
the
version
which
is
to
be
copied
to
do
the
copying
and
to
COPY
itself.
The
last
command
executed
will,
of
course,
have
been
CP
when
the
version
is
started
from
another
tape,
and
there
will
be
no
confusion
about
the
current
manuscript.
Filing
Limitations
The
filing
limitations
of
LAP6
are
obvious.
The
SAVE
BINARY
command
will
file
only
a program which
LAP6
has
converted,
and
which
therefore
is
no more
than
8
blocks
long.
Furthermore,
no
command
will
permit
an
entry
to
be
filed
in
specific
blocks.
If
LAP6
files
it,
LAP6
decides
where
to
put
it.
There
are
various
ways
around
these
limitations.
In
this
connection
note.
that
the
COPY
BINARY,
COPY
FILE, and
LOAD
BINARY
commands
are
not
bothered
by
binary
entries
longer
than
8
blocks.
The
first
two
simply
copy
entries
as
they
are
described
in
the
Index,
no
matter
how
long
they
are,
and
LOAD
BINARY
loads
as
many
blocks
as
it
can,
through
quarter
7.
It
does
not
load
around
the
end
of
the
memory.
Thus,
if
a
binary
entry
is,
say,
12
blocks
long
and
its
first
block
is
for
quarter
3,
LO
will
load
only
the
first
five
blocks
of
the
entry,
into
quarters
3
through
7.
To
file
binary
information
which
LAP6
has
not
converted,
you
can
create
a
pseudo
file
entry
and
then
COPY
into
the
entry's
file
space
the
binary
infor-
mation
you want
in
the
file.
The
easiest
way
to
do
this,
if
8
or
fewer
blocks
are
needed,
is
to
make
up
the
three
line
manuscript:
1 83777
2 0
3 0
Convert
it
(CV). Save
the
resulting
8
block
binary
"program"
in
a
file
(SB).
This
provides
a named
binary
entry
in
the
Index,
and
8
contiguous
blocks
(of
zeros)
in
the
file.
Display
the
Index
to
find
out
where
the
8
blocks
·~e,
and
then
copy (CP)
whatever
you
want
into
the
8
blocks.
LOAD
BINARY
will,
in
this
case,
load
all
8
blocks.
You
may
also,
of
course,
COPY
anything
into
a
manuscript
file
space,
which
is
thus
not
limited
to
8
blocks
.
Neither
ADD
MANUSCRIPr
nor
WAD
BINARY,
how-
ever,
will
be
any
use
in
retrieving
it.
All
the
filing
limitations
can
be
avoided
by
creating
a
file
Index
your-
self.
You
can
prepare
a
LAP6
manuscript
of
Index
entries
which
when
converted
is
identical
to
a
LAP6
Index,
and
can
be
copied
(CP)
into
the
two
Index
blocks
on a
tape.
This
permits
you
to
make
entries
of
any
length,
or
to
claim
specif-
ic
blocks
in
a
file
before
LAP6
has
a chance
to
assign
the
blocks
to
something
else.
The
Index
thus
created
can
then
be
used
by
any
LAP6
filing
commands,
which
will
simply
file
around
your
entries.
So
long
as
the
fixed
entries
are
4
Notes
not
deleted
from
the
Index,
their
file
space
will
never
be
used
by
LAP6.
If
file
entries
are
to
keep
fixed
tape
locations
when
being
copied
to
anoth-
er
file,
they
must,
of
course,
be
moved
with
CP
(not
CM
or
CB).
To
copy a whole
file
which
contains
some
fixed
location
entries,
COPY
the
Index
first.
Delete
from
the
"new"
Index
all
the
entries
which do
not
need
a
fixed
location.
COPY
FILE from
the
old
file
into
the
new
one
to
move
those
entries,
and
COPY
the
en-
tries
which have a
fixed
location.
Index
Structure
You
may
have
occasion
to
make
up a
file
Index
as
a
LAP6
manuscript,
or
to
write
programs which
scan
an
Index
for
specific
entries.
The
Index
structure
must
be
well
understood.
A
LAP6
Index
is
always two
blocks
long
and
is
always
in
tape
blocks
whose
block
numbers end
in
6 and 7
(regardless
of
configuration).
The
two
blocks
are
divided
into
1008 segments
of
lOR
words
each.
The
first
segment
is
the
Index
identifier;
the
other
778
segments
are
for
Index
entries.
An
Index
always
has
the
correct
identifier
and
at
least
one
entry.
Identifier:
if
the
two
blocks
are
an
Index,
this
segment has 5757
in
all
8 words.
If
the
two
blocks
are
not
an
Index,
these
8 words
contain
anything
but
5757.
Entry
Segments:
an
entry
segment always
contains
the
entry
name
in
the
first
four
words.
If
the
segment
contains
a name,
it
must
describe
either
a
manuscript
in
the
fifth
and
sixth
words,
or
a
binary
program
in
the
seventh
and
eighth
words,
or
both.
A
name
does
not
appear
without
at
least
one
of
these
entries.
A manu-
script
and a
binary
program
of
the
same
name
must
be
described
in
the
same
entry
segment.
An
unused
entry
segment
has
5757
in
all
8 words.
Name:
first
four
words.
The
entry
name
is
stored
in
8
half-words
beginning
m'the
left
half
of
the
first
word
of
the
segment. Unused
half-words
in
the
name
contain
77. The
name
confo~
to
the
rules
for
entry
names
described
under
"Files"
in
the
Handbook, and does
not
begin
with
a
space.
The
char-
acters
are
coded
as
on
Chart
II.
Manuscript
Entry:
the
first
block
number
of
the
manuscript's
location
in
the
file
is
stored
in
the
fifth
word. The
length
of
the
manuscript
(number
of
blocks)
is
in
the
sixth
word.
If
there
is
no
manuscript
entry,
these
two words
contain
5757'.
Binary
Entry:
the
first
block
number
of
the
binary
program's
location
in
the
file
is
stored
in
the
seventh
word,
with
the
number
of
the
first
quarter
into
which
it
is
to
be
loaded
in
the
left
three
bits.
The
length
of
the
binary
program (number
of
blocks)
is
in
the
eighth
word.
If
there
is
no
binary
entry,
these
two words
contain
5757.
16-3
16-3
Example:
Name
Manuscript
Entry
Binary
Entry
Coded
Entry
Segment
Notes
NAME
GRAPH
BN
#BLKS
M
100
B
230
33
16
Corresponding
Index
Display
Used segments
are
not
necessarily
"packed"
in
the
Index.
They
may
be
inter-
spersed
with
unused
segments.
Since
all
unused
segments,
or
unused
2 word
entries
within
a
segment,
con-
tain
5757,
this
number
can
be
used
for
scanning
the
Index
to
locate
specific
entries.
If
a segment
is
not
used,
it
will
contain
5757
in
the
first
word
of
the
name.
If
it
is
used,
and
describes
a
manuscript,
the
left
three
bits
of
the
fifth
and
sixth
words
will
contain
O.
If
the
segment
does
not
describe
a
manuscript,
these
bits
will
contain
a 5.
If
the
segment
describes
a
binary
entry,
the
left
three
bits
of
the
eighth
word
will
contain
0;
otherwise,
5.
(The
seventh
word,
which
may
contain
quarter
number 5,
should
be
ignored.)
LAP6
Configuration
As
has
been
suggested,
LAP6
need
not
have
the
tape
configuration
described
in
the
Handbook,
and
a
different
configuration
may
be
more
appropriate
in
cer-
tain
cases.
Other
configurations
operate
exactly
as
the
standard
LAP6,
but
do
so
with
reference
to
different
tape
blocks
and
block
areas.
Thus
if
you
are
using
another
configuration,
you
must
note'
the
different
block
numbers
and
make
the
appropriate
adjustment
when
reading
the
Handbook.
Regardless
of
what
configuration
LAP6
has,
it
assumes
that
any
other
tape
which
it
ma
use
durin
eration
has
the
same
confi
ation.
You
cannot,
for
example,
use
a
configuration
of
whose
Index
is
at
52
to
file
entries
in
a
file
whose
Index
is
at
426.
Any,
or
all,
of
the
following
may
differ
from
the
standard
configuration:
Tape
Unit:
LAP6
may
operate
from
another
tape
unit.
If,
for
example,
the
con-
figuration
is
for
unit
1,
it
must
be
mounted on
unit
1,
and
read
with
RCG
u,
etc.
SAVE
MANUSCRIPr
with
line
number arguments
will
then
use
the
unit
0
work-
area
during
execution.
Lower
File:
(standard:
0-267)
Begins
at
block
0 and
may
end
anywhere
below
LAP6.
I.e.,
may
be
of
any
length,
creating
more
or
less
UNUSED
blocks
between
the
lower
file
and
LAP6.
5
6
Notes
LAP6:
(standard:
300-347)
May
be
anywhere,
but
is
always 508
blocks
long.
The
configuration
of
blocks
within
LAP6
does
not
change.
The
FREE
meta
block
(stan-
dard:
317) and
the
binary
working
area
(standard:
340-347)
are
always
in
the
same
position
relative
to
the
first
block
of
LAP6.
Working Area:
(standard:
350-425)
May
begin
anywhere above
LAP6,
creating
UN-
trsED
blocks
between
LAP6
and
the
working
area.
It
may
be
of
any
length,
but
al-
ways ends
at
the
block
before
the
Index.
Index:
(standard:
426-427)
May
be anywhere above
the
beginning
of
the
working
area,
but
is
always 2
blocks
long
and
terminates
the
working
area.
~r
File:
(standard:
430-777)
May
begin
anywhere above
the
Index,
creating
ED
blocks
between
the
Index
and
the
upper
file,
but
always ends
in
block
777.
The
relative
positions
of
the
Index
and
the
two
file
areas
will
affect
the
filing
behavior
of
LAP6.
Regardless
of
configuration,
however,
the
filing
algo-
rithm
does
not
change.
LAP6
always
files
within
the
reserved
file
area
only,
as
close
as
possible
to
the
Index.
If,
for
example,
there
is
no
lower
file
at
all,
all
entries
will
be
filed
sequentially
in
the
upper
file
area
only.
If
you change from
configuration
A on
tape
A
to
configuration
B whose
Index
B
is
in
a
different
place,
you
can
move
the
Index
on
tape
A
to
the
Index
blocks
that
configuration
B
requires
with
CPo
Although
LAP6
will
file
entries
only
in
the
file
area
reserved
for
the
new
configuration,
it
makes
no-assumptions
about
the
information
already
in
a
file
Index.
If,
in
order
to
work
with
a
new
configuration,
an
Index
is
moved,
say,
from
blocks
426-427
to
blocks
576-577, and
that
Index
describes
a 10
block
manuscript
named
CHARLES
in
the
old
file
area
at
block
430,
it
still
describes
such
a manu-
script.
The
manuscript
CHARLES
will
be
properly
found
by
the
new
configuration.
If,
however,
the
Index
is
copied
into
the
old
file
area
on
top
of
a
file
en-
try,
the
record
of
the
now
destroyed
entry
must
be
deleted
from
the
Index.
It,
of
course,
cannot
be
properly
found
by
the
new
configuration.
Various
Failures
LAP6
makes
fairly
heavy demands on
the
tapes
and
requires
well
tuned
units.
Trouble
may
appear
which a machine has
not
previously
exhibited.
Although any
sort
of
trouble
should
be
fixed
immediately,
LAP6
is
written
to
maximize
the
pos-
sibility
of
recovery.
LAP6,
the
current
manuscript,
the
Index,
and
the
file
entries
can
all
be
treated
as
separate
elements
should
you
ever
have
to
patch
things
up.
If
one
element
is
damaged,
the
others
are
probably
all
right
and
can
be
salvaged.
In
addi
tion,
the
general
structure
and
identif'ying
coding
of
manuscripts
and
file
indices
have
been
kept
as
simple
as
possible.
Tape StoEPing
LAP6
uses
the
IBZ
instruction
frequently
to
control
the
tape
motion.
Occa-
sionally,
however, a
tape
will
suddenly
stop
in
the
middle
of
otherwise
very
busy
looking
activity,
and
LAP6
will
loop:
16-3
16-3
p-l
P
(START
RS
here)
p+l
Notes
r
IBZ
JMP
p-l
(code 453)
(code 6000 +
p-l)
Since
the
tape
has
stopped,
the
program
will
never
skip
on
the
IBZ
test.
Recovery:
if
you
suspect
this
problem,
you
simplY
have
to
take
LAP6
out
of
the
loop:
1.
Push
INSTR
BY
INSTR.
(This
is
always
safe.)
The
INSTRUCTION
lights
will
show
the
code
for
either
IBZ
or
JMP
p-l.
2.
STEP
a
few
times
to
verify
that
the
program
is
indeed
in
the
2
instruc-
tion
IBZ
loop.
If
not,
raise
RESUME.
3.
Put
"p+l"
(the
location
after
the
JMP
instruction)
in
the
RIGHT
SWITCHES.
4.
Push
START
RS.
LA.P6
will
continue
unharmed.
Cure:
if
this
happens
frequently,
you
should
find
out
why
the
tape
is
stopping
before
an
IMARK
appears.
Possibilities:
1.
The
tape
heads need
cleaning.
Frequently
this
is
all
that
is
required.
2.
The
tape
reel
is
slipping
on
the
hub. The hub needs
another
rubber
band.
3.
4.
The
tape
timing
channel
is
noisy;
spurious
END
MARKS
are
appearing.
l
1
A
spurious
Unit
change
is
causing
a motion
stop.
Bad
Block
ottA.,.
tOL~
~
M
If
the
execution
of
a meta
command~eveals
a
bad
block
not
in
the
LAP6
or
current
manuscript
area,
~,
on
another
tape
or
in
a
file,
you
can
recover:
1.
STOP
the
computer.
2. Read
LAP6
in
again
(RCG,
7300).
3.
Put
17
in
the
RIGHT
SWITCHES
and push
START
RS.
EXIT
from
LAP6
and,
if
LAP6
was
executing
a
filing
command
at
the
time,
read
the
section
on "Damaged
File
Area."
Tape
Missing
If
you
forget
to
mount a
tape
on
another
unit,
whose hub
frustratingly
DI*i,.
~
starts
to
spin
because
LAP6
is
trying
to
execute
a meta commandkwhich needs
1\-1\1\
that
unit,
use
the
3-step
recovery
procedure
described
under
"Bad
Block."
Then
mount
the
needed
tape
and
restate
the
meta
command.
~or
standard
LINCs
see
dwg.
1025,
LINC,
Vol.
12,
Logic Drawings and Timing Diagrams. 7
8
Notes
Damaged
or
Lost
Manuscript
There
is
no
need
to
erase
the
current
manuscript
if
you
suspect
that
part
of
it
has
been
damaged.
Manuscript
lines
are
self-contained;
therefore
any
line
which
looks
strange
can
simply
be
deleted
and
replaced.
If
LAP6
loses
track
of
the
current
manuscript
(START
20
pushed
too
often,
or
LAP6
replaced
and
restarted),
execute
~AM
350,OEOL.
The
manuscript
will
be
all
right
if
the
last
thing
LAP6
did
was
EX,
F,
CP,
CV,
10,
or
SM.
If
you
aren't
sure
what
it
did,
proofread
the
manuscript.
In
a;ny
case,
executing
the
AM
command
will
do no harm.
If
LAP6
refuses
to
add a
manuscript
(AM)
to
the
working
area,
the
first
two
coding
words
are
damaged.
Put
2065
and
5712
into
the
first
two words
of
the
first
block
of
the
manuscript.
Add
the
manuscript
again
and
proofread
it.
If
the
final
77
is
damaged,
LAP6
will,
while
locating
forward,
or
adding
it
with
AM,
keep
adding
manuscript
until
it
finds
a
77
or
stops
because
of
a
boundary
condition.
In
either
case
no harm
will
be
done.
The
garbage
will
probably
be
innnediately
obvious on
the
scope
and
can
be
deleted.
Between
the
first
two
coding
words and
the
final
77,
the
only
thing
that
can
be
wrong
results
from
rare
trouble
of
the
bit
dropping
(or
picking
up)
va-
riety
which changes one
character
code
into
another.
Thus
it
is
possible
that
character
codes
which
"do
not
appear
lf
in
a
LAP6
manuscript
may
do
just
that.
The
spurious
codes
will
do no harm
in
the
manus
cript
A
23
(CASE)
however,
will
give
the
CONVERT
and
LIST
commands
indigestion.
To
make
them
easier
to
spot
and
delete,
these
codes
are
all
displayed:
1.
13
(delete)
and
23
(CASE)
appear
as
?
2.
56
(META)
in
the
middle
of
a
line
unfortunately
appears
as
a
dash,
-,
but
usually
in
an
unlikely
post
tion
in
the
line.
At
the
beginning
of
a
line
it
appears
as
a
meta
command.
3.
57
(META)
appears
as
the
arrowhead.
4.
77
appears
as
an
unrecognizable
"squiggle."
The
line
should
be
deleted
innnediately
since
the
77
will
truncate
the
manuscript.
Damaged
Index
The
Index
of
a
file
tape
has
no
back-up.
If
damage
to
these
two
blocks
is
such
that
they
cannot
be
read
even
with
RDE,
there
is
nothing
you
can
do.
If
the
tape
is
all
right,
however,
the
only
reason
LAP6
will
refuse
to
display
the
Index
(displays
NO)
is
that
the
Indexidentifieris
incorrectly
coded.
Read
the
first
block
(426)
of
the
Index
into
the
memory
and
put
5757
in
the
first
eight
words
only.
Write
the
block
back
in
426.
Execute
the
DX
command
again,
and
delete
any
damaged
entries.
If
one
block,
but
not
both,
of
an
Index
cannot
be
read,
the
other
block
is
worth
salvaging.
On
another
tape
make
an
Index
you
don't
care
about
by
saving
something
(SM
or
SB). Then
try
to
COPY
(CP)
separately
each
of
the
two
Index
blocks
on
the
bad
tape
into
the
Index
blocks
on
the
good
tape.
If
at
least
one
block
copies
successfully,
that
half
of
the
Index
is
probably
all
right.
Display
16-3
16-3 Notes
or
print
the
good
Index
to
find
out
where
the
file
entries
are
on
the
bad
tape,
and
move
them
with
CP
to
the
good
tape.
To
salvage
the
information
in
an
Index
block
which
can
be
read
with
RDE,
but
which
does
not
check,
read
the
damaged
block
into
the
memory
and
decode
it
segment
by
segment
at
the
console
(see
"Index
structure").
Damaged
File
Area
If
there
is
tape
trouble
while
LAP6
is
reading
or
writing
a
file
entry,
you
can
salvage
the
rest
of
the
file
by
deleting
from
the
Index
the
entry
in
the
bad
blocks,
and
then
copying
the
file
(CF) from
the
bad
tape
onto
a good
tape.
Since
the
entry
is
not
described
in
the
Index,
LAP6
will
not
try
to
read
the
bad
blocks.
LAP6
always
writes
the
Index
before
it
writes
the
corresponding
entry
in
the
file.
Thus,
if
trouble
occurs
inbetween
these
two
operations,
the
Index
will
describe
an
entry
which
is
not
there.
The
entry
should
be
deleted
from
the
Index
before
you
try
to
recover.
9
Notes
Notes
Notes
LAP6
Haster
Tape
This
tape
contains
several
configurations
(see
Handbook)
of
LAP6
plus
a few
special
programs~
It
should
be
viewed
as
a back=up
tape,
not
to
be
used,
from
which
the
things
you
want
to
use
must
be
copied
onto
another
,
tape.
Mos~
of
the
copies
of
LAP6,
in
particular,
are
not
in
the
correct
blocks
for
their
configurations,
and
cannot
be
run
from
this,
tape.
The
'programs
and
LAP6
configurations
are
described
in
detail
on
'subsequent
pages.
I
The
format
of
the.
Master
Tape
is
as
follows:
S2ecial
Programs
COPY
TAPE
TRANSLAT
MARK
INDEX
MS
LAP6GRID
LAP6
Configurations
STANDARD
LAP6
Standard
BACK-UP
Configuration
1
Configuration
2
Configuration
3
Configuration
4
Configuration
5
Block
o
430
431-
434
440
. 300
350
10
60
130
, 200
600
l~qt-Blocks
(octal~
1
(Binary
Program)
1
(Binary
Program)
3
(Binary
Program)
4
(Manuscript)
2 (Manuscript)
50
50
50
50
50
50
50
Any
deviation
from
the
Standard
configuration
is
given
a
configuration
number.
It·
is
strongly
recotnmended
that
the
reel
of
any·
LAP6
tap~wh~ch
has
a
non-Standard
configuratio~.be
clearly
marked
with
its
configuration
number.
Index
The
2
block
INDEX
on
this
tape
in
blocks
426-427.
which
can
be
displayed
by
any
Standard
LAP6.
describes
the
above
tape
contents.
M.A.
Wilkes
Computer
Research
Laboratory
Washington
University
724
S.
Euclid
Ave.
St.
Louis,
Mo.
63110
COPYTAPE
Block
0 1
block
Author:
Robert
Abbott
Thi.s
program
copies
the
contents
of
the
entire
tape
on
Unit
Q
onto
the
tape
on
Dni
t
l.
On
the
LAP6
Master
Tape
~
t
is
supplied
as
a
lead.er
in
Block
o
for
making
back-ups
of
the
Master
Tape.
It
can,
however,
operate
from
any
block
on
any
unit.
-To
operate:
..
1.
Read
COFYTAPE
into
Quarter
o.
'2.
Mount
the
tape
to
be
copied
on
Unit
o.
3. ' Mount a
marked
tape
on
Unit
1'.
,4.
Push
SIfAR1r
20.
All
the
blocks
will
be
read
from
Unit
0
and
written
on
Unit
1.
All
the
blocks
on
Unit
1
will
then
be
checked.
A
block
will
be
rewritten
if
it
does
not
check.
'When
all
have
checked,
"nONE:"
will
be
displayed
on
the
scope,
and
,
the
tape
on
Unit
1
will
be
rev,ound.
START
20
may
be
pushed
again
to
copy
a
second
tape,
or'to
restart
if
'there
is
trouble
during
operation.
There
is
no
need
to
read
COPYTAPE
in
again
before
restarting
it.
TRANSLAT
Block
430 1
block
Author:
Mary
Allen
Clark
LAP6
manuscripts
are
not
compatible
with
manuscripts
prepared
by
other
LINC
Assembly Programs.
'rRANSLAT
translates
LAP3
or
LAP4
manuscripts
into
LAP6
manuscripts.
The
LAP3
or
J~4
manuscripts
must
be
on a
tape
on
Unit
1.
They
will
be
filed
by
name
in
a
LAP6
file
on
Unit
O.
. -
TRANSLAT
operates
as
a
FREE
meta
command
for
the
Standard
configuration
of
LAP6
.
.
To
use:
I
I
1.
\
Copy
TRAl'ISLAT
from
block
430 on
the
master
tape
into
block
3i
7
(the
FREE
block)
of
a
Standard
configuration
ofLAP6.
'2.
Using
the
same
Standard
configuration,
start
LAP6
and
prepare'
a
LAP6
manu-
script
describing
the
manuscripts
to
be
trans~ated:
.
a.
On
manuscript
line
1
type
the
block
number
of
the
first
block
of
a
LAP3
or
LAP4
manuscript
which
can
be
found on
Unit
1.
b.
On
manuscript
line
2
type
the
NAME
the
manuscript
(from
step
a)
is
to
have
in
the
LAP6
file.
'-
c
..
Repeat
steps
a-b
for
each
manuscript
to
be
translated,
describing
as
many
manuscripts
as
necessary.
Block'numbers
should
appear
on odd
numbered
lines;
corresponding
Names
on even numbered
lines.
Do
not
put
anything
except
block
numbers
and
legal
LAP6
file
Names
in
the
manuscript.
'"
':"
Example:
f
1
201
.2
TAPETEST
3 206
4
DATA
RUN
..
, When
all
the
Unit
I
manuscripts
which
are
to
be
translated
have
been
de-
scribed
in
the,
LAP6
manuscript"
state
the
FREE
meta
C?mmand
(..,..F
EOL
).
TRANSLAT
will
move
the
manuscripts
from
Unit'
1
into
a
Standard
LAP6
f.ile
on
Unit
O.
The
Unit
0
tape
may
not
contain
a
needed
LAP6
file
or
Index;
TRANS-
LAT
creates
its
own
Index
for
the
LAP6·tape, and
uses
whatever.ij.le
space
it
needs..
It
does
not,
however,
disturb
the.
information
on
the
Uril t I
tape.
;'
\
. "
1..J-
r v
".s
a h
~
P
r-e
" \ 0
vS
,\....
i.e..
x 0
11\
V
~
{t-·
o.
II
s e
"'-
S
cr
~
~d'\
~~
f'e I \ \
...
' The
burden
is
on
the
user
to
prepare
the
manuscript
for
TRANSLAT
correctly.'
LAP6
file
Names
may
be
no more
than
-8'
characters
long,
not
all
numbers.
'Two·
.
manp.scripts
in
the
same
file
may
not
have
the
same.,Warne
(see.
"Files"
in
the
H~0..oook).
..
TRANSLAT
returns
automatically
to
LAP6.
Display
the
Index
on
Unit
0
(~DX
0V.OL)
to
make
sure
that
all
the
manuscripts
described
were
translated.
A
manus~rlpt
will
be
omitted
if
it
was
not
foun4
as
a
legal
LAP3
or
LAP4
manu-
script
on
Unit
1,
or
if
the
Index
or
file
on
Unit
0
fills
up
before
all
have
been
translated.
~ve
the
man1l;scri:p~j_~~tr~?Xls.l?-.t~ct~Q..ff.
__
the..Jlnit~Q~-,.t_~l?_~
__
w~
th
COPY
.~.!!:lE>
__
"~~
-+-~~~QJl_~e!?!,~~..rw.mi~g...:the._~S!u\TJ!_~~E~_~~~~~;
MARK
Block
431
3
blocks
Author:
Severo
M.
Ornstein
The
.NARK
program
marks
virgin
tape
for
use
by
the
IJINC.
After
marking,
,
the
tape
'\-lill
begin
with
a
short
end
zone
and
end
with
a
long
end
zone.
There"
are
two
extra
check
'marks
at
the
end
of
each
tape
block.
To
use:'
1.
Check
the
mark
clock.
It
should
be
set
as
precisely
as
possible
at
10
us.
'
2.
Degauss
the
tape.
(rfmove.
~O(J"'·
Wl;Sfw
ot+
e4
()
.
'3.
If
the
tape
is
new,
run
it
manually
across
the
head
a few
times
to
align
it
on
the
reels.
4.
Clean
the
tape
heads.
5.
Read
the
3
blocks
of
the
MARK
program
into
quarters
0-2
and
push
START
20,
£E.
,mount
a
Standard
LAP6
on
Unit
0
and
LOAD
the
program
(-)LO
MARK,Unit
EOL
).
The
following
"Till
be
displayed:
'
,
ALLOW
UNIT
0
TO
REWIND,
THEN
MOUNT
VIRGIN
TAPE
ON
UNIT
1,
Al~
PRESS
MARK
BUTTON
,6'.
Allow
the
tape
on
Unit
0
to
rewind
and
mount
the
tape
to
be
marked
on
Unit
1.
,Wind
about
6"
of
the
tape
onto
the
lefthand
hub
(about
one
turn
of
the'
, ;
reel).
7.
Press
the
"MARK"
button.
8. When
the
prpgram
halts,
manually
rewind
the
tape
onto
the
righthand
hub
to'
get
the
tape
beyond
the
righthand
end
zone.
This
is
accomplished.
by
press-
.
ing
the
righthand
pushbutton
for
about
five
seconds.
9.
Raise
the
,,"RESUME"
lever.
When
the
tape
has
been
marked,
written
upon,
and
checked
properly,
the
.following
will
be
displayed:
GOOD
TAPE
EOL
FOR
LAP
If
the
MARK
program
was,
LOADed
by
LAP6,
you
can
remount
the
LAP6
tape
on
Unit
o
and
strike
EOL
to
return
to
LAP6.
If,
however,
you
wish
to
mark
another
tape,
repeat
steps
2
through
!~
and
6
through
9
above.
If'
there
has
been
a.
failuxe
in
the
marking
process,
"CHECK
FAILURE"
will
be
displayed.
Start
over
again
at
step
~.
INDEX
MS
Block
434 4
blocks
Author:
Mary
Allen
Clark
INDEX
MS
is
a
LAP6
manuscript
which when
converted
supplies
the
5757 code
for
unused
slots
in
a
LAP6
Index.
It
is
simply
an
aid
to
creating
indices
of
your
own.
To
use:
l.
Start
LAP6,
and
erase
any
current
manuscript
by
pushing
START
20;
2.
Add
INDEX
ME
to
the
working
area
(-+AM
INDEX
MS,
Uni t
EOL
) . The
current
line
number
will
be
1007.
3.
Starting
at
line
1007; add
as
many
manuscr'ipt
lines
as
necessary
to
de-
scribe
the
entries
you want
in
the
Index.
(study
the
tlIndex
structure"
,'described
in
the
IIandbook.)
Fo:c
exwn.ple,
the
following
nine
manuscript
lines,
when
converted
with
INDEX
MS,
will
describe
the
two
entries
on
p.
5
of
the
Handbook:
1007
1010
1011
1012 ,
1013
1014
1015
1016
1017
810
32'45
}
24,43
.
3377
7777
100 1
33
4230J
16
Entry
Name,
4
lines
Manuscript
Entry,
2
lines
Binary
Entry,
2'lines
a.
Locate
each
entry
segment
(line
1007 above)
at
multiples
of
108
(i.e.,
920,
830,
etc.),
in
the
range
10
throu_gh 770.
b.·
Be
sure
that
when
the
Index
Manuscript
is
converted,
each
entry
seg-
ment added
will
account
for
8 words. (Name,
4;
manuscript
entry,
2;
binary.entry,
2.)
(1)
Remember
to
put
77
in
each
unused
half-word
of
the
four
Name
words,
and 5757
in
the
two words
not
used
by
a
manuscript
or
binary
entry.
(2)
If
you
use
"text"
for
the
Name,
remember
that
a
SPACE
code
(14)
will
be
filled
in
the
last
half-word
if
the
number
of
characters
in
the
Name
is
odd. The
SPACE
will
.then
be
part
Of
the
Name.
4.
When
as
many
entry
segments
as
needed have
been
added
to
INDEX
ME,
convert
the
manuscript
(-.CV
EOL
).
The
Index
created
will
be
in
blocks
340-341
(if
Standard
configuration).
Copy
these
two
blocks
(~CPEOL)
into
the
two
Index
blocks
(blocks
426-427,
Standard)
on a
tape.
I,
'
Display
the
new
Index
(-+OX
Unit
EOL
)'
If
it
looks
strange,
return
to
the
manuscript
display
and
correct
the
Index
Manuscript.
It
has
been
incor-
rectly
formatted.
6.
In
creating
the
Index,
be
sure
to
describe
entries
which
LAP6
can
handle.
I.
e
.,
do
not
duplicate
Names,
or
describe
entries
which
"go
around
the
end"
of
the
tape,
etc.
LA.P6GRID
Block
440
2
blocks
Author: Mary
Allen
Clark
LAP6GRID
is
a
manuscript
of
the
grid
patterns
used
by
LA.P6
to
generate
the
characters
described.
on
Chart
II
of
the
Handbook.
It
may
be
added
to
any
other
LAP6
manuscri.pt and converted.
with
it.
LAP6GHID
contains
tags
#6A, #6B,
#6c,
#6F,
#6G,
#6L,
#6Q,
and
#~V.
It
contains
no
location
state-
ments,
and
occupies
176
8
memory
registers
when
converted.
_
~
0 0
'+~
,(Or u
rr-e.-·
c""
se
(""'"
(...{ld'
G]
__________
1l1o~J5'.
o
}i':LLe
300
350
CUTrent
Manusc1"i)~t
Horking
Area
1j·26-
Index
4j)
File
______
,,_777
STANDARD
Unit
0
I.
(Copy
50
blocks
from
block
300,
or
350, maste:c
tape,'
to
block
300.
Run f:rom
Unit
0.)
JtlQ.Qlb
________
_
o
File
Il\J?6
350
CV..l"Tent
.
Mannscript
vlorking
Area
-l.12b
Index
~·30
File
Configu:ration
1
Unit
1
Con:figuration
I
is
identical
to
the
Standard
configuration,
except
that
itlllust
be
run
from
Unit
1.
(Copy
50
blocks
from
block
10,
master
tape,
to
b?ocJ~
300.
Run
:fr:bm
Unit
1.)
Block
o
300
350
4-26
·777
LAP6
Current.
Manuscript
Working
Area
Index
File
Configuration
2 .
.
Unit
0
Copi"igtiration
2
is
identical
to
the
Stan<iard
configuration
except
that
it
.
·~~s
~
re.served
.file
__
area
b.elo,\·l
LAP6.
(Copy
50
blocks
from
block
60}
master
tape,
to
block
300.
Run from
Unit
0.)
BJock
.-
0
LA.p6
50
Current
Hanu.script
vlorking
Area
(5310
blocks)
~"l1:L
136
Index
140
~
7i
UNUSED
27l
/-'
~
200
File
,.I
777
Configuxation
3
Unit
1
Configuration'3
differs
from
the
Standard
configuration
in
all
respects.
Since
it
will
file
only
sequentially,
and
is
faster
to.ioad,
this
con-
figuration
may
be
useful
for
constructing
files
of
binary
progr8J~
or
data
.
.
I.
(Copy 50
blocks
from
block
130,
master
tape,
to
block
O.
Run from
Unit
1.)
..
J
File
LAP6
Current
Manuscript
\'lorking
Area
Index
File
j
Configu-ration
4
Unit
0
Block
0
300
350
-~
:?1_
30
77
Configuration
4
is
identical
to
the
Standard
configuration,
.
except
that
blocks
430-527-"
are
UNUSED.
(Copy
50
b1ocks'fro~
block
200,
master
tape,
to
block
300.
Run
from
Unit
0:)
Block
0
A
File
270
300
LAP6
350
Current
Manuscript
\'lorking
Area
426-
.
Index.
File
I
777
Configuration
5
Unit
1
Configuration
5
is
identica.l
to
configuration
4,
.except
that
it
must
be
run
from
Unit
1.
(Copy
50'
blocl~s
from
block
600,
master
tape,
to
block
300.
Run
from
Unit
1.)
COMPUTER
SYSTEMS
L.ABORATO'-Y
72.
SOUTH
EUCL.ID
AVENUE
June
1968
TE
L.E
PHONE
:
AREA
C.ODE
314
frO
1 •
7356
lAP6
Configurations
6-10
have
been
added
to
the
configura-
tion
library,
and
are
now
available.
If
interested,
please
send
a
marked
tape
I
attention
M.
A.
Clark.
MAC/lz
Block
0
140
200
250
326
330
777
LAP
6
t
File
~/
UNUSED
/
~
LAP
6
Current
Manuscript
Working
Area
Index
File
'I"
Configuration
6
Unit
0
Configuration
6
differs
from
the
Standard
configuration
of
LAP6
in
all
respects,
and
has
408
UNUSED
blocks
below
LAP6.
Run
configuration
6 from
Unit
O.
LAP6
1310ck
a
100
LAP
6
150
Current
Manuscript
Working
Area
226
INDEX
239
File
777
Configuration
7
Unit
0
Configuration
7
differs
from
the
Standard
configuration
in
all
respects,
and
has
100S
UNUSED
blocks
below
LAP6.
Run
configuration
7 from
Unit
O.
LAP
6
Block
0
LAP
6
50
Current
Manuscript
Working
Area
135 (5310
blocks)
136
Index
140
File
\It
777
Configuration
8
Unit
0
Configuration
8
is
identical
to
Configuration
3
except
that
it
has
no
UNUSED
area
and
runs
from
Unit
O.
Since
it
will
file
only
sequentially,
and
is
faster
to
load,
this
configuration
may
be
useful
for
constructing
files
of
binary
programs
or
data.
·0
50
135
136
200
777
LAP6
LAP6
Current
Manuscript
Working
Area
. (5310
blocks)
Index
File
Confi~uration
9
Unit
0
Confi~uration
9
is
identical
to
Confi~uration
3
except
that
it
is
run
from
Unit
O.
300
350
426
430
777
LAP 6
UNUSED
LAP 6
Current
Manuscript
Working
Area
Index
File
Configuration
10
Unit
1
Configuration
10
is
identical
to
Configuration
2
exce?t
that
it
is
run
from
Unit
1.

Navigation menu