summaryrefslogtreecommitdiffstats
path: root/development/zmac/zmac.1
diff options
context:
space:
mode:
Diffstat (limited to 'development/zmac/zmac.1')
-rw-r--r--development/zmac/zmac.1262
1 files changed, 262 insertions, 0 deletions
diff --git a/development/zmac/zmac.1 b/development/zmac/zmac.1
new file mode 100644
index 0000000000..9e336443eb
--- /dev/null
+++ b/development/zmac/zmac.1
@@ -0,0 +1,262 @@
+.\" 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.
+.