home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ENTERPRS
/
CPM
/
UTILS
/
S
/
XLTZ804.LBR
/
XLTZ804.DZC
/
XLTZ804.DOC
Wrap
Text File
|
2000-06-30
|
4KB
|
107 lines
************************************************************************
XLTZ80
Translates Intel 8080 assembly language source code
to Zilog Z80 assembly language source code.
11/12/84 Frank J. Zerilli
************************************************************************
Last revision: 02/13/86 by Murray Simsolo
This is a modified version of Richard Conn's XLATE2 with several
improvements. It does not split long unrecognized macro names. It uses
larger buffers so that it operates much faster. Compare the result of
translating the file TEST1B.ASM with the results of other translators.
It processes lines with the exclamation point statement separator
correctly. It strips trailing blanks or tabs from lines. It replaces
initial asterisks in lines with semicolons. It gives you several
options to format the output file for best appearance.
This program gives the choice of converting the case of instructions
to upper or lower case or of trying to preserve the case of instructions.
The latest version translates all 8080 instructions to the
"official" Zilog Z80 mnemonics. Files translated using XLTZ80 should
be compatible with any Z80 assembler. It is 100% compatible with
the Microsoft M80 assembler when the M80 flag is set.
An activity dot is printed on the console for every 100 lines of
input processed. The dots are printed in groups of 10 with 5 groups per
console line.
This version of XLTZ80 does not modify colons terminating labels,
i.e., it neither strips colons from nor adds them to labels. Further,
it preserves double colons terminating labels. However, if the M80 flag
(location 105h) is set, colons will be stripped from names defined by
the EQU, SET, and MACRO pseudo-ops and colons will be added to all other
labels which don't already have one.
In general, this program leaves alone things which it does not
recognize.
Note that this program runs only on a Z80.
Command line:
XLTZ80 [d:]srcfile[.typ] [d:destfile.typ]
All parameters in brackets are optional, and, if omitted, the
default values are:
Source file-type -- ASM
Destination file-type -- Z80
Destination file-name -- same as the source file-name
Drive -- current drive
Examples:
XLTZ80 { prints help message }
XLTZ80 FILE1 {translates FILE1.ASM to FILE1.Z80}
XLTZ80 FILE1 FILE2 {translates FILE1.ASM to FILE2.Z80}
XLTZ80 FILE1.TXT FILE2.MAC {translates FILE1.TXT to FILE2.MAC}
XLTZ80 FILE1 B: {translates FILE1.ASM to B:FILE1.Z80}
FLAG LOCATIONS:
103H -- Change to non-zero value to suppress translation of several
non-standard opcodes:
REQ, RNE, RLT, RGE, CEQ, CNE, CLT, CGE, JEQ, JNE, JLT, JGE,
ENT, NAM, RAM, ROG, IFC, ICL, LST, MAC
104H -- If non-zero (default) XLTZ80 converts lines with multiple
statements separated by DR's '!' separator into separate lines.
Change to zero for output on a single line with the translated
statements separated by '!'.
105H -- Change to non-zero to output the header lines
.Z80
ASEG
for the M80 assembler. Default is not to output these lines.
02/13/86: If this flag is set, colons will be stripped from
labels on the same line with the EQU, SET, and MACRO pseudo-ops
and colons will be added to all other labels if not already
present.
BUFFERS:
The program uses 2K input and output buffers. This may be changed by
changing the equate MEMSIZ, which is currently set to 4, to twice the
desired size of the i/o buffers and re-assembling the program. If you
want 16K input and output buffers, set MEMSIZ to 32. The translation
will not be significantly faster with 16K buffers rather than 2K
buffers but disk activity will decrease.