diff options
Diffstat (limited to 'development/zmac/zmac.1')
-rw-r--r-- | development/zmac/zmac.1 | 262 |
1 files changed, 262 insertions, 0 deletions
diff --git a/development/zmac/zmac.1 b/development/zmac/zmac.1 new file mode 100644 index 0000000000000..9e336443ebd93 --- /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. +. |