home *** CD-ROM | disk | FTP | other *** search
-
-
- 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.