home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
utils
/
asmutl
/
z80asm24.lbr
/
Z80ASM.DZC
/
Z80ASM.DOC
Wrap
Text File
|
1987-10-13
|
4KB
|
110 lines
Z
8
0
A
S
M
Zilog/Mostek
Z80-CPU
Assembly
Language
Processor
(C) Copyright 1977 LCS
All Rights Reserved
Latest Revision: 21-July-1977
Z 8 0 A S M
Z80ASM is an assembler for the Zilog/Mostek Z80-CPU microprocessor.
It is designed to run under the CP/M operating system from Digital
Research. CP/M will run on either an 8080a system or a Z80 system.
Z80ASM will run in the CP/M minimum (16k) system but will utilize more
memory for symbol table storage in larger (up to 64k) CP/M systems.
Z80ASM reads a source (asm) file produced by the CP/M "ED" text
editor program and produces an optional listing (on the lst: device) and
an optional object code (hex) file in intel format hex. The "hex" file
can be loaded for execution using "DDT" or "LOAD" commands of CP/M or it
can be punched on paper tape using the "pip" program.
Input statements are free format (i.e. not column oriented).
Between fields any number of blank or tab characters may be present but
within a field there may be no blank or tab characters. However,
statements labels must be in the first position of the line. Statement
labels may have a colon following them but the colon is not required.
Comments are preceded by a semicolon and may appear by themselves or
following all of the fields on a source line.
All the Zilog/Mostek mnemonics are supported with the following
exceptions:
1. The Z80CPU technical manual has conflicting information regarding
the syntax of the rlc, rl, rrc, and rr instructions when the a
register is used as the operand. On page 50 the forms
"rlca", "rla", "rrca", "rra" are used while on page 68 the form
"rr a" is shown. Z80ASM will support only the "rra", etc. form.
2. The Z80CPU manual does not describe the pseudo operators available
except that "equ" and "defs" are used on page 67 in the sample
program. The list below describes the pseudo operators available
in z80asm and their argument formats:
<label> equ <expression> assign value to label
org <expression> assign value to program counter
defs <expression> reserve storage
defw <expression> define word (2 bytes)
defb <expression> define byte (format 1)
defb '-string-' define byte (format 2)
eject listing eject
end <expression> define execution address
note: for defw and defb only one operand is allowed.
expressions:
expressions may be any number of the items listed below separated
by +, -, and * for addition, subtraction, and multiplication respectively.
expression elements:
<label> 1 to 11 character statement label
<number>h hexadecimal number
<number>b binary (bit) number
<number> decimal number
$ program counter reference
'x' x=any printable character
examples of expressions are:
label1+5
0ffh
10100001b+6
$-6
'9'+1
The input file must have an extension of "asm" and the output file
will have an extension of "hex" if it is created. Z80ASM is called
using a command with the following format:
z80asm <filename>.<ab>
<filename> 1 to 8 character CP/M file name (must be .asm)
<ab> option controls-
a=y or n for listing
b=y or n for hex file
if <filename> only format is used the a and b
default to yy
Note: Even if the listing is not requested any errors that will occur
will be listed on the lst: device.