mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-22 19:44:21 +01:00
263 lines
7.7 KiB
Groff
263 lines
7.7 KiB
Groff
|
.\" Man page generated from reStructuredText.
|
||
|
.
|
||
|
.
|
||
|
.nr rst2man-indent-level 0
|
||
|
.
|
||
|
.de1 rstReportMargin
|
||
|
\\$1 \\n[an-margin]
|
||
|
level \\n[rst2man-indent-level]
|
||
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
|
-
|
||
|
\\n[rst2man-indent0]
|
||
|
\\n[rst2man-indent1]
|
||
|
\\n[rst2man-indent2]
|
||
|
..
|
||
|
.de1 INDENT
|
||
|
.\" .rstReportMargin pre:
|
||
|
. RS \\$1
|
||
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||
|
. nr rst2man-indent-level +1
|
||
|
.\" .rstReportMargin post:
|
||
|
..
|
||
|
.de UNINDENT
|
||
|
. RE
|
||
|
.\" indent \\n[an-margin]
|
||
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
|
.nr rst2man-indent-level -1
|
||
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||
|
..
|
||
|
.TH "ZMAC" 1 "2023-05-18" "20221018_0.7" "SlackBuilds.org"
|
||
|
.SH NAME
|
||
|
zmac \- Z-80 macro cross-assembler
|
||
|
.\" RST source for zmac(1) man page. Convert with:
|
||
|
.
|
||
|
.\" rst2man.py zmac.rst > zmac.1
|
||
|
.
|
||
|
.SH SYNOPSIS
|
||
|
.sp
|
||
|
\fBzmac\fP [\fI\-\-help\fP] [\fI\-\-version\fP] [\fI\-\-dep\fP] [\fI\-\-mras\fP] [\fI\-\-od dir\fP] [\fI\-\-oo sfx1,sfx2\fP] [\fI\-\-xo sfx1,sfx2\fP] [\fI\-\-dri\fP] [\fI\-\-rel\fP] [\fI\-\-rel7\fP] [\fI\-\-nmnv\fP] [\fI\-\-z180\fP] [\fI\-\-fcal\fP] [\fI\-\-doc\fP] [\fI\-\-zmac\fP] [\fI\-8bcefghijJlLmnopstz\fP] [\fIfilename[.z]\fP]
|
||
|
.SH DESCRIPTION
|
||
|
.sp
|
||
|
zmac is a Z\-80 macro cross\-assembler. It has all the features you\(aqd
|
||
|
expect. It assembles the specified input file (with a \(aq.z\(aq extension
|
||
|
if there is no pre\-existing extension and the file as given doesn\(aqt
|
||
|
exist) and produces program output in many different formats. It also
|
||
|
produces a nicely\-formatted listing of the machine code and cycle
|
||
|
counts alongside the source in a ".lst" file.
|
||
|
.sp
|
||
|
To reduce clutter and command line option usage, by default all zmac
|
||
|
output is put into an (auto\-created) zout subdirectory. For file.z
|
||
|
the listing will be in zout/file.lst, the TRS\-80 executable format
|
||
|
in zout/file.cmd and so on. For more friendly usage in make files
|
||
|
and integrated development environments the \-o, \-\-oo, \-\-xo and \-\-xd
|
||
|
options may be used to select specific output file formats and where
|
||
|
they are written.
|
||
|
.sp
|
||
|
Undocumented Z\-80 instructions are supported as well as 8080 and Z\-180
|
||
|
(aka HD64180).
|
||
|
.sp
|
||
|
zmac strives to be a powerful assembler with expressions familiar to C
|
||
|
programmers while providing good backward compatibility with original
|
||
|
assemblers such as Edtasm, MRAS and Macro\-80.
|
||
|
.sp
|
||
|
This man page only documents the command\-line options. The full documentation can be found here:
|
||
|
/usr/doc/zmac\-20221018_0.7/zmac.html
|
||
|
.SH OPTIONS
|
||
|
.sp
|
||
|
Space\-separated arguments in the ZMAC_ARGS environment variable are added to the
|
||
|
end of the command line.
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \-\-help
|
||
|
Display a list of options and a terse description of what the
|
||
|
options do.
|
||
|
.TP
|
||
|
.B \-\-version
|
||
|
Print zmac version name.
|
||
|
.TP
|
||
|
.B \-\-mras
|
||
|
MRAS compatibility mode. Any ? in a label will be expanded to
|
||
|
the current module identifier as set by *mod. Operator
|
||
|
precedence and results are changed.
|
||
|
.TP
|
||
|
.BI \-\-od \ dir
|
||
|
Place output files in dir instead of the default "zout"
|
||
|
subdirectory. Creates dir if necessary.
|
||
|
.UNINDENT
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \-\-oo hex,cmd
|
||
|
Output only the the file types by suffix. Multiple \-\-oo
|
||
|
arguments may be used. "\-\-oo lst,cas" is equivalent to "\-\-oo
|
||
|
lst \-\-oo cas". See "Output Formats" for a list of output types
|
||
|
by suffix.
|
||
|
.TP
|
||
|
.B \-\-xo tap,wav
|
||
|
Do not output the file type types listed by suffix.
|
||
|
.UNINDENT
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \-\-dri
|
||
|
Enable compatibility with Digital Research (CP/M) assemblers:
|
||
|
Ignores dollar signs in constants and symbols. Silences a
|
||
|
warning when using Z80.LIB. Allows the use of \(aq*\(aq in first
|
||
|
column for comment lines. Accepts $\-MACRO directives.
|
||
|
.TP
|
||
|
.B \-\-nmnv
|
||
|
Do not interpret Z\-80 or 8080 mnemonics as values in
|
||
|
expressions.
|
||
|
.TP
|
||
|
.B \-\-rel
|
||
|
Output ".rel" (relocatable object file) format only. Exported
|
||
|
symbols are truncated to length 6.
|
||
|
.TP
|
||
|
.B \-\-rel7
|
||
|
Output ".rel" (relocatable object file) format only. Exported
|
||
|
symbols are truncated to length 7.
|
||
|
.TP
|
||
|
.B \-\-zmac
|
||
|
zmac compatibility mode. defl labels are undefined after each
|
||
|
pass. Quotes and double quotes are stripped from macro
|
||
|
arguments before expansion. $ is ignored in identifiers
|
||
|
allowing foo$bar to construct identifiers in macro expansions.
|
||
|
Use \(ga (backquote) instead in normal mode. Labels starting with
|
||
|
"." are temporary and are reset whenever a non\-temporary label
|
||
|
is defined (thus they may be reused). Labels starting with "_"
|
||
|
are local to their file thus avoid multiple definition when
|
||
|
brought in with include.
|
||
|
.TP
|
||
|
.B \-\-z180
|
||
|
Use Z\-180 timings and extended instructions. Undocumented Z\-80
|
||
|
instructions will generate errors as the Z\-180 (or H64810) does
|
||
|
not support them. Equivalent to .z180 pseudo\-op.
|
||
|
.TP
|
||
|
.B \-\-dep
|
||
|
Print all files read by include, incbin and import.
|
||
|
.TP
|
||
|
.B \-\-doc
|
||
|
Print full documentation in HTML format to standard output.
|
||
|
.UNINDENT
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \-Pk=number
|
||
|
Set @@k to the given numeric value before assembly. Up to 10
|
||
|
parameters can be set from 0 though 9. \-Pk is shorthand for
|
||
|
\-Pk=\-1. For example, P4=$123 effectively puts @@4 equ $123 at
|
||
|
the top of the first file.
|
||
|
.UNINDENT
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.BI \-D\fB symbol
|
||
|
Define symbol to be 1 before assembly.
|
||
|
.TP
|
||
|
.B \-\-fcal
|
||
|
Always treat an indentifier in the first column as a label.
|
||
|
zmac uses various heuristics in the case of ambiguity when a
|
||
|
label does not have a colon. This option turns heuristics off.
|
||
|
.TP
|
||
|
.B \-8
|
||
|
Accept 8080 mnemonics preferentially and use 8080 instruction
|
||
|
timings. Equivalent to .8080 pseudo\-op.
|
||
|
.TP
|
||
|
.B \-b
|
||
|
Don\(aqt generate any machine code output at all.
|
||
|
.TP
|
||
|
.B \-c
|
||
|
Don\(aqt display cycle counts in the listing.
|
||
|
.TP
|
||
|
.B \-e
|
||
|
Omit the "error report" section in the listing.
|
||
|
.TP
|
||
|
.B \-f
|
||
|
List instructions not assembled due to "if" expressions being
|
||
|
false. (Normally these are not shown in the listing.)
|
||
|
.TP
|
||
|
.B \-g
|
||
|
List only the first line of equivalent hex for a source line.
|
||
|
.TP
|
||
|
.B \-h
|
||
|
Display a list of options and a terse description of what the
|
||
|
options do. (same as \-\-help)
|
||
|
.TP
|
||
|
.B \-i
|
||
|
Don\(aqt list files included with include, read or import.
|
||
|
.TP
|
||
|
.BI \-I \ dir
|
||
|
Add dir to the end of the include file search path.
|
||
|
.TP
|
||
|
.B \-j
|
||
|
Promote relative jumps and DJNZ to absolute equivalents as
|
||
|
needed.
|
||
|
.TP
|
||
|
.B \-J
|
||
|
Error if an absolute jump could be replaced with a relative
|
||
|
jump.
|
||
|
.TP
|
||
|
.B \-l
|
||
|
List to standard output.
|
||
|
.TP
|
||
|
.B \-L
|
||
|
Generate listing no matter what. Overrides any conflicting
|
||
|
options.
|
||
|
.TP
|
||
|
.B \-m
|
||
|
List macro expansions.
|
||
|
.TP
|
||
|
.B \-n
|
||
|
Omit line numbers from listing.
|
||
|
.UNINDENT
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \-o filename.cmd
|
||
|
Output only the named file. Multiple "\-o" options can be used
|
||
|
to name a set of different files.
|
||
|
.UNINDENT
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \-p
|
||
|
Use a few linefeeds for page break in listing rather than ^L.
|
||
|
.TP
|
||
|
.B \-P
|
||
|
Output listing for a printer with headers, multiple symbols per
|
||
|
column, etc.
|
||
|
.TP
|
||
|
.B \-s
|
||
|
Omit the symbol table from the listing.
|
||
|
.TP
|
||
|
.B \-t
|
||
|
Only output number of errors instead list of each one.
|
||
|
.TP
|
||
|
.B \-z
|
||
|
Accept Z\-80 mnemonics preferentially and use Z\-80 instruction
|
||
|
timings. Equivalent to .z80 pseudo\-op.
|
||
|
.UNINDENT
|
||
|
.SH LICENSE
|
||
|
.sp
|
||
|
\fBCC0\fP
|
||
|
.sp
|
||
|
To the extent possible under law, George Phillips has waived all copyright
|
||
|
and related or neighboring rights to zmac macro cross assembler for the Zilog
|
||
|
Z\-80 microprocessor. This work is published from: Canada.
|
||
|
.SH AUTHORS
|
||
|
.sp
|
||
|
Bruce Norskog originally wrote zmac in 1978.
|
||
|
.sp
|
||
|
Updates and bugfixes over the years by John Providenza, Colin Kelley, and more
|
||
|
recently by Russell Marks, Mark RISON, Chris Smith, Matthew Phillips and Tim
|
||
|
Mann.
|
||
|
.sp
|
||
|
Extensive modifications for cycle counting, multiple output formats, ".rel"
|
||
|
output, 8080 mode and older assembler compatibilty were written by George
|
||
|
Phillips.
|
||
|
.sp
|
||
|
This man page written for the SlackBuilds.org project
|
||
|
by B. Watson, and is licensed under the WTFPL.
|
||
|
.SH SEE ALSO
|
||
|
.sp
|
||
|
\fBld80\fP(1)
|
||
|
.sp
|
||
|
The zmac homepage: \fI\%http://48k.ca/zmac.html\fP
|
||
|
.\" Generated by docutils manpage writer.
|
||
|
.
|