M6800 Co Resident Assembler Reference Manual 1976

M6800_Co-Resident_Assembler_Reference_Manual_1976 M6800_Co-Resident_Assembler_Reference_Manual_1976

User Manual: manual pdf -FilePursuit

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

>16800
CO
-RESIDENT ASSEI>ffiLER
REFERENCE
MANUAL
>l68CRA(D)
Nov.,
1976
The
information
in
this
manual
has
been
carefully
checked
and
is
believed
to
be
entirely
reliable
. However , no
responsibility
is
assumed
for
inaccuracies.
Furthermore,
such
information
does
not
convey
to
the
purchaser
of
the
product
described
any
license
under
the
patent
ri
g
hts
of
Motorola
or
others.
Inc
.
EXORciser,
EXbug ,
MIKBUG
,
and
MINIBUG
are
trademarks
of
l>1otoro!a,
Firs
t
Edi
tion
Motorola
,
Inc
.,
1976
"
All
Rights
Reserved
11
CHAPTER
1:
1.1
1.2
1.2.1
1.
2.
2
1.3
1.
3.1
1.
3. 2
1.4
1.5
1.
5.1
1.5
. 2
CHAPTER
2:
2.1
2.
1.1
2.1.
2
2.1.3
2.
1.
4
2.1.5
2.2
2.2
.1
2.2.2
2.3
2.4
2.4. 1
2.4
. 2
2.4
. 3
2.
4.4
2.
4.5
2.5
2.5.1
2.
5.2
TABLE
OF
CONTENTS
GENERAL
INFORMATIO
N
Introduction
M6800
Co
-
Resident
Assembler
Langua
ge
Machine
Operation
Codes
Directives
H6800
Co-Resident
Assembler
Assembler
Aims
Assembler
Operation
Ordering
Information
Operating
Environments
Equipment
Requirements
Software
Requirements
CODING
M6800
CO
-
RESIDENT
ASS~mLER
LANGUAG
E
PROGRAMS
Source
Statement
Format
Sequence
Numbers
Label
Field
Operation
Field
Operand
Fie
Id
Comment
Field
Expressions
Constants
ASCII
Literals
Symbols
N6800
Addressing
Modes
Inher
en
t and
Accumulator
Addressing
Node
Immediate
Addressing
Mode
Relative
Addressing
Mode
Indexed
Addressin
g
Mode
Direct
and
Extended
Addressing
Mode
Assembler
Lis
ting
Assembly
Listing
Object
Program
CHAPTER
3:
ASSEMBLER
DIRECTIVES
3.1
Intr
od
uction
3.2
End
3.3
EQU
Equa
te
Symbol
Value
3.4
FCB
Form
Cons
tan
t
Byte
3.5
FCC
Form
Constant
Character
3. 6
FDB
Form
Double
Constant
Byte
i
1
-1
1-1
1- 1
1-1
1-1
1- 2
1-2
1-2
1- 2
1- 2
1-2
1-3
2
-1
2- 1
2-1
2-
1
2- 2
2
-3
2-3
2-3
2-4
2-4
2-4
2- 4
2-4
2-4
2-5
2-5
2-5
2- 5
2- 5
2- 6
3- 1
3
-1
3-4
3- 4
3- 5
3-6
3-7
3. 7
3. 8
3 . 9
3 .10
3.11
3.
12
CHAPTER
4:
4.1
4. 2
4
.2.
1
4. 2.
1.1
4.2
.
1.2
4.
2.2
4.2
. 3
4.3
4.3.1
4. 3
.2
APPENDIX
A:
APPENDIX
B:
APPENDIX
C:
APPE.i~DIX
D:
APPENDIX
E:
APPENDIX
F:
APPENDIX
G:
APPENDIX
H:
APP
E
NDIX
I:
TABLE
OF
CONTENTS
(CONT
I
NUED)
NAN
- - P
ro
gram
Name
OPT
--
Output
Option
ORG
--
Origin
PAGE
--
Top
of
Page
RMB
Reserve
Memory
Bytes
SPC
--
Space
ASSEMBLY
INFORMATION
General
Information
Co
-R
esident
Assembler
Tape/Cassette
Operating
Procedures
Loadin
g
Co-Resident
Assemble
r Fr
om
Tape/Cassette
Loading
Tape/Cassette
Into
EXORciser
Loading
Tape/Cassette
Into
Evaluation
l-Iodule Memory
Assembly
loitia
tian
Tape/Casset
te
Co
-
Resident
Assembler
Operation
Co
-
Resident
Assembler
Diskette
Operating
Procedures
Diskette
Co
-
Resident
Assembler
Operating
Characteristics
Diskette
Co-Resident
Assembler
Operation
CHARACTER
SET
S~~L\RY
OF
M6800
INSTRUCTIONS
M6800
CO
-
RESIDENT
ASSEMBLY
DIRECT
IVES
SUMMARY
ASSEMBLER
ERROR
MESSAGES
ABSOLUTE
OBJECT
RECORD
FORMAT
SA}1PLE
PROGRAH
USING
MIKBUG
VERSION
OF
THE
H6800
CO
-
RESIDENT
SOF'mARE
USE
OF
OTHER
PERIPHERALS
WITH
THE
CO
-
RESIDENT
SOFTH
'
ARE
PRm!
VERSION
OF
CO
-
RESIDENT
ASSEMBLER/EDITOR
11
3-8
3- 8
3- 9
3-11
3-11
3-
12
4- 1
4- 1
4-1
4-1
4- 1
4- 1
4- 2
4-4
A- 1
B- 1
C-l
D- 1
E-1
F-1
G-1
H
-l
1
-1
CHAPTER
1
GENERAL
INFORNATION
1.1
INTRODUCTION
The H6800
Co-Resident
Assembler
is
a
program
that
processes
source
program
statements
written
in
H6800 Assembly
Language,
translates
these
source
statements
into
object
programs
compatible
with
the
H6800
Firw.ware
loaders
, and
produces
a
formatted
listing
of
the
source
program
.
The H6800
Co
-
Resident
Assembler
is
compatible
t.,rith
the
HPCASH
and
H68SAN
cross
-
assemblers
.
This
Assembler
can
co-reside
in
memory
with
the
N6800
Co-Resident
Editor
. The
editor
is
described
in
the
H6800
Co-Resident
Editor
Hanual.
1.2
N6800
CO
-
RESIDENT
ASSEHBLER
LANGUAGE
The
symbolic
language
used
to
code
source
programs
to
be
processed
by
the
assembler
is
called
the
H6800
Co
-
Resident
Assembler
Language.
The
language
is
a
collection
of
mnemonic
symbols
representing:
Operations
}16800
machine-instruction
operation
codes
-N6800
Co
-
Resident
Assembler
directives
Symbolic names
(labels)
Operators
Special
symbols
1.
2. 1 t-lachine
Operation
Codes
The
assembly
language
provides
mnemonic
machine
-
instruction
operation
codes
for
all
machine
instructions
in
the
M6800
instruction
set
. The
H6S00
instructions
are
described
in
detail
in
the
H6800
Prograrmning
Reference
Manual.
Refer
to
Appendix B
for
a surmnary
of
the
M6800
instructions.
1.2.2
Directives
The
assembly
language
also
includes
mnemonic
directives
which
specify
auxiliary
actions
to
be
performed
by
the
assembler
.
Directives
are
no t
always
translated
into
machine
language
.
(Directives
are
described
in
Chapter
3 and a summary
of
directives
is
included
in
Appendix
C.)
1- 1
1.3
1'16800
CO
-
RESIDENT
ASSEHBLER
The
M680D
Co-Resident
Assembler
translates
source
statemen
t s
written
in
H6800
Assembly
Language
into
machine
language.
assigns
storage
locations
to
instructions
and
data,
and
performs
auxilia
r y
assembler
actions
designated
by
the
programmer.
1.
3. 1
1.
3.
2
Assembler
Aims
The two
basic
aims
of
the
1-16800
Co
-
Resident
Assembler
are
:
To
translate
source
programs
into
object
code
in
the
format
required
by
the
N6800
resident
loaders
or
an
EXORciser-compatible
loader.
To
provide
a
printed
listing
containing
the
source
language
input
,
assembler
object
code,
and
addi
t
ional
information
(such
as
error
codes
,
if
any)
useful
in
program
analysis.
Assembler
Operation
The
assembler
reads
the
source
program
twice
:
first
,
to
develop
the
symbol
table;
second,
to
assemble
the
object
program
with
reference
to
the
symbol
table
developed
in
Pass
1.
During
Pass
2.
the
object
code
and
the
assembly
listing
are
generated.
Each
source
language
line
is
processed
before
the
next
line
is
read
.
As
each
line
is
processed,
the
assembler
examines
the
location
,
operation
,
and
operand
fields.
The
operation
code
table
is
scanned
for
a match
with
the
oper
ation
field
.
If
a
standard
machine
operation
code
is
being
processed
,
the
proper
data
is
inserted
into
the
object
code .
If
a
directive
is
specified,
the
proper
action
is
taken.
The
objec
t
code and
the
assembly
listing
are
formed
for
output
,
with
any
detected
actual
or
po
t
ential
errors
flagged
before
the
li
ne
containing
the
er
ror
is
printed
.
1.
4
ORDERING
INFO&~TION
The N6800
Co
-
Resident
Assembler
may
be
used
with
the
~!6800
EXORciser,
Eval
u
ation
Nodule I ,
Evaluation
Nodule
II
and
Eval
ua t
ion
Kit
.
Table
1-1
identifies
the
op
tions
of
the
A
ssembler
,
their
part
n
umb
er
s ,
and
the
hardware
they
are
designed
to
wor k
with.
1.5
OPERATING
ENVIRONMENTS
1.
5 . 1 Equipment
Requirements
Ninimum
equipment
requirements
for
the
N6800
Co
-Res i
dent
Assembler
include
:
1-2
1.
5.
2
EXORciser ,
Evaluation
Nodule
I,
Evaluation
Nodule
II,
or
Evaluation
Kit
8k
bytes
of
RAN
Terminal
with
TTY
(20m
A
neutral
loop
current)
or
RS-232C
interface
and
equipped
with
an
automatic
reader/punch
control.
Software
Requirements
The N6800
Co-Resident
Assembler
operates
with
the
EXbug
Firmware,
the
NIKBUG
Firmware, and
the
NINIBUG
Firmware.
This
Assembler
also
may
be
used
with
EXORdisk
and
the
EDOSII
software
operating
system.
Hhen
using
the
Co
-
Resident
software
Iodth
Evaluation
Nodule I
or
the
Evaluation
Kit
modify
this
hardware
in
accordance
with
Appendix G.
TABLE
1-1
.
Co
-
Resident
Assembler
Packages
HARDHARE
SOFnolARE
SOFTWARE
PACKAGE
PACKAGE
MANE
PART
NUl'IBER*
1.
EXORciser
Co
-
Resident
Assembler
N68ASNR013
A,
B.
(EXbug)
2.
Evaluation
Co
-
Resident
N68ASH6813
A,
B
Nodule I
Assembler/Editor
(HIKBUG)
3.
Evaluation
Co
-
Resident
Assembler
N68ASHR213
A,
B
Hodule
II
(MINIBUC
II)
*A
=
Cassette
, B -
Paper
Tape, D -
Diskette
1-3
0
CHAPTER
2
CODING
M6800
CO
-
RESIDENT
ASSEr-ffiLER
LANGUAGE
PROGRAMS
2.1
SOURCE
STATEMENT
FORMAT
Programs
writ
t
en
in
assembly
language
consis
t
of
a
sequence
of
source
statements
. Each
source
statement
consists
of
a
sequence
of
ASCII
characters
endi ng
wi
th
a
car
ri
age
return
.
Refer
to
Appendix A
for
a
listing
of
the
suppor
ted ASCII
character
set
.
Each
source
statement
may
incl
u
de
up
to
five
fields
:
Sequence
nu
mbe
r
Label
(or
,,
*
11
i
mp
l
ying
a comment)
Operation
Operand
Comment
2 .
1.
1
Sequence
Numbers
The
sequence
number
field
is
an
option
provided
as
a programmer
convenience
. The
sequence
number
field
starts
at
the
beginning
of
a
source
line
and
consists
of
up
to
five
decimal di
gits
(the
value
must
be
less
than
65
,536) .
Sequence
numbe
r s must
be
followed
by a
space
.
Although
sequence
numbers
are
optiona
l,
they
must
be
consistent
l y
used
or
not
used
for
an
entire
program
.
If
t he
first
source
statement
includes
a
sequence
number ,
then
every
succeedi
ng
statement
must
also
include
a
sequence
number.
If
the
first
sou
r
ce
statement
is
unnumbered,
then
no
other
statement
may
be
numbered.
In
this
case
the
Assembler
will
provide
sequential
line
numbers on
the
assembly
listing
.
2 .
1.2
Label
Field
The
label
field
occurs
directly
after
the
sequence
(if
there
is
one)
or
as
the
fi
r
st
f i
eld
of
a
source
line
.
field
may
take
one
of
the
following
forms:
number
field
The
label
(1) An
asterisk
(*)
as
the
first
cha
r
acter
indicates
th
a t
the
rest
of
the
source
line
is
a comment
and
should
be
ignored
(except
for
listing
pur
poses
) by
the
assembler
.
(2)
A
blank
(b)
as
the
first
character
indicates that
the
label
field
is
empty
(the
line
is
not
a comment and
does
not
have
a
label)
.
2-1
(3)
A
symbol.
The
attributes
of
a symbol
are
:
consists
of
I
to
6
characters
valid
characters
in
a symbol
are
A
through
Z
and 0
through
9 .
the
first
character
of
a symbol must
be
alphabetic
.
the
symbols
"A"
,
"B
" , and "
XII
are
special
symbols
used
by
the
assembler
and
should
never
be
used
in
the
label
field
.
A symbol
may
occur
only
once
in
the
label
field
.
If
a symbol
does
occur
in
more
than
one
label
field,
then
each
reference
to
that
symbol
will
cause
an
error
.
A
label
(symbol
in
the
label
field)
is
normally
assigned
the
value
of
the
program
location
counter
of
the
first
byte
of
the
instruction
or
data
being
assembled
.
The
label
of
an
EQU
directive
is
assigned
the
value
of
the
expression
in
the
operand
field
.
Some
directives
must
not
have a
label
in
the
label
field
.
These
directives
include:
ORG,
NA}I,
END,
OPT,
PAGE,
and
SPC
.
Each symbol
in
a
program
is
allocated
an
eight
byte
block
in
the
symbol
table.
2.1.
3
Operation
Field
The
operation
field
occurs
directly
after
the
label
field
in
an
assembly
language
source
statement
.
This
field
consists
of
an
operation
code
of
three
or
four
characters
. The
rules
governing
symbols
also
apply
to
entries
in
the
operation
code
field.
Entries
in
the
operation
code
field
may
be
one
of
two
types:
machine
mnemonic
operation
code
-
these
correspond
directly
to
N6800
machine
instructions
.
This
operation
code
field
includes
the
"A"
or
"B"
character
for
the
"dual"
or
"accumulator"
addressing
modes. For
compatibility
with
other
H6800
assemblers,
a
space
may
separate
the
operator
f r
om
the
accumulator
designation
(i
.e . ,
LOA
A
is
the
same
as
LOAA).
directive
-
special
operation
codes
known
to
the
assembler
which
control
the
assembly
process
rather
than
being
translated
directly
to
machine
language.
2-2
The
assembler
searches
for
opera
tion
codes
in
the
table
of
machine
operation
codes
and
directives.
If
not
found.
an
error
message
is
printed.
2.
1.
4 Operand
Field
Interpretation
of
the
operand
field
is
dependent
on
the
operation
field
. For
the
H6800
machine
instructions,
the
operand
fi
eld
must
specify
the
addressing
mode
. The operand
field
formats
and
the
corresponding
addressing
modes
are
as
fol
lows:
Operand Format
no
operand
exp
ression
11
< exp
ression
>
<
expressio
n
>.
X
N6800 Machine
Instruction
Addressing
I'!ode
inherent
and
accumulator
direct
or
extended
(direct
will
be
used
if
possible)
immediate
indexed
Addressing
modes and
expressions
are
described
in
the
1'16800
Programming
l'~nual
.
Assembler
directives
can
take
on
anot
her
form .
These
directives
are
described
in
Chapter
3.
2.1.5
Comment
Field
The
last
field
of
an
1'16800
Assembly Language
source
line
is
the
comment
field
.
This
field
is
optional
and
is
ignored
by
the
assembler
except
for
being
included
in
the
listing
. The
comme
nt
field
is
separated
from
the
operand
field
(or
the
operator
field
if
there
is
no
operand)
by
one
or
more
blanks
and
may
consist
of
any
ASCII
charac
t
er.
This
field
is
important
in
document
ing
the
operation
of
a
program.
2.2
EXPRESSIONS
An
expression
is
a
combination
of
symbols
and/or
numbers
separated
by one
of
the
arithmetic
operators
(
+,
-,
*,
or
/
).
The
assembler
evaluates
expressions
algebraically
from
left
to
ri
ght
without
parenthetical
grouping
.
There
is
no
precedence
hierarchy
among
the
arithmetic
operators.
A
fractional
result,
or
intermediate
result
obtained
during
the
evaluation
of
an
expression,
will
be
truncated
to
an
integer
value
.
2-3
2 .
2.1
2. 2. 2
2.3
Constants
Decimal:
<
number>
Hexidecimal:
$ <
number>
or
<
number>
H
(first
digit
in
latter
case
must
be
0 -
9)
Octal
: @ <
number>
or
<
number>
0
or
<
number>
Binary
: %
<number>
or
<
number>
B
ASCII
Literals
I
<character)
The
result
is
the
(apostrophe
followed
by
an
ASCII
character)
numeric
value
for
the
ASCII
character
.
SYHBOLS
A symbol
in
an
expression
is
similar
to
a
symbol
in
the
label
Q
field
except
that
the
value
of
the
symbol
is
referenced
instead
of
defined.
An
asterisk
"
*"
is
a
special
symbol
recognized
by
the
assembler
and
represents
the
value
of
the
current
location
counter
(first
byte
of
an
instruction,
when
used
in
the
context
of
the
symbol
.
A
16
-
bit
integer
value
is
associated
with
each
symbol .
This
value
is
used
in
place
of
the
symbol
during
expression
evaluation
.
The H6800
Co
-
Resident
Assembler
is
a two-
pass
assembler
. The
symbol
table
is
built
on
the
first
pass
.
Object
records
and
listing
are
produced
on
the
second
pass.
Certain
expressions
cannot
be
fully
evaluated
during
the
first
pass
because
they
may
contain
(forward)
references
to
symbols
which
have
not
yet
been
defined.
In
some
cases
. a
symbol
may
not
be
defined
before
being
used
in
the
second
pass.
Since
the
assembler
cannot
evaluate
such
symbols
.
these
cases
are
t r
eated
as
errors
. Only
one
level
of
forward
referencing
is
allowed
.
2. 4 H6800
ADDRESSING
NODES
2.4.1
Inherent
and
Accumulator
Addressing
Node
The H6800
includes
some
instructions
which
require
only
an
operation
code
byte
.
These
self
-
contained
instructions
employ
inherent
or
accumulator
addressing
and
do
not
require
the
operand
field
when
writ
ten
in
the
H6800
assembly
language
.
2. 4 . 2
Immediate
Addressing
Hode
Immediate
add
re
ssing
refers
to
the
use
of
one
or
two
bytes
immediately
following
the
instruction
operation
code
as
the
instruction
operand
.
Immediate
addressing
is
selected
by
preceding
the
operand
field
in
the
source
line
with
the
character
I1fi"
. The
expression
following
the
11 11
"
may
require
one
or
two
bytes
.
depending
on
the
instruction.
2-4
2.
4.3
Relative
Addressing
Mode
Relative
addressing
is
used
by
the
branch
instructions.
Branches
can
be
made
only
within
the
range
-126
to
129
relative
to
the
first
byte
of
the
branch
instruction
:
(PC+2)-
128
~
D
~
(PC+2)+127
PC
=
address
of
first
byte
of
branch
instruction
D
~
address
of
the
destination
of
the
branch
The
actual
branch
offset
put
into
the
second
byte
of
the
branch
instruction
is
the
two's
complement
representation
of
the
difference
between
the
location
of
the
byte
immediately
following
the
branch
instruction
and
the
location
of
the
destination.
2.4.4
Indexed
Addressing
Mode
Indexed
addresses
are
relative
to
the
M6800
index
register.
The
address
is
calculated
at
the
time
of
instruction
execution
by
adding
the
one
-
byte
displacement
in
the
second
instruction
byte
to
the
current
contents
of
the
l6
-
bit
index
register.
Since
no
sign
extension
is
performed,
the
offset
cannot
be
negative
.
Indexed
addressing
is
normally
indicated
by
the
characters
11
,
X"
fol
l
owing
the
expression
in
the
operand
field.
(Special
cases
of
",X"
or
"X"
alone
are
the
same
as
"a, X" . )
2.4.5
Direct
and
Extended
Addressing
Mode
Direct
and
extended
addressing
utilize
one
(direct)
or
two
(extended)
bytes
to
form
the
address
of
the
operand
desired.
Direct
addressing
is
limited
to
the
first
256
bytes
of
memory,
0-255
.
Direct
and
extended
addressing
are
selected
by
simply
putting
an
expression
in
the
operand
field
of
the
source
line.
Direct
addressing
is
used
if
possible
.
An
error
results
if
a
directly
-
addressable
variable
is
referenced
before
it
is
defined
in
a
source
program
since
this
can
cause
a
phasing
error
.
To
avoid
phasing
problems,
directly
addressable
variables
should
always
be
defined
before
any
reference
to
the
variable
2. 5
ASSEMBLER
LISTING
Assembler
outputs
include
an
assembly
listing
and
an
object
program
.
2.
5.1
Assembly
Listing
The
assembly
listing
includes
the
source
program
as
well
as
additional
information
generated
by
the
assembler.
Most
lines
in
the
listing
correspond
directly
to
a
source
statement.
Lines
which
do
not
correspond
directly
to
a
source
line
include:
2-5
COL
UNN
1- 5
7- 10
12-
13
15
-
16
17-
18
20-25
27
-31
34
-41
43
-
Last
page
header
lines
error
lines
(see
Appendix D
fo
r a l
is
t i ng
of
er
ror
numbers)
expa
n
sion
lines
fo
r
the
FCC
,
FDB
,
FCB
direc
t
ives
Hos
t
listing
l i
nes
follow
the
standard
format
shown
in
Tab
l e 2
-1.
TABLE
2- 1 .
Standard
Format
(Special
cases
may
not
use
exactly
the
same
format
. )
CONTENTS
Source
line
/I
- 5
digit
decimal
counter
kept
by
assembler
Current
Location
Counter
value
(in
hex)
~lachine
Opera
tion
Code
(hex)
First
byte
of
operand
(hex)
Second
byte
of
operand
(if
there
is
one)
Label
Field
Operation
Field
Operand
Field
(longer
operand
extends
into
connnent
field)
Connne
nt
Field
Column
2.5.2
Object
Program
Detailed
descriptions
of
the
absolute
and
relocatable
object
format
is
included
in
Appendix E.
2- 6
,
CHAPTER
3
ASSEMBLER
DIRECTIVES
3.1
INTRODUCTION
Assembler
directives
are
instructions
to
the
assembler
rather
than
instructions
t o
be
directly
translated
into
object
code.
This
section
describes
the
directives
recognized
by
the
M6800
Co-Resident
Assembler
.
In
Table
3- 1
the
directives
are
grouped
by
function
performed.
Detailed
descriptions
of
each
directive
are
arranged
alphabetically.
3- 1
TABLE
3-
1.
Assembly
Directives
DIRECTIVE
FUNCTION
ASSEZ,ffiLY
CONTROL
NAN
ORG
END
LISTING
CONTROL
PAGE
SPC
OPT
NOO
OPT
0
(Object
Tape)
OPT
M
(Memory
File)
OPT
NOH
OPT
S
(Print
Symbols)
OPT
NOS
OPT
NOL
(No
Listing)
OPT
L
OPT
NOP
(No
Page)
OPT
P
OPT
l>iOG
(No
Generate)
3-2
Program
name
Origin
Program
end
Top
of
page
Skip
"n
"
lines
No
object
tape
The
Assembler
will
genera
te
an
object
tape
(selected
by
default).
The
Assembler
will
write
machine
code
to
memory.
No
memory
(selected
by
default)
.
The
Assembler
will
print
the
symbols
at
the
end
of
Pass
2.
No
printing
of
symbols
(selected
by
default).
The
Assembler
will
not
print
a
listing
of
the
assembler
data
.
The
listing
of
assembled
data
will
be
printed
(selected
by
default)
.
The
Assembler
will
inhibit
format
paging
of
the
assembly
listing
.
The
listing
will
be
paged
(selected
by
default)
.
Causes
only
1
line
of
data
to
be
listed
from
the
assembler
directions
FCC,
FCB
,
and
FOB.
TABLE
3-1
. Assembly
Directives
(Continued)
DIRECTIV
E
FUNCTION
OPT
G
All
data
generated
by
the
FCC
.
FCB.
and
FDB
directions
will
be
printed
(selec
ted
by
defau
lt)
.
DATA
DEFINITION/STORAGE
ALLOCATION
FCC
Character
string
data
FCB
One
by
te
da
ta
FDB
Double
byte
data
R}!B
Reserve
memory
bytes
SY~mOL
DEFINITION
EQU
Assign
permanent
value
3- 3
3.2
3.3
END
FORMAT:
END
DESCRIPTION
: The
END
directive
ind
i
cates
to
the
Assembler
that
the
source
is
finished
.
Subsequent
source
state-
ments
are
ignored
. The
END
directive
encountered
at
the
end
of
the
first
pass
through
the
source
program
causes
the
Assembler
to
start
the
second
pass
.
EQU
-
Equate
Symbol
Value
FOro-tAT: <
bbd
> .E
QU'
< exp
ressi
o
n>
[
(CQHUnents>
]
DESCRIPTION:
The
EQU
directive
assigns
the
value
of
the
expression
in
the
operand
field
to
the
symbol
in
the
label
field.
The
label
and
expression
follow
the
rules
given
in
a
previous
section
.
Note
that
EQU
is
one
operator
that
assigns
a
value
other
than
the
program
location
counter
to
the
label.
The
label
and
operand
fields
are
both
required
and
the
label
cannot
be
defined
anywhere
else
in
the
program.
The
expression
in
the
operand
field
of
an
EQU
cannot
include
a
symbol
that
is
undefined
or
not
yet
defined
(no
forward
referenc
es
are
allowed)
.
3-4
3.4
FCB
-Form
Constant
Byte
FORMAT:
[<
label>
]
FeB
{<
expr
>}
<
null»
, [
<expr>
]
<expr>
< cormnen
ts
>
DESCRIPTION
: The
FeB
directive
may
have
one
or
more
operands,
separated
by
commas.
An
a-
bit
unsigned
binary
number
corresponding
to
the
value
of
.
each
operand
is
stored
in
a
byte
of
the
object
pr
ogram
.
If
there
is
more
than
one
operand
,
they
are
stored
in
successive
bytes
. The
operand
field
may
contain
the
actual
value
(decimal,
hexadecimal
,
octal
,
or
binary),
Alternatively,
the
operand
may
be
a
symbol
or
an
expression
which
can
be
assigned
a
numerical
value
by
the
Assembler.
An
FCB
directive
followed
by
one
or
more
null
operands
separated
by
commas
will
store
zeros
for
the
null
operands
.
3- 5
3. 5
FCC
-Form
Constant
Character
FORNAT:
FCC
[ d <
ASCII
string>
l <
decimal
number>
<
comments>
NOTE
:
1.
lid"
is
any
non
-
numeric
character
(used
as
a
delimiter).
2. ASCII
string
may
not
include
a
carriage
return
.
DESCRIPTION
: The
FCC
directive
translates
strings
of
characters
into
their
7-
bit
ASCII
codes
.
Any
of
the
characters
which
correspond
to
ASCII
hexadecimal
codes
20
(SP)
tllrough
SF
(
__
)
can
be
processed
by
this
directive
.
1 . Count.
comma
,
text
. Where
the
count
specifies
how
many ASCII
characters
to
generate
and
the
text
begins
following
the
first
comma
of
the
operand.
Should
the
count
be
longer
than
the
text
.
spaces
will
be
inserted
to
fill
the
count
.
Haximum
count
1s
255 .
2.
Text
enclosed
between
identical
delimiters
.
each
being
any
single
character
. ( I f
the
delimiters
are
numbers,
the
text
must
not
begin
with
a
comma. )
3-6
3. 6
FOB
-Form
Double
Constant
Byte
FORHAT
: <
label
>
FDB
{
<expr
>
<
null
>
<
expr
>
:}
<comments)
DESCRIPTION
: The
FOB
directive
may
have
one
or
more
operands
separated
by
commas
. The
16
-
bit
u
nsigned
binary
number
corresponding
to
the
value
of
each
ope
r
and
is
stored
in
two
bytes
of
the
object
program
.
If
there
is
more
than
one
operand
,
they
are
sto
r
ed
O(,,71':-'~~
[lL::
'
t'I
2'.~
IJ
·
30(~:
0(1@O:i 4
(11;:'
(1~
1
5
@(
h
~
l
;;
,
r;:'
,
~,,::,,
,~,~-:: ~
..:.'
~
:~'::
'
.-:::
L:it1~1
<:"::::
....
ji
.:.
"
:,-.2
'::"0
(
~O
(
::;
.
:::
,,
:;:'
..
~
'::''::''''F
-:'
"
0.:",
::
'
0::.
,~
(
;
~
f
(
'(
'
I2>~
':'.
'oC'~
FF
Ij
';:
"
'
31~
(.::'I
I
.
~
H
.:.
'
(
~
0[
"
:
'O~'
'::,'("
JE
~'(
H
:
::
":
,::o-;:,
.!.
-Z'
I::-':.:.,,
:,{
(:~';:l:L
2
~
~
10'::,1
';::
.
f'
in
successive
bytes.
The
operand
fi
e
ld
may
contain
the
actual
val
ue
(decimal
,
hexadecimal
,
octal
,
or
binary),
Alterna
t
ively
,
the
operand
may
be
a
symbol
or
an
expr
ession
which
can
be
assigned
a
numerical
val
ue
by
the
Assembler
.
An
FOB
directive
followed
by one
or
mo
r e
null
operands
separated
by
commas
will
store
zeros
fo
r
the
null
operands
.
The
labe
l
is
optional
.
F-'R
'
_
"
~
!"'r!!'!
TO !
L!....US
'"!
Pf~T~
USE:.
e'F
FOP!'!
~":'U8!....E
E:',.'T!....
C':'i'b·!
,-!t·!T [ '
IF:U
::
'"!
I'
·
/E
·
~
·F.·
·f·FF.·
'f.FFF
.·
.'
'+-
FFFF
'::"
::;':'
:Lf'
EtE '
3-7
3.7
3.8
NAN
-
Program
Name
FORMAT:
NAN
<
program
name> [ < commen
ts
>
J.
DESCRIPTION:
The
NAH
directive
must
be
the
first
statement
of
a H6800
Co
-
Resident
Assembler
source
program
.
The
NAN
directive
does
not
allow
a
label,
but
it
does
require
an
operand
--
a
program
name
(one-
eight
characters)
.
The
program
name from
the
NAN
directive
is
printed
on
the
header
line
for
each
listin
g
page
.
OPT
-
Output
Option
FORMAT:
OPT
<
option>
[.
<
option>
]
DESCRIPTION
: The
OPT
directive
is
used
to
give
the
programmer
optional
control
of
the
format
of
the
Assembler
output
.
The
options
are
written
in
the
operand
field
and
are
separated
by
commas
. The
options
-may
have
the
character
"NO"
as
a
prefix
which
reverses
their
meaning
.
OPTION
OPT
0
(object
tape)
OPT
NO
D
OPT
N
(memory
file)
OPT
NOH
OPT
S
(printed
symbols)
OPT
NOS
OPT L
OPT
NOL
(no
listing)
3- 8
MEANING
The
Assembler
will
generate
an
object
tape
.
(selected
by
default)
No
object
tape
The
Assembler
will
write
machine
code
into
memory.
No
memory
(selected
by
default).
The
Assembler
will
print
the
symbols
at
the
end
of
Pass
2 .
No
printing
of
symbols
(selected
by
default).
The
listing
of
assembled
data
will
be
printed
(selected
by
default)
.
The
Assembler
will
not
print
a
listing
of
the
assembled
data
.
OPT
P
OPT
Nap
OPT
G
OPT
NOG
(no
generate)
3-9
The
listing
will
be
paged
(selected
by
defaul
t)
.
The
Assembler
will
inhibit
format
paging
of
the
assembly
listing
.
All
data
generated
by
the
FCC,
FeB
, and
FDB
directions
will
be
print
-
ed
(selected
by
default)
.
Causes
only
one
line
of
data
to
be
listed
from
the
assembler
directions
FCC
,
FeB
, and
FOB
.
3 . 9
ORG
-
Origin
FORNAT
:
ORG
<
expr
ess
i o
n>
[ < cottoneo
ts
> ]
DESCRIPTION
: The
ORG
directive
changes
the
program
counter
to
c. C
'';::'
,}
.L
(
,,
;:
.(
..
;:..2
e01
~
0
~
(':
:
'€"
::'4
r.
";-")'
)'5
I
;:'
f~
h
::O
,
~.
:;:
0
0("
;:",'
,;;
.i:,
.:.:",
'-
":'
';
'.L0 ," '
.::
0
~1
'
:''::''A
'::"::'1'''
1 L I
.:.
II
....
L
.:.
'
~L
0(.'(
:1
:1
2
~~L
:
~I
.:.
':.!..
(H~(
'
!
:
!
(":"
:':!..-
the
value
spec
ified
by
the
expression
in
its
operand
f
ield
.
Subsequent
statements
are
assigned
memory
locations
starting
with
the
new
program
counter
value.
If
no
ORC
is
specified,
the
pro
gram
counter
is
initialized
with
a
value
of
O. The
ORG
directive
may
not
in
c
lude
a
lab
el
.
of '
8!
LL
Pf·"X
:>-:
f1H
Y'_' I
LLI)
S
T~
:F
n E I_IS
E:.
':'F
TH~
(
IF
:! I:J! H
['.!.P.E(
TI
'..J
E.
E
,
~
'
!
I-'
(
'P
G
F:
!'
18
'
)P'
::
RI
'
IS
EH[
'
if)
JOHN
:i.@
3-10
PC
PC
P(
S
TA
F:
15
SET
TO
SET
TO
AT
ZI::.F:()
HE~
-=:
.2
0.3
'·/F"tLUE
OF
JOH~~
3.10
3.11
'
:
U
3("~~1
.
~
00121(')2
'~'
~
~
"
~'~
1
:
(11:;"_":'''''
,
;:)(n)C::'5
PAGE
-
TO
p
of
Page
FORMA
T: P
AGE
DESCRIPTION
: The
PAGE
directive
causes
the
Assembler
to
advance
the
paper
to
the
top
of
the
next
pa
ge . The
PAG
E
directive
does
not
appear
on
the
program
listing.
No
label
or
operand
is
used,
and no
machine
code
results
.
RMB
- R
es
erve
Memory
Bytes
FORl'lAT: [
<label>
]
R>lB
<
expression>
[
<comments>
]
DESCRIPTION:
The
R}rn
directive
causes
the
location
counter
to
be
increas
ed
by
the
value
of
the
operand
field
.
This
reserve
s a
block
of
memory whose
length
is
equal
to th
e
value
of
the
operand
field.
The
operand
fi
e
ld
may
contain
the
ac
t
ual
numb
er
(decimal
,
hexadecimal,
octal
or
binary)
equal
to
the
number
of
bytes
to
be
reserved
.
Alternatively
,
the
operand
may
be
a symbol
or
an
expression
which
can
be
assigned
a
numerical
value
by
the
Assembler
.
The
block
of
memory which
is
reserved
by
the
ru-m
directive
is
unchanged
by
that
directiv
e .
The
expression
must
not
contain
symbols
which
are
defined
later
in
the
program
(forward
references).
PR
(I
GPf~!
'
l
T
'
~
'
ILLUS"'! F:f!TE
USE
()
F THE
F:ES
E
~:"'
·
'
E:
!·!EI
·
!(1F
:'
~'
!:::
'~'TE
[
.!
F':E':' T 1 'u
iL
'
;:";:'I;:'';~?
.::.I,
";
~
I
.
Ij l
.:"".:..:!.
1-"
1I
"'~':;1=::'
(
~
1;:'1
:"1.
("':".:.'2
0l3j:-'0::'
.;;:
.;:.
.
':.
...
,j
';:'('0:-:
1;:>('( '
1.('
I: L
!-
t8..!.
~:1'
!
8
.:.
U1!::..::
kl.![:
R!'i8
Et-~!:,
.,
"1
B'r'
TE
F=:E5EF:\-'l:!:
' F
OP
(
LA
8"1
:2
EY~
'
TES
F:ESEf.:'·.-'E['
F-O
F:
(
L
A8
~
3-11
3.12
SPC
-
Space
FORHAT
:
SPC
< e)..-pression >
DESCRIPTION
: The
SPC
directive
provides
n
vertical
spaces
for
formatting
the
program
listing
.
It
does
not
itself
appear
in
the
listing
. The number
of
lines
to
be
left
blank
is
stated
by
an
operand
in
the
operand
field
.
The
operand
would
normally
contain
the
actual
number
(decimal,
hexadecimal.
octal
or
binary)
equal
to
the
number
of
lines
to
be
left
blank.
A.symbol
or
an
~xpression
is
also
allowed
.
lfuen
the
SPC
directives
causes
the
listing
to
cross
page
boundri
es
,
only
those
blank
lines
required
to
get
to
the
top
of
the
next
page
will
be
generated
.
3
-12
CHAPTER 4
ASSEMBLER
OPERATION
4. 1
GENERAL
INFORHATION
The
user
may
have
received
the
M6800
Co
-
Resident
Assembler
on
cassette,
paper
tape,
or
diskette
. The
loading,
initialization
and
operation
of
the
Co
-
Resident
Assembler
in
paper
tape
and
cassette
is
discussed
in
Paragraph
4. 2
while
the
loading
and
operation
of
the
Co-Resident
Assembler
from
diskette
is
discussed
in
Paragraph
4 . 3 .
4. 2
4.2.1
CO
-
RESIDENT
ASSE}mLER
TAPE/CASSETTE
OPERATING
PROCED
U
RES
Loading
Co
-
Resident
Assembler
From
Tape/Cassette
The
Co
-
Resident
Assembler
must
be
present
in
the
EXORciser
or
Evaluation
Hodule
memory
prior
to
the
initiation
of
the
assembler
operation
. However,
it
is
not
always
necessary
to
load
the
Assembler
before
each
assembly
operation
.
If
several
programs
are
assembled
in
succession.
or
if
the
programs
are
tested
without
modifying
the
memory
locations
used
by
the
assembler,
then
the
Assembler
will
remain
intact
in
memory and
available
for
subsequent
uses
without
reloading.
4.2.2
.1
LOADING
TftYE/CASSETTE
INTO
EXORciser
HEJ.IQRY.
Load
the
Co
-
Resident
Assembler
into
the
EXORciser from
tape/cassette
as
follows:
a.
Place
the
Co
-
Resident
Assembler
object
tape
(paper
tape
or
cassette)
into
the
System
Reader
Device
.
b.
Enter
the
EXbug
command
"LOAD
".
The
EXbug
Firmware
will
respond
with
"
SGL/CONT"
.
c . Type "s"
after
SGL/CONT
to
load
the
single
file
containing
the
Co
-
Resident
Assembler.
After
the
header
record
from
the
tape
is
printed
.
the
file
is
loaded
into
memory.
Upon
completion)
control
is
returned
to
EXbug
.
4 . 2 .
2.2
LOADING
TAPE/CASSETTE
the
Co
-
Resident
Assembler
into
the
cassette
as
follows:
INTO
EVALUATION
HODULE
MflIORY
. Load
Evaluation
Hodule from
paper
tape/
a.
Load
the
Co
-
Resident
Assembler
object
tape
(paper
tape
or
cassette)
into
the
System
Reader
Device
.
b.
Enter
the
character
L
after
the
asterisk
.
This
initiates
the
Evaluation
Hodule
loading
procedure.
The
Evaluation
Module
loads
the
Co
-
Resident
Assembler
into
memory and
then
prints
an
asterisk
.
4- 1
4.2.2
Assembler
Initiation
In
normal
operation
,
the
memory
region
between
the
end
of
the
Co
-
Resident
Editor
and
location
$2000
is
used
by
the
Assembler
for
the
symbol
table.
This
table
provides
space
for
90
symbols
.
If
a
larger
symbol
table
is
required,
the
symbol
table
area
can
be
extended
at
either
end
.
By
selecting
the
editor
over-write
feature,
the
area
occ
upied
by
the
Co
-
Resident
Editor
can
be
appended
to
the
beginning
of
the
symbol
table
.
This
increases
the
symbol
table
capacity
to
312
symbols.
T
he
over
-
write
option
is
enabled
by
usin
g
~~ID
to
c
han
ge
the
c
ontents
of
memory
location
30316
to
FF16 '
,:.
~
F;'
_L:;
1 .
-::
r'l
li 1 D
.::
(I;:,
' (I n
:=
~
If
more
than
8k
bytes
of
read-write
memory
are
avai
l
able,
additional
memory
can
be
appended
to
the
end
of
the
symbol
table.
This
is
accomplished
by
modifying
the
end-
of
-symbol-
table
address
in
memory
locations
30116 and 30216 '
Eight
bytes
of
read
-
write
memory
are
required
for
the
storage
of
each
symbol.
Hodifying
locations
30116 and 30216
to
contain
2400
16
extends
the
symbol
table
by
lk
bytes.
or
128
symbols
for
a
total
of
2
8,
assuming
the
editor
over-write
is
not
selected
.
';':?:
F
;;J~
1
.
,~
"
1-=11
D
_
;:1'1
1
__
'::
:0
? 4
1);,
!J
:::
,'
I)
(1
1)1
)
If
the
object
code
is
to
be
written
into
memory
(OPT
l-l) ,
the
end-
of
-symbo1-
table
address
delimits
the
address
.
For
example
,
if
the
symbol
table
ends
at
200016
(the
default
value),
a
program
be
g
innin
g
at
200016
or
higher
may
have
its
output
directed
into
EXORciser memory
(assuming
the
memory
is
available)
.
If
, on
the
other
hand,
only
8k
of
memory
is
available
and
the
programmer
vdshes
to
assemble
into
memory
(OPT
H),
the
symbol
table
can
be
shortened
to
make memory
available
for
the
object
code
.
This
is
accomplished
by
changing
the
end-of
-symbol-
table
address
to
a
lower
address
.
For
example
.
assume
1FOO
l6
is
the
new end-
of
-
symbol-table
address
.
>::
'<
E
:
tY
~
1 . c f
'lf.!
[ D
-::
:0
1
"'-
20
1F
1.'
::O::Ol
OU
(II)
4-2
HEX
A
program
beginning
at
IF00
16
now
can
be
assembled
into
memory.
Should
an
end-of
-
symbol-table
address
be
entered
that
is
less
than
the
start
-
of-symbol
-
table
address.
the
Co
-
Resident
Assembler
uses
the
default
address
200016 '
A
user's
program
may
take
advantage
of
the
direct
addressing
mode
and
use
the
first
256
bytes
(0
-10016)
for
scratch
memory . However. no
instructions
that
generate
data;
such
as
FCC,
FOB,
or
FCB;
may
be
assembled
into
this
area
because
the
Assembler
and
Editor
also
use
this
portion
of
memory
for
scratch
storage.
Figure
4-1
depicts
a
memOr)
map
of
the
Co
-
Resident
Assembler.
Memory
Hap
Tape
Version
Assembler
Operation
!>fernory
Hap
Disk
Version
Assembler
Operation
0000
HEX
0000
SCRATCH
0100
I/O
ROUTItiES
0300
RESIDENT
ASSE2-IBLER
1610
RESIDENT
EDITOR
lDOO
SYHBOL
TABLE
(93
SYHBOLS)
2000
OPTIONAL
USE
AS
SYNBOL
TABLE
.
OPTIONAL
USE
AS
S'G1BOL
TABLE
225
ADDITIONAL
SYNBOLS
NOTE:
(TAPE
VERSION
ONLY)
The
editor
overwrite
flag
is
at
$303 .
If
it
is
zero
the
editor
area
will
not
be
used
as
symbol
table.
If
it
is
non-
zero
the
editor
area
will
be
used
as
sym-
bol
table
.
Locations
$301-$302
contain
the
address
of
the
end
of
the
symbol
table.
The
de
-
fault
value
of
$2000
may
be
changed
by
the
user.
SCRATCH
0100
I/O
ROUTINES
0300
RESIDENT
ASSEHBLER
1610
STI1BOL
TABLE
CONTII\'UES
TO
THE
Et-."D
OF
CONTIKUOUS
RAI'l
FIGURE
4-1.
/>ternory
Haps
of
Co
-
Resident
Assembler
.
4-3
Selection
of
the
Editor
over
-
write
feature
and
modification
of
the
end-
of-symbol
-
table
must
be
done
after
the
Assembler
has
been
load
ed and
before
it
is
initiated.
Figure
4- 2
illustrat
es
the
procedure
for
loading
the
Assembler
and
initiating
it
without
modification
.
Appendix F
depicts
the
Program
Assembling
Procedures.
c
)(
EUG
l
.
~:
LOAD
~
'
3:..
"
"C'
Jr-t
T ;
~
A;
!
'11
,
::
::X
E:
'
.i
'
':;
1.2
('101
I D
·
100
;,
13
'
'
1~
a
OO
P E S
ID~N1
A
~$
EMR~E~
1. 3
·:tJ
c."
')
'
PIGHT
('1
0
101=
0' ..
11
1
?I
,'oS
=:
~HE!Z"
P H
~
,
~
"
:
1':' · 1
~
.
'::
"
F-'
::L , 2 T
l P
1~
60
0
~€SID~rIT
~
S 5
E
MBLER
1. 3
:
J"
)'
j;
' I
(5
y r
r'l
'J H l
t:;
OLH 1
";"
7
-:
.
::
nr~~'
F'
.
:;
~;
:
1F'
· I
5:
· 2
F'
,
2L
· 2 T
FIGURE
4-2.
Program
Assembling
Procedures
4. 2
.3
Tape/Cassette
Co
-
Resident
Assembler
Operation
The
Co
-
Resident
Assembler
is
a two-
pass
assembler
.
That
is
,
the
Co
-
Resident
Assembler
must
read
a
source
program
twice
--
once
to
build
a symbol
table
and
a
second
time
to
produce
the
assembled
output.
In
resp
onse
to
the
assemble
r prompt
message
,
ENTER
PASS:
lP,
lS,
2P,
2L
,
2T
Select
the
appropriate
assembler
pass.
The
Co
-
Resident
Assembler
Pass
controls
are
described
in
the
following
paragraph
and
are
summarized
in
Table
4-
1.
CONTROL
1F
15
2P
2L
2T
TABLE
4- 1 .
Co-Resident
Assembler
Pass
Controls
and
Options
DESCRIPTION
Pass
1,
clears
symbol
table
Pass
1,
inhibits
clearing
of
symbol
Pass
2,
assembly
listing
and
object
output
,
Pass
2,
assembly
listing
only
Pass
2,
object
tape
only
.
4- 4
table
tape
-
PASS
IP
--
Pass
I
produces
a
table
of
the
symbols
which
appear
in
the
program
and
the
corresponding
memory
addresses
to
which
they
are
assigned
.
This
table
is
used
in
Pass
2
to
determine
the
address
field
for
instructions
which
reference
memory
symbolically
. Program
syntax
is
also
checked
in
Pass
I,
and
errors
are
listed.
PASS
1
Option
IS
- -
In
the
assembly
of
multiple
source
tapes,
it
may
be
advantageous
to
be
known
to
each
assembly.
The S
option
for
Pass
1
inhibits
the
clearing
of
the
symbol
table
before
the
pass
is
started
.
PASS
2P
--
Pass
2
rereads
the
source
tape
and
uses
information
in
the
symbol
table
to
produce
the
assembled
output.
Using
terminals
which
permit
independent
on/off
control
of
the
tape
output
and
printer
devices,
Pass
2 can
produce
both
an
object
tape
and an
assembly
listing.
A
terminal
.dthout
independent
controls
viII
permit
the
generation
of
either
an
object
tape
or
an
assembly
listing
(not
both).
In
this
case,
Pass
2
may
be
repeated
to
generate
both
output
forms .
PASS
2
OPTIONS
2L
--
The L
option
for
Pass
2
is
used
to
generate
only
an
assembly
listing
(no
object
tape).
2T
- - The T
option
for
Pass
2
is
used
to
generate
an
object
tape
(no
assembly
listing).
4 . 3
4.3.1
NOTE
:
One
-
Pass
Operation
.
For
source
programs
which have
no
symbolic
forward
references,
Pass
1
may
be
omitted.
For
short
programs
with
only
a few
forward
references,
it
is
also
possible
to
'
omit
Pass
1.
In
this
case,
hovever,
the
forward
references
will
be
flagged
with
error
211 and
the
assembled
program
with
an
address
field
of
FFFF. The
correct
address
can
be
patched
after
the
symbol
table
is
printed
at
the
completion
of
the
assembly
.
In
combination
with
the
options
for
entering
a
source
program
from
the
terminal
keyboard
and
for
assembling
an
object
program
in
memory ,
short
programs
may
be
assembled
and
executed
without
the
use
of
tapes.
CO
-
RESIDENT
ASSD1BLER
DISKETTE
OPERATING
PROCEDURES
Disk
Co
-
Resident
Assembler
Operating
Characteristics
The
Co
-
Resident
Assembler
on
diskette
, when
working
with
the
EXORdisk
with
its
EDOS
Firmware,
has
several
unique
characteristics.
In
this
application,
the
EDOSII
Firmware
automatically
selects
the
Editor-overwrite
option.
Also
the
assembler
searches
the
EXORciser
for
the
end
of
its
continuous
memory
to
deter
the
end-
of
-symbol-
table
address
.
4- 5
If
the
user
wishes
to
use
the
OPT
M
directive
and
insert
the
assembled
output
into
memory
he must
provide
a
block
of
memory
that
is
not
continuous
with
the
memory
being
used
by
the
Co-Resident
Assembler
.
4. 3. 2
Diskette
Co
-
Resident
Assembler
Operation
The
Co-Resident
Assembler
is
a two
pass
assembler
that
resides
in
the
diskette
file
named
AS~ffi
.
That
is
,
in
its
assembly
operation
the
Assembler
reads
the
source
program
twice
--
once
to
build
a symbol
table,
and a
second
time
to
produce
the
assembled
output.
Unlike
the
two
pass
operation
of
the
assembler
on
tape
or
diskette
,
this
assembly
automatically
performs
the
twO
passes
in
sequence
.
This
assembler
working
with
the
EXORdisk's
EDOS
Firmware
assembles
the
source
file
and
directs
the
assembled
object
output
(if
selected)
to
the
object
file
and
the
assembly
listing
(if
selected)
to
the
terminal
device.
In
initiating
the
assembly
process,
the
user
instructs
the
EXORciser
to
run
the
E
DOS
Firmware.
On
receiving
the
EDOS
prompt
(~)
the
user
enters
the
appropriate
assembly
command. The
three
assembly
operations
are
described
in
Figure
4- 3 and
illustrated
in
Figure
4- 4 .
In
entering
the
assembly
command
,
all
three
operands
must be
specified
.
In
the
case
where
no
object
file
is
to
be
created,
any
dummy
file
name
may
be
entered
in
the
operand
field.
In
this
case
. no
file
entry
will
be
created
on
the
diskette.
4- 6
Name
:
Format :
Pu
rpose :
Comments :
Examp
l e :
A
SH
ASH
,
passoptio
n,
objectfilename
,
sou
r
cefi
lename
To
assemble
the
contents
of
the
sour
ce
file
and
to
d
ire
ct
the
assembled
object
output
,
if
any
to
the
object
ou tput
file
and
the
a s
sembled
list
i
ng
,
if
any ,
to
the
list
de
vi
ce
.
All
three
operands
must be
specified
.
If
no
object
file
is
to
be
created,
any
dummy
file
name
(i
. e . X
or
Y
or
Z
etc
. )
may
be
entered
in
this
operand
field
since
no
file
di
r
ecto
r y
entry
will
be
created
.
The
pass
op t
ion
operand
field
may
co
n
tain
the
number 2, 3,
or 4 .
2 : bo t h an
assembly
listing
and an
object
out
put
a r e
pr
oduced
.
3
~
only
as
~ssembly
lis
t
ing
is
generated
to
the
lis
t
device
.
4
only
an
object
outp
ut i s
generated
to
the
output
object
file
.
ASr-!
, 4 ,
JOEO
,
JOES
Pr
oduce
an
object
file
named
JOEO
f r
om
the
sou
r
ce
file
named
JOES
.
L _ _ _
___
___
__
FIGURE
4-
3.
Assemble
(ASH)
Command
-----
----
--'
.
E
~!
JI
:;
I .
:'
"1-1
I
[I
"
~
'
::O(l
;
,
,:;
~
:
~5un
EDO~
\:~~
.
2 . 2
'1':;,·;0 0 ';
'E
S I [lEt-i T
A
~,S
€I'1E:LE
~
'
1 . .
;:
:
~PYR
I
G H
T
~OTOPOL~
1
~76
FIGURE
4- 4 . Example
of
Disk
As
sembly
Operation
4- 7
APPEt-.1)lX A
CHARACTER
SET
The
character
set
recognized
by
the
Hotorola
H6800
Co
-
Resident
Assembler
is
a
subset
of
ASCII
(American
Standard
Code
for
Information
Interchange,
1968)
. The ASCII Code
is
shown
in
the
H6800
Pro
granuning
Reference
Hanua!.
The
following
characters
are
recognized
by
the
assem
-
bler
.
l.
2.
3 .
4.
5.
6.
The
upper
case
letters
A
through
Z
The
integers
0
through
9
Four
arithmetic
operators:
+ - * /
Characters
used
as
special
prefixes
:
n
(pounds
si
g
n)
specifies
the
immediate
mode
of
addressing
$
(dollar
sign)
specifies
a
hexadecimal
number
@ (commerc
ial
at)
specifies
an
octal
number
%
(percent)
specifies
a
binary
number
(apostrophe)
specifies
an
ASCII
literal
character
&
(ampersand)
specifies
a
decimal
number
Characters
used
as
special
suffixes:
B
(letter
B)
specifies
a
binary
number
H
(letter
H)
specifies
a
hexadecimal
number
0
(letter
0)
specifies
an
octal
number
Q
(letter
Q)
specifies
an
octal
number
Three
separating
characters
:
SPACE
CR
(carriage
return)
(comma)
7 . A comment
in
a
source
statement
may
include
any
characters
with
ASCII
hexadecimal
values
from 20 (SP)
through
SF
(
__
) .
A-1
8 .
In
addition
to
the
above)
the
assembler
has
the
capabi
lity
of
reading
string
of
characters
and
of
entering
the
corresponding
7-
bit
ASCII
code
into
spec
ified
locations
in
the
memory .
This
capability
is
provided
by
the
assembler
directive
FCC
(see
Chapter
3)
.
Any
charac
ters
co
rresponding
to
ASCII
hexadecimal
values
20 (SP)
through
SF
<-->
can
be
processed
.
This
kind
of
processing
can
also
be
done,
for
a
single
ASCII
character
,
by
using
the
immediate
mode
of
addressing
with
an
operand
in
the
form
tt
' C
tt
A- 2
ABA
ADe
ADD
AND
ASL
ASR
Bee
Bes
BEA
BGE
BGT
BHI
BIT
BLE
BLS
BLT
BMI
B
NE
BPL
BRA
BSR
Bve
BVS
eBA
eLe
ClI
CLR
CLV
CMP
CO
M
CPX
DM
DEC
DES
DEX
EOR
NO
TE
APPENDIX 8
SUMMARY OF M6800 INSTRUCTIONS
,
&
o
,
o
,
,
,
,
,
,
2
2
2
2
2
.;
o
E
E
2
2
2
2
2
3
2
·
o
..
o
3
3
3
3
3
,
3
~
,
w
,
,
,
6
6
,
6
,
6
5
6
,
5
5
5
7
7
5
7
5
7
6
7
5
..
E
2
2
2
2
2
2
,
,
o
.
~
,
"
,
,
,
,
,
,
,
,
,
,
,
,
,
8
,
II1
!erfU
p
~
l,me IS
12
cvc
les
fr
om
the end
of
INC
INS
INX
JMP
JSR
LDA
LDS
LDX
LSR
NEG
NOP
ORA
PSH
PUL
ROL
ROR
RT
I
RTS
SBA
SBe
SEC
SEI
SEV
STA
STS
STX
SUB
SWI
TAB
TAP
TBA
TPA
TST
TSX
TSX
WAI
t
he
,nS
{>
lIc\
,on
be ing ex
e(;u
l
ed,
('
x
cep
l 10
11
0""'"9
a
WA
I
,,'S
Huct,on. T hen n
IS
'1
cycl
es,
~
<5
,
o
,
,
,
,
,
x
u
~
2
2
2
2
2
2
2
3
3
2
2
2
3
,
,
3
3
,
5
5
3
6
3
9
,
5
5
6
6
,
6
6
,
5
6
6
,
6
7
,
8
5
6
6
7
7
5
7
7
5
6
7
7
5
7
INSTRUCTION ADDRESSING MODES AND EXECUTION TIMES
(TIMES IN MACHINE CYCLES)
8-'
.,
"
E
,
,
2
4
,
10
5
2
2
2
2
12
2
2
2
2
,
,
9
, ,
~"
ADO:"
~OOI
A.~
A,,,,,,,
:"BA
A.,
""~
c"".
A
OCA
Aoce
.-.
M.O~
AI.Oi
B"
T",
BIU
BIIS
Ow
n.
Cl
R~
tllle
to~~·.
t~?A
c~
...
to-
..
"
10,-
'"
'"
tI>"'oI
.
.....
,. 1',
'"
COM
A
COMi
eo
""""",,,
.
,',
I.H'
I~
~
...
",
'I[r.~
I.
EGB
~
A4
1'"
, .
..
0."'
.......
,
""
OHA
Oft,
(.
"
..
·
..
011
(OR'"
EORI
I.
",
...
"
I
~ C
I
~CA
I
~ CB
lo.'
10
,"11"
,O
U
lOU
O'.''''.~''
D
RAA
O~AI
"''''0."
"
"'
""'
"""0",
'lI
l:"
PUl8
R
••
".
l,"
..
,
ROl~
ROll
110
..
" M,t',
...
"O~
..
Ron
!oM,
l'"
.",
...
,,'
'"
ASl ..
ASlU
$/-11
",,"'.
A,.'
....
' " ".
~su
~SRB
SII
," "
'9i".
l .... e '" l5MA
lSR~
s.
... "
,-I
"
SIU
s,
~s
s.'·
..
n
SUB~
sun
So~~",
A,
,..,,.
...
s.
~"
M~
Co"
',
SBCA
SBca
I
..
" ,
....
,,.,t,,,
'"
n,
'U'
1
.....
"
'.'
'"
ISlA
ISII
l(~UD
OP
o""
"·
...
to
...
,
~
...
..
'"" .
·,
N.mI:<,
.'
~"U
C.
<'
"
~
"_
'
.
,
"''''''' i""
,"
,
,,
...
,
·e
".'
l,,'
.....
'.
, ~
·
....
lool
..
n . '. 0
,
"
"
..
"
..
"
..
"
..
"
..
"
..
..
..
..
..
"
"
I
"'
-
~'~'::
,
-
, ,
..
, ,
..
,
..
,
, ,
..
, ,
..
, , " ,
, ,
..
, ,
..
, " ,
, ,
..
, ,
..
, " ,
, , " , ,
:'"
, ,. ,
, ,
"'
, ,
..
, "
, ,
..
, , " , "
, ,
..
, , " , "
..
, , " ,
, , " , ,
..
,
..
,
, ,
"'
, , " , " ,
" , " ,
" , " ,
" ,
..
,
, , " , ,
..
,
..
,
, ,
..
, , " , " ,
" , " ,
, , " , ,
..
, , " ,
, ,
..
, ,
..
,
'"
, ,
..
, ,I
::
~
~:
:
, ,
..
,
..
, " ,
" , "
, " ,
" , " ,
, " ,
" , " , " ,
..
" " ,
,
..
, " , ,
,
"'
,
'"
, " ,
, " , " , " ,
,
..
, " , " ,
'"
, "
Boo'
..
·,
,"",.~
•• OR
o 80
0'".
t.
,.",
.•
OR
iii
C.
,,·
"'
...... ,.' M
1
..
·,
'"
...
"
B"
,,,
.
00
a.If I,'.
"
..
-,
" , ,
..
,
" ,
..
, ,
" , ,
" , ,
..
, ,
" , ,
..
, ,
" , ,
..
, ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
" , ,
'"
, ,
" , ,
" , ,
'"
, ,
~
,
,DOli
AN
I
AII!I~M[
IIC
0'(
~A
nO
N
I
AIl
''''''''
1.1ot!,
."
..
I.
".".,,'
M-A
I
."
' ,
.'
, "
A'
",.
C "
••
\!.
C "
.., , ,
"
, "
'"
B
'I
I
~
"
~
"
~
"
, ,
, "
, ,
,
"
, "
, ' ,
~
" "
~
, "
~
, "
1:<>"
...
"
......
~
••
11(0
c
...
. "
..
,
'~I.'UII
.....
'
" ,
,"
, ,
-,
, ,
-,
10(,)'1
-,
10M
-,
~,
I "
" ,
"
, ' ,
"
"
-,
,
-,
A o
ll
_ A
",
-il
, . "'v
SF
1
-$'
,
~'sP
SP
,
-"
SP.
I
-S/'
VSf'
·A
SP
. I
'SPIlSp-~
:1
c:;:;
-
ill'"ii)
.J
· , " -
:1
ITT11II 1;:::J
-0
, " -
:l
-
0 -
II
Ii
ii
- O
, "
d9;
'
-
i I " I -a
,
-
:f
O-
Ol.ll:!:l:1J
-C
" ,
,"
' "
, ,
'.
" "
,
'.
" ,
"
, \, - C
-,
, ' .
, "
"
"'
,
::
CIINDITID~tDD!
SYM
IO
l$
"
,
~."u"
."
.,,~,'l
,.
,,,,
""
,
"""
~t9't
·
,.
''4''
~,"
1
..
.
,."
. ,
""
DO!
R('
,
, ,
, ,
, , ,
, , , ,
, , ,
, ,
, ,
, ,
, ,
, , , ,
, , , ,
, , , ,
, ,
, ,
, ,
!;I~I
, , ,
, ,
,
, ,
, ,
, ,
, ,
, ,
, ,
,
, ,
, ,
, ,
, ,
, , ,
,
, , ,
, ,
,
,
, ,
, , ,
, , ,
, , ,
, ,
, ,
, ,
, ,
,
, , , ,
, ,
, , , ,
, , ,
, , , ,
, ,
, ,
, ,
, ,
~SI'
to.,
..
".,
...
_ ,
'otI'
eo
00
"
".'
0"
s..,
. "
..
,
..
,
O.~<,·.,..
I
•••
"""
.....
,
Cot"
r.
....
~.,
I
MC6800 INSTRUCTI
ON
SE
T
6,2
....
,
~
~'l'
St,
~
~.,
'
""
••
~
..
,
,I
"0'
"""~
. ,
-"
...
,,,
~
"
AIT
..
"~
cOlm
CO
(IE
REG
I
M~
,IEO
DIRECT
INOfX
EXTNO
IMPLIED
, , ,
P(l
IN
TER
(lPfRA
TI
ONS
MNEMON
IC
..
--
..
--
..
-"
..
-"
..
I -" a(l(lLEAN/ARITl
Ir.
IETIC (lPERATIO Ii I
Ii
I I " , , ,
u,mpa,.
Indo
. R'9
'"
" , , " , , " , , " , "
/,1
.
Xl
H.I·II
.
Q)
:®
Of"
'""O
!
1m'.,
RPIj
'"
..
, , ,-,
.,
Of"
.....
"'
S!>(~
Pnl<
...
" , , " I
-S
f • •
I.«,""nl
Inllo
. Rtg II/X
OS
, , ,. ,
· ,
InU
'mto
l SI"o I'nu
'"
" ,
Sp·1-SP
Lo.~
In~
.
R
.g
eo,
" , , " , , H , , " ,
,,'
.
XH.IM·
II
. " . ® "
LOJd
Sl.,
~
P""
eo.
"'
, , " , , " , ,
"'
,
',
'
-SP
H.I/,I .
\I-SPL
.
"
$,orr
Ind
..
H. g '" " , " , , " , , " ",1. XL ·
II ·
IF
"
S10,.
S
m
~
POll
m " , " , , " , ,
SPH
-.
1.1
.
SPl
-1M'
II
. '@ "
In
d,
R.g .
$,.,
. P. " .
".
+1' , I -. SP :1: :1
5,,,
. Pnll
-In~
'
R
.~
'"
)0
~
I
$p.
1 - X
"
NO
CODE
REG
RelA
TI
VE
I
NDEX
EX
TN
O
IM
P
LI
ED
, , , ,
OP
ERA
TI
ON
S
MNEMONIC
..
-"
..
-"
..
-"
OP
I - " 8RA N
CH
TES
T , 1 , , , , ,
B""lh
AI'
N!V<
..
, " , ,
11
00' :1
B
""
'h
II
C.mV
CII.,
'"
" , , , ..
S""'h
II
r..
"y
So,
m " , , ,. ,
B"n,"
II
~
l
uo
."
" , , ,. ,
S,.n,h
11
:>-
Z
.,o
'"
" , ,
II
(!)
V ' 0
B'~n<"!I
>
l
"o
."
" , ,
Z.(N(!)VI
·ll
S",,"
11
11,f/h"
'"
" , ,
C'
1 ' 0
8,.n,"
II
or;;
Z
.,o
""
" , , Z
,m(!)V
1
Bro",h
II
Lo",""
0,
So
.... m " , , C • Z ' I
B,.n,n
II
< Z
"o
m " , , N
(!)
V ' I
B"n,n
If I,', n
u.
BMI
'"
, , ,. ,
Bron,h
It
/101
EQ
...
I Z
.,.
BilE " , , ,
..
8ron,"
It
O,.,lIow Ou ,
""
'"
, , , ..
aronc"
II
O'~
r1
low
Sr,
""
" , , ,. ,
B.,.c"
II
PrO\
." " , ,
/1
- 0
a,,"e"
To
Sub/ouM.
"'"
..
, I
Ju
mp
J',IP " , , " , , S
So
",.1
Op
. m ,on.
Jump
To
S
uh,ou".,
""
'"
,
..
, ,
/l
oOo"."o
n 1
10P
" , , AU
..
,nc"
Pr
OOj
e
n!!
O"I
¥
R"u
,n hom
lo""up,
""
'"
'"
,
--@--
Ro
,
",n
F,o
m$u
b,Qulln.
en
" , l · ·DI J ..
Soh"""
'"1O,,,,p'
SWI
" " , S
••
Sort
lll
Op
...
"on,
1',"
"
,1
0'
'.''''"P' · I'
IAI
" , , @
••••
.
....
, ,
Ad~."
au.
A
~u
R ,'I
, , .
na
0.11
Bu.
,n
'
~'IM
ttl1>
..
'"
d
\"W
h'"
YMA
"h.
ld low
..
, (B" v i
2
(S"
CI
3 (gil
CI
,
(Bu
VI
(S"
VI
(B,I
VI
CO
"II
COilE
REO
IMPLlfO , , , ,
IIPERATlOtl$
MNE
MON
IC
" -" 800LEAllOPERATIOIl , , , , , ,
CI
...
r..,,~
'"
"'
, ,
.-
, "
a
..
, '"""""'
M
"~
'"
" , ,
0->
"
0 . "
D",l
lo
l"o"
'"
" 2 ,
.-
, "
Soo,
r.."y
m
..
, , , ., ,
SIlI'n"""p'
r
~
.,
..
'"
" , , H ,
Sol
0".,110""
'"
'"
, , ,-, ,
MmllP
A -
CCR
'"
" , ,
A-C'R
--@-
-
CCR
- . Atml
,.
A
'"
" , , CeR _. A . 1. 1
••
1. 1 .
CO
ND
ITI
O"
COilE
REGISTER
NOTES
: IB,t
..
' ,I
"""
II
u.
,no
, I
.,ro
d . ,h
"""
..
1
T."
R"ul,
-
IO
eIlOOOO'
(B"
III
rm $.go M 01
mo
" "!i",I
",",
(
MS
I
b".
-
I'
TOIl
R
..
ull
·
OOOOOIlDO'
(S>1
V)
T"I
n tQm;rlo""o,
omllo,v
Ir
om
."blrO"'O"
01
MS
b~'
'''
hI!
D
."m.1
v.I."
01
mo"
It!i",
I,
un
'
BCD
Ch".".,
q""
" ,
h."
"m" ,
16
" N)
Teu
R
tluh
I,
..
,"'
"
mo'
(B"
15
1)
(rIo,
Cl
.
...
d ,I p,o
v,oudv'"
I
'"
(All)
lo
.d
Cooa
.
"."
Co'"
R"lll'"
I,om
S,ac
~
(SH
$01<
;. 1
O~"1ronll
T
..
,
Ollf"nd
-
100000000".
' to • •
,,",i.n'
" 1
811
II
Sri wIIIn ,
",,,
,uPI
.ttu"
II
o""ou
<lv
..
,
.•
li
on
~I
,
,,
I;
,bl'
hll"
10\'
O",,.od
·
011
1111
1
puo<
1
0.,""".0'
In
lwup'
'$
"Q","d'
••
'"
,h.
,,~
,'
""
.
So
, 'Quollo
,,,
til
l
olll(!)e
,(",
,h'"
N
••
tcu" , d "
IA
l
iI
Sr'''
tQ
'dml
'0 '
II<
Co"
!.nl<
01
A"
umu'Olo<
A
MC6800 INSTRUCTION SET (CONTI
NUED
)
B·3
,
APPENDIX
C
N6800
Co
-
Resident
Assembly
Directives
Summary
DIRECTIVE
ASSEMBLY
CONTROL
NAM
ORG
END
LISTING
CONTROL
PAGE
SPC
OPT
NOO
OPT
0
(Ob
ject
Tape)
OPT
M
(Hcm
ory
File)
OPT
NON
OPT
S
(Print
Symbols)
OPT
NOS
OPT
L
OPT
NOL
(No
Lis
ting)
C- l
FUNCTION
Program
name
Origin
Program
End
Top
of
page
Skip
tlntl
lines
No
object
tape
The
Assembler
will
gene
rate
object
tapes
(selected
by
default).
The
Assembler
will
write
machine
code
to
memory
.
No
memory
(
selected
by
default)
.
The
Assembler
will
print
the
symbols
at
the
end
of
Pass
2.
No
printing
of
symbols
(selected
by
defaul
t)
.
The
listing
of
assemb
led
data
will
be
printed
(selected
by
defaul
t)
.
The
Assembler
will
not
print
a
listing
of
the
assembled
data.
M6800
Co-Resident
Assembly
Directives
Summary
(Continued)
DIRECTIVE
FUNCTION
OPT
P The
listing
will
be
paged
(selected
by
default)
.
OPT
NOP
The
Assembler
will
inhibit
format
paging
of
the
assembly
listing
.
OPT
G
All
data
generated
by
the
FCC,
FCB
,
and
FDB
directions
will
be
printed
(selected
by
default)
.
OPT
NOG
Causes
only
I
line
of
data
to
be
(No
Generate)
listed
from
the
assembly
directions
FCC,
FCB
, and
FOB.
DATA
DEFINITION/STORAGE
ALLOCATION
FCC
Character
string
data
(Form
constant
character)
FCB
One
byte
data
(Form
constant
byte)
FDB
Reserve
memory
bytes
(Form
double
byte)
SYMBOL
DEFINITION
EQU
Assign
permanent
value
C-2
,
APPENDIX
D
ASSEMBLER
ERROR
HESSAGES
201
NAM
DIRECTIVE
ERROR
HEANING
: The
NAH
directive
is
not
the
first
source
statement,
or
it
occurs
more
than
once
in
the
same
source
program
(Applies
only
to
version
1.2)
202
EQU
DIRECTIVE
SYNTAX
ERROR
}~ING
:
The
EQU
direct
i
ve
requires
a
label
(Applies
only
to
version
1 . 2)
204
STATEHENT
SYNTACTICALLY
INCORRECT
HEANING
: The
source
statement
is
syntactically
incorrect
205
LABEL
ERROR
206
207
MEANING
:
The
statement
may
not
have
a
label
or
the
label
is
syntactically
incorrect
.
REDEFINED
SYMBOL
MEANING
: The symbol
has
been
previously
defined.
UNDEFINED
OPCODE
NEANING
: The symbol
in
the
operation
code
field
is
not
a
valid
opera
tion
code
mnemonic
or
directive
.
208
BRANCH
ERROR
MEANING
: The
branch
count
is
beyond
the
relative
byte
' s
range.
The
allowance
is
(*
+2)
-
128
D
(*
+2)
+
127
where
D =
address
of
the
destination
of
the
branch
ins
truc
tion
.
* =
address
of
the
first
byte
of
the
branch
instruction
.
209
ILLEGAL
ADDRESS
mDE
210
}ffiANING
: The
mod
e
of
addressing
is
not
allowed
with
the
operation
code
type
.
BYTE
OVERFLOW
MEANING
: A
one
byte
expression
has
been
converted
to
a v
alue
greater
than
255
10
or
l
ess
than
-12810,
211
UNDEFINED
SYMBOL
MEANING:
The symbol
does
not
appear
in
the
label
field
.
D- 1
213*
EQU
DIRECTIVE
SYNTAX
ERROR
MEANING:
The
EQU
directive
requires
a
label.
216
DlRECTIVE
OPERAND
ERROR
~ffiANING:
The
directive
operand
field
is
in
error.
218
MEMORY
ERROR
MEANING:
The memory
option
was
used
and
the
object
code
was
directed
to
overwrite
the
assembler/editor
onto
non-existent
memory .
220
REDEFINED
LABEL
ERROR
}~ING
:
The symbol
in
the
label
field
has
been
redefined
and
has
a
different
value
on
Pass
2
than
on
Pass
1.
221
SnmOL
TABLE
OVERFLm.J
MEANING: The symbol
table
has
overflowed
.
operation
paragraph
in
Chapter
3
symbol
table.
See
assembler
for
extending
the
*
In
version
1 . 2
ERROR
213
is
a
redefined
symbol
error
.
0-2
,
Frame
,
,
J
,
S
6
1
,
,
'0
N
I
~
..
!
!
0
,
,
I
T
N
·
<
,
0
u
>
I
APPENDI X E
ABSO LUTE
OB
J
ECT
RECORD
FOR
MA
T
/
00
}
Leider
(Null~
1
---
- -
--
--
----.,;.-
}
(Null.)
(CRI
Formatting
f
or
pri
nter
(LFI
read8b
ili
ly
:
ignored
by
le
ader
0'
(Nu
ll)
53
S ·
Start·ol·record
---
ee
I ---
--
- -
E --
, --
u
0
u --
1 --
---
CC
·
Type
o f
ReCO
rd
}
By
le Coun l
(two
frames ·
one
byte)
I
AddreSI
/
Sllt
0"13
}
Checkwm
~
Frames
3
!"rough
N are hexildeclmal
d,gm
(m 7
·bi
, ASCII I
whIch
are
(OMentd
10
BCD.
Two
BCD
dlgin
lIrt
comb
i
ned
10
m;tke
one
B·b
i,
byte
.
Th
e
checksum
It
'''e
one's
comn~'men
l
of
Ihe
summalion
of
a·bi,
bytes
,
Fram
e
1 St
an
·ol·Record
2.
Tyoe
of
Record
J .
BVle
COUnl
,.
S
6. Addr
eu
lS,ze
1.
,
9. Data
'0
. ..:..:
___
_
N.
Checkwm
cc
~
30
H~ader
Rrcord
--'L
~
"
...B....
"
"
"
...1L
"
...lL
"
--"--
J5
..2L
~
"
S
0
"
---
000
0
4
8-11
---
'''0
52·R
--
-
9E
CC
-
31
08
18
Record
..2L
"
"
J6
"
"
"
J.
3'
J8
3D
J2
~
"
El
s
"
1100
"
J2
CC
·39
End-ol·F,le
Record
~
....l2...
3.
...1L
3D
3D
lO
~
"
"
AS
(Cnecksum)
s
,
"
0000
Fe
APPENDIX
F
SAMPLE
PROGRAM
F'AGE
(101
PI3I"
00001
riAI'l PGI'l
00002
PE\'ISIQr'l
1
0000
'
;:
OPT
0 OUTPUT
OBJECT
TFIPE
00004
OFT
, S
ELEC
T
PF.:
I
IH
I
NG
OF
:S:-
y'
t'lB 0 L S
.
~
00005
OCT
r1
00006
2000
OJ;~G
'1;2000
00007
ooo~:
counT
EJ)U
,)13
.j)
INDICATES
acrAL
o
I)
I) I):;
2000
::
:1
;:
20
32 START
LK:
; ::STACK. INZ 'STACK PDIrHER
0000
'
;:-
200::::
FE
20';:r;;, LD><
RDD~
'
00(110
2006
(:6
I).;:
LIlA
B
::cou~n
I
~1t'lEII
I
ATE
AIID~ES:S
I
~11:;
00011
201):3
,=-
,::::
.' -'
OA
BACK
LIlA
A 1 0 D I
j;.'ECT
ADDRESS
ING
(10012
200A
Al
02
Cl'lP A
2,X
1
ND=:><ED
ADDPESS 1
~lG
0001
'3
200C
.-
.
....,
05
BEl)
FOUtiIl
F.'ELAT I
',/E
ADDRESS I
t1G
" '
(10014
200E
0':"
DE
><
I t'WL I
ED
ADDRESSING
00015
200F
SA
DEC
B ACCUt>lULATOR
m1LY
ADDRESSING
00016
201
I)
26
1=6
Br-lE
E:ACK
00017
2012
:,~
-'- .!.
il1
I I.
·.IAIT
I=O~'
Hi
TERRUPT
0001
'3 2 I) 1.3
BD
201
'3
FOUf'iII ·J
·S
R ·SUBRT
"1
JUI'l!='
TO
SU"E:RDU
r I f'iE
OOO~:::-O
2016
7E
2000
.Jr'lP
~
THRT
D:
:TEf"'lIlI;:D ADDRESS
friG
(10021
CDr'lrlEl'n
~;TATE/,lEtH
rlOTE
TRUtKAT
I
0!'1
(I
12
:34"56
7
:
::'~
0
12345
00022
201'~
16
SUE:RTtl
TAE:
COt-H'lEl'll
FJELD
TRunCAT
I
Of'i
(I 1
c
.'
:
~:4
OOO~'j
201A
BA 2
(I"~:
:
~:
ORA
A
B'lTE
SET
t10
S.
T
s:
I
GrH
F I
CAtH
I'IT
1)0024
201
D
'
~:':"
F~TS
RETURn
FROt1 SUBRO'JT 1 f'lE
0002':,
201
E
0014
RI'lB
20
"S
CF
~
RTCH
RPER FOR :
50
TACK
00027
20
';:2
0001
"S:
TACK Rt'lB 1 START
OF
STACk
0002:;:
20
:j '
;:
::: (I
....
TE FCB $ :
::0
F"ORH
CmETR
rH
B'iTE
0OO2'~
2034
1 0
I="CE:
:1:10,$4
'.
Hm
ICATE
:
5:
HE><ADEC
I
~lAL
20
'
~:S
04
(10030
20
:
~:6
2 (I j:::
AD
DR
FDB DRTA
Fo&;
·
:r'l
cmETANT
DOUBLE B'y'TE
OOO
'
~:l
20
~
:
:::
53
DATA FCC
"'-
SET
..."
FORt"
CONSTANT DRTR S
TP
I
NI.:;
' ..
8:5
.
(:
I
2(n'~
4C",
20~:A
54
END
COUtH
ooo
·
~:
STAPT
2000
BRCI<
2008
FOUND
2013
SUBRTN
2019
STACK
2032
BYTE
2033
RDDR
20
:
36
DATA
203'::
TOTAL ERRORS
00000
F- l
SOOB000050474D20202.020~07n
S
11E2000e~2032~E2Q3~
(6
0
3
?~Oq8l0
~
2705n95~
26
F63EBV201?7E2000168834
~
106~OlB203339
3~
v
.,
S
1082033S010042Q~~5
3
4554
C
~
S-
'?O::OOOOF"C
EXBUI;;
1 .
2.
F'RrH
BEG
AD
DR
0601
2000
END FlODR
FFFF
203A
E:
:<
EC Y
2000
'::E
20
32
FE ,
::0
~
:
E,
CE,
03
'::tE
,
O~
Al
02
27
0:,
O'?
'SA
2010
26
F6
3E
ED
20
19
7E
20
00
16
8A
20
33
3~
55 55
2020
55
:,5
~,:,
55
':",'5
55 55
5'5 5'5 '55
55 55
55
5'5
55 55
2(1'':::(1
':,5
55 55
:::
0 1 I)
04
20
3:3
53
4'5
54
,:.,:.
'55 5'5
55
5'5
BEG ADDR
2000
F- 2
2 .
6F
..
.
!.
'
..
Z
:~
.
;.
=
...
. : ;:,?UU
IJUIJUIJUIJUUIJ'JUttUUU
UUU .
:::
"S.
E'
TUIJU'JU
<
APPEND
IX G
USING
MIKBUG
VERSION OF THE M6800
CO
·RESIDENT SOFTWARE WITH THE
ME
X6800
D1
EVALUATION
KIT
The
MIKBUG
version
of
the
M6800
Co-Resident
Sohware may
be
used
with
the
MEK6800
D1
Evaluation
Kit. As discussed
In
Engineering Note 100.
The
Evalu-
ation
Kit
uses
the
MIKBUG
F,rmware stored
in
the
MCM6830l7
ROM and interfaces
with
the selected data
termin
al
via a
MC6820
Peripheral Interface
Adapter
at
addresses 8004 through 8007. Interfacing the
Eva
luation
Kit
with
a
RS
·232C compatible
or
TTY
(20
rnA neutral
current
loop) terminal
is
depicted
in Figure 3·4
01
Engineering
Not
e 100. The
following
chang
es
arc required
to make the Evaluation
Kit
compatible With the
M6800
Co-Resi
dent
Software.
.,
~w
"
"
"
"
"
"
"
"
"
Ad"'."
Bu
.
" ",
,.
'"
"
A"
..
,
"
A"
"
AM
" ,
..,
" "
MC68"20
" "
" "
" "
" " CO>
" "
'"
,
2100
I /
"2W
-5
V
NC
I
I
, ,
,I
II
a.
Change the schematic in Figure 3·4 of Engineering
Note
100 in accordance
with
Figure 1
of
this docu·
ment. The changes
are
depicted
in
dotted
lines.
Use
the modrfred schematic to
des
i
gn
and
build
your
terminal mterlace.
b. Change the
Control
H character delete command
in Tab
le
2·'
of
the
M6800
RESIDENT SOFTWARE
SUPPLEMENT to
control
H.
(In
Edition
1
of
the
supplement. add the
Control
A to Table
2·1.1
-,
-
.i2
v
1
IN
4001
!
IN4001
."
'w
-12
V
$.".'
0 ..
,,,
...
020
1
1-
~
NJ"3--
1
, I r -
-+
--'
I E 3
b-.----+-
I
E4
I
\\
I,
-~
,
,
'"
,w
t
!'-j
;;'
i[:=
::~'
~L-
------
~
~--
--
--~':'
--------
-~---
--------------
----1
,
I
~:'I~~
---
__
,
, , " ,
MCI
4
89Al
I
I
r--
1400
I
'b-..r--
I I
-.,
,\:>l
....
_/
r1
/ I
MC1489
_ _
,I
" "
'"
.,
v "
-12
v
, ,
..,
I
II
I
I.
'50
1/"2'11
I "
I "
<>--
--t-i
L _
-1
R$
·
"23"2C
S o,
and
R
..
4.,
ContrOl
"21
06
MCI48
9AL
.
~"~
-o
{
a"O
" ..
30
CPS
\ N4
001
R
.....
'
CO"tlO
'
R.
,
..
,n
"26
0,
1'86
'
SV'O.IOC"S
L
~'~':'
':·C'~''..':·~''
~
"
1"2
10
, R
••
9 A
MCI4536
l
__
____
c
'!.!.'
C
ou
6
(I
BYI>n
.
,
!'-",,'-'
-~
...
-
'''I r
6"20l>F
Ou.,
'"
" ,
.'v,
-,
__
_
l-
l'
l'~'~
~'
~"~'~"
~
~~;f~----
------
I---l
. 0
'nl\
"'~
11
14
°'''2 ,
S "'
"
'"
G- l
Not.
1
Jump
e,
EllP
10"2
10'
TTY
opa,.,
.
""
NOle"2
Jump
" ,
103
to
E4
tor
f1S·
"232C
o
pef
."O"
,
APPENDIX
H
USE
OF
OTHER
PERIPHERALS
WITH
THE
CO
-
RESIDENT
SOFTWARE
The
Co-Resident
Assembler/Editor
has
been
designed
to
op~rate
with
TTY
terminals
equipped
with
automatic
reader/punch
control
, or
othe
r
compatible
terminals
such
as
Texas
Instruments
733/ASR.
Normally
these
console
devices
are
also
used
for
communication
with
the
resident
system
' s monit
or
program.
Since
other
terminal
t
ypes
may
offer
advantages
such
as
lower
cost
or
higher
performance,
the
Co
-
Resident
softwa.re
was
designed
to
easily
accommodate
other
peripherals
.
All
Assembler/Editor
input/output
requests
are
processed
by
a
common
input/output
program
that
resid
es
in
memory
locations
010016 -02FF16 "
Each
input/output
operation
,
such
as
punch
record,
print
record
,
etc
.
is
invoked
by
entering
the
input/output
package
through
the
appro
-
priate
jump
vector
.
In
the
standard
version,
the
input/output
r
outine
processes
the
input/output
request
and
performs
the
input/outpu
t
operations
on
the
console
device
by
calling
the
elementary
input/output
routines
in
the
resident
monitor.
As
a
result,
there
are
three
versions
of
the
common
input/output
program
:
EXORciser - -
Input/Output
via
EXbug
Evaluation
--
Input/Output
via
IHKBUG
Nodule I
Evaluation
--
Input
/Outpu
t
via
MINIBUG
II
Nodule
II
In
order
to
substitute
the
other
peripheral
devices
,
the
user
must
supply
the
appropriate
input/output
drivers
and
patch
the
common
I/O
programs
so
that
his
drivers
are
called
rather
than
the
standard
ones
.
To
facilitate
such
modifications,
source
listings
of
the
three
common
input/output
programs
are
available
through
the
~t6800
User
' s
Gro
up
Library.
LINE
PRINTER
INTERFACE
The
input/output
hardware
and
common
input/output
program
modifica-
tions
listed
in
the
following
paragraphs
provide
an
example
of
the
chan
ges
required
to
operate
the
Co
-
Resident
Assembler/Editor
with
a
line
prin
t
er
(Centronics
type)
. The
Disk
Operating
System
includes
the
necessary
commands
and
driver
routines
for
implementing
a
line
printer.
The commands and
driver
routines
required
for
paper
tape
and
cassette
are
provided
in
the
following
parag
r
aphs
.
H- 1
Hardware
The
jumper
connections
listed
in
Table
HI
must
be
performed
if
the
HEX6820
Input/Output
~lodule
is
used
to
interface
the
printer
with
the
EXORciser. However ,
if
the
MEX68PI
Printer
Interface
Module
is
used,
these
connections
are
not
required.
\Vhen
using
either
of
these
modules,
refer
to
the
appropriate
Userfs
Guide
Supplement.
Common
Input/Output
Program
A.
of
the
patch
B.
patch.
may
be
tion
.
Disk
Assembler
-
ASMB
(Version
1 . 3 Only)
In
order
to
enable
the
printer
patch
included
on
the
1.3
version
ASMB
disk
file,
the
disk
file
must
be
amended
with
the
object
file
provided
in
Figure
HI
.
Disk
Assembler
-
ASHB
(Version
1.2
or
1.2A
Only)
Version
1.
2
of
the
disk
assembler
(ASHB)
does
not
include
a
printer
However,
the
object
file
patch
(AS~WATCH)
provided
in
Figure
H2
used
to
amend
this
version
of
the
disk
file
to
permit
printer
opera
-
C.
Paper
Tape and
Cassette
Assemblers
Assembler
software
provided
on
either
paper
tape
or
cassette
must
be
amended
in
the
following
manner
to
operate
with
a
printer.
1 . The
object
file
(LPTDVR)
provided
in
Figure
H3
must
be
stored
in
memory
at
a
location
contiguous
with
the
Co
-
Resident
Assembler
and
Co
-
Resident
Editor
.
2. The
current
version
of
the
assembler
must
be
amended
with
the
object
file
(ASMPATCH)
listed
in
Figure
H3
.
H- 2
,
TABLE
Hl
MEX6820
Input/Output
Hodule Jumper
Requirements
for
Operating
With a
Line
Printer
PRINTER
PIA
I
P~~~R
CONNECTOR
PIN
SIGNAL
PIN
NUl-lEER
GA2
39
1 1
PAO
2 3 2
PAl
3 S 3
PA2
4 ) 4
PA3
5 9 S
PA4
6 11 6
PAS
)
13
)
PA6
8
15
8
PAl
9
1)
9
CAl
40
19
10
*Jumper
connections
to
be
performed
between
PIAl (U13) or
PIA2
(U1S) on
MEX6820
and connec
tor
P2
or
P3
respectively.
NOTES
:
1. The
following
pins
on
connector
P2
or
P3
(MEX6820)
sho
uld
be
connected
to
ground .
2,
4,
6,
8,
10.
12 .
14. 16.
18 and 20
2.
Printer
connec
tor
pins
19 through 28
should
be
connected
to
ground.
H- 3
!
:::
fll
T
••
':
'
,=n
M6sno
PE
S
IDENT
~DJTOR
1. 3
(:JF-YPI'3HT
wJTOC::
'
OL
A
1976
:
;:
, I
rh7.jt
"
1='8T
OR':;;
'
£2
(I
L [
IS
·
;:f,FF
'::A
£;',rl
-n
M~80n
~e
S
ID~NT
A
~S
EMBLER
1.
3
I:'O
PYR I
13HT
r'1
0TOPOLFt 1
':'76
0(1111) ]
(! I) II
(12
(102
: I)
00nn~
nO~0
SE
FF8A
fll
l II
(1
4
rio:tfo1
Q
~
'
G
L
O~
;
::::r
'w
F'
HT
'1,
20
::'J.FF8A
FIGURE
Hl.
ASHB
Version
1.3
Object
File
Printer
Patch
H- 4
,
"
?A;;::
00 1
(1)001
0
,'002
0
0003
11')
1
)0
:1
ilflno
'5
rt(1
( I I)·S
(1
1)0117
00
0
I).
:!
i1OOO?
(lon
t (I
on
0 1 1
,"l1nle'
I) il n I , .
. '
I
ino
14
flIIO
I~
(II) n I S
,
"(I
(i I 7
II fI
1"11
:!
OfJ!)t·
;"
(,
0
"'
.
~'
(I
..
,nt)~
l
001'1:-
.2
(, I) fl
?;!
,
',
I'
1'1'::
::1
f.
I)
n.?
':.
flnll::;
(j,)1)?
7
(1
(II)
~'
:
:;
1111
(I :"?
1)')1'1:=('
')
1)
0::
1
fl(
1'
n2
(I
on;
::
:
0(1):;:4
1
1(1
n ::'5
(III
(I
;:-:
.
1)1)
(1::7
1)(IO::
::!
non:::
?
nnn
::1f1
no,::'
(,
,)
0';'
(I
00
.
:'3
(1')~
'
5
(1(1.::-7
(11)2·;t
1102::
on?:-
(I(.:;?
('0::
:'
1'
(1
;
::,
00
;::
:
0038
('0
~D
I)
I)
3:C
004
1
004
3
(11)4 ';,
1)1)
4
'
~
(n)4C
MI4F
11(1:,2
('05
4
00'5'5
(lOS6
(1
0'57
005
:
::
o
O'S'?I
005M
(11)'5
E:
(1
1
.1'5('
1)(100
;
=F8A
FF'5
-3
01
1~
01
18
01
:. :.
"
.'
n I
;:
.;
E..:,r
,
,=;
:EA[I[I
(11
I)
0
oj-=-
FF
:::A
" -
~..:.
(I.)
31 0'
:1
27
!.~
:
~
(10'5
::1
BD
01
1
~
'C
00(
1
(I
...
.
:,
:..;
..
'. '
F[I
7F
!=F'5::
BD
01 1 B
'::1
5'?
,
=7
07
? 1
4~
,.
'-
,=.
r .
c::>
,
'C
01
00
CE
EA
OS
c.
01
~:
4
:7:
E
EAD[j
F.
(11
::7
.::
0
EF"
50
'S
.
::
4 '
:;'
<E
54
4'5
~
.
::.
,~
3
!=
04
r'iFlt-l
g
so
'IF-A
T
CH
~pr
0.<;
+T
H I
:;'
!='~~O
'
;;RAr
'
l
PFtTCHE<; T
HE
f'16:::(10
PE
'
:;;:JDEN
T
A-S::;EI'IF~=:R
.T
O REI)UE'S:T T
HE
US:
:;:R
TO
S"ELEC
T
IF
:
:J:.I
T~
IJ
T
I
"S"
TO
BE
"S:
.T
:)
THE !='F:U
lTER
DEVI CE US Ir'i;3 THE
PJ;;'Of'l
np
I
'·lEF~
PA
"5;"S
?=
:-S
TA
C!<
:
AEGH')
X
nATA
'x":
I
F:
>
(
HE~D
"(
L I
~'lE
:...
D==1T
.
~
:_
[lAT;~
1
~~"1B
T']P
D:='
_
8'/
A
Sf'l
;:'RrHP
r'Ei;;
'-::
!
)U
EO!)
E:Y.I
EO!.!
::=:
1) :
.1
EOU
EO!.!
::O!J
EO'.1
E:)U
OPG
!..
It
s:
~DA
C~'
lP
t:E
~l
LD''':
F
1;
'
, .' ,
L
D'
-=:
m:":<
F""
' . ! ....
.
...
_r-.
I
:::-
;;.
eNP
BEO
C!'
1P
BI'i=
.I;'lP
LD>-=:
0:;
T>(
LI(
:'(
o:;r<
BPR
FCC
:=-
CB
END
A
A
A
rl
(I
liC~
'
::~
IF~5'3
1·1
lE
'1' 1
IB
'1.1
33
1.1
i·-':,
'fEAD'5
lEADD
'1.
1
00
1;
20
::'x: STA'::k
PASS
::'
1:
';' :
:l.E:
JECr
onLY
"?
FI
S:
>1
y
eo:"-
~,
:;~
'
r
SS
:>
mATA
::(1
DE
~
CjV
·
='E
CHD
'
'';'
::
I E
..
",'
.J
..
,
Pf::'i'
HR
::
"'
N
1;:)P
A
S)"
'1"E
::
::L
TI
RT8
'
:<
HEA[l+ 1
::L(lATAl
XL
!:-i!:+
1
ASN
.....
r=·RItHER?
-"'
4
FIGURE
H2.
ASHB
Versions
1.2
and
lo2A
Object
File
Printer
Patch
H-5
O(lonl
r'l~r'l
LPTD\,'F'
00002
Or 'T 0
0000
3
EABO
OPG
EF1E:O
00
0
04
·Ul
EDO
'
~
'
ff
S
:
-::
~
El'IBLE~
,
~
:
ET
THE FOLLO
'.
') I nl3
LO
C
AT
1 mrs:
on
OO5
(PIlAT A) = Jt'IP
PD.'=n~
1i"1f1f16 (PD8TA 1
")
= .Jj'
IP
PDATRI
(In
n7
ECl I C
t"lTPI..
EO
IJ
'fE
C
l1
PIA
Af!P'"-'E S
"S
:
000
8
1="(
: 1 (I TIATA EOIJ
'!
:
ECtO
c'
IA
8
IH
I
~
'
t:::
~
:
~
non9 EAE:(I
Ll
ST
EI~
I
IJ
IJ
0 1 I) EAf:O
~
P
"S
H H
)001
1
ERE:
l
7f"
Eel
I
CL~'
Cln~L
o
nOlc:
EAI
:4
:~
:6
:::~
LIlA H ;:'tl="
1=
01.1[113
EA
HE,
p7
"
f"C
l
fJ
'STA
rl
DATA
011014
EA
E:
'
7!
co"
'-
'
':'
c
:E
LDCj
q ::'1
:3£
nO(115
EAE:B
£:7
Eel
1
s.
TA
H CNTPL
IInnlE,
EAF:E
~
:
2
I="U
L q
(11"1[117
EARl="
R7
Eel
(I S.
TA
H
no.:nA
nOlll'3
EA
C2 8 6
:;:
6 LIlA A
:;'J
: '
~:
6
IInn1?
!=A(:4
F:7
ECl
I
:;
:
TA
A (
HTPt
I) II
n
~
:.
I)
~Hr7 :::6
3E
L
TICj
H ::'J.
::
E
nO(t?l
ER C
';"
R7 E C l I
~
TA
H
O-n
....
l
nOn
2 2
EA
CC
BE.
ECl
1 L
IS
T!
LDA
A CHTRL
(I
I)
0
;:'
3
EA
CF
2A
FB
E:
PL
LI
"T
I
nIJ024
EATII
"E:6
Ee l
(I
LItA H
DATA
(10
0
2'5
E804
'3';:'
~
I
'S
T2
Fn
:;:
n
(I
I)
:
=:
6 EAD':, PDATA
'::
9iJ
Ollu27
EArlS
86
0(1 L
(lR
q
::
'f (I
0OO2:~:
1:8[17
8D D7
"E:
? P
LI
"S.
T
n
(I
I
I
C"~
EADS
1"",
"
-=-
'='
OR
LItA H
::
'f.A
001"1;:(1
EAllf: :3D D :: BSR
LI
ST
nlln-"::
\
~ADll
At;
II
(I
PTIATA 1 LDA 8 ' ,
h
III)
It
~:
2
E.A[l~
8 1
n4
l::
t'1P
H
:~4
nOII'
3;:
ERE I
,-
u
Fl
BEO
LET2
00034
ERE
3
:::D
CB
BS
F.'
L
ET
(I
[I 0
-;
:'5
EAE'S
II':'
-'
,'
I
r,
{
n (III ;:':;
ERE"::,
20
F"
':'
E:
J;
:A
PIt~TA
l
El~It
,
nO
lr
~:
7
FIGURE
H3
.
Paper
Tape and
Cassette
Line
Printer
Driver
Object
File
Patch
APPENDIX
I
PROH
VERSION
OF
CO-RESIDENT
ASSENBLER/EDITOR
The
Co
-
Resident
Assembler/Editor
also
is
available
to
operate
in
the
ROH
environment.
The
Assembler's
starting
address
is
C00016 and
Editor's
starting
address
is
C003
16 , The
Co
-
Resident
Assembler/Ed~tor
program
uses
7k
bytes
of
Rml and
requires
a minimum
of
lk
byte
of
RAN
,
This
Assembler/Editor
program
resides
in
memory
locations
C00016
through
DBFF16
and
uses
the
RA}I
memory
locations
000016
through
01FF16
for
scratch
-
pad memory. The symbol
table
starts
at
memory
location
020016 and
ends
at
the
default
120016 ,
This
provides
a
buffer
for
500 symbols ,
To
change
the
size
of
the
symbol
table,
the
user
enters
into
memory
locations
010016 and 010116
the
end-of
-symbol-
table
address
plus
one.
In
this
case,
tfie
user
enters
the
Assembler
at
C03916