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 MO08Z8M, 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
MO08Z8M, 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 with
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 LOADXXXXX.HEX(return) after the CCPprompt A>, where XXXXX
is the name of the file. You can then type XXXXX(return) to execute the
program.