Z5Mfor cP/M is a program which converts
z-sa assembly language text
(source
code) into
a sequence of machine
language
instructions
(object
code).
The
latter
can then be loaded into
the corrputer's
rnerooryand executed.
Z8Mis a "disk to disk"
aSSembler, meaing that
it
takes
a named source
file
from
a disk
and
puts
the
resultant
object
file
back onto
the
disk.
If
requested
it
can print
or display
on the console an "assembly listing"
showing
both
source
and object
code,
or
it
can put the assembly listing
on disk
for
printing
at a later
time.
For users
familiar
with the M008version
of Z5M, the CP/Mversion
is similar
in most respects.
The main difference
is
that
you call
it
using
a syntax
nearly
the same as the cP/M
1.4
assembler,
A5M.
Like
the
MO08 Z8M, the
CP/M version
uses
the
sasa
superset
style
of
mnemonics,
as a convenience
to
programmers who began
by
learning
sasa code.
Also,
programs written
for the SaS0 can be assembled
using
Z8M.
Unlike
the
MO08 Z8M, the
CP/M Z8Mdoes not have either
the ENDor TABpseudo operations,
and it has several
new pseudo operations,
such as TITLE, RADIX,and MARGIN.
If
you are
not
familiar
with the S3S0 superset
style
of mnemonics, Vector
Graphic can supply a booklet which compares it
instruction-by-instruction
wi th
the
Zilog/Mostek
mnemonics.
It
is
important
to grasp how indexing
is handled.
Under Zilog mnanonics, an operand might appear as (IX+d) where d is the
offset
and IX is the index register.
Under ZSM, it would be d (X)•
Thus instead
of
The same is
true
of IY, only
it
would appear
as
(Y) instead
of
(X).
In
addition,
an offset
of zero may be omitted
entirely.
That is,
(IX+0) need not
be written
as a(X),
it
can simply be (X).
After
28Mhas assembled a source
file,
it
puts
the
object
file
onto
the
desired
disk,
giving
it
the file
type .HEX. If you are familiar
with CP/M, you
know that
you first
have to change the type of this
file
to .CC>1if you want to
be able to call
it
up as if
it
were a CCPcanmand, just
by
typing
its
name.
To
do this,
you type LOAD
XXXXX.HEX
(return)
after
the CCPprompt A>, where XXXXX
is the name of the
file.
You can then
type
XXXXX(return)
to
execute
the
program.