.\" 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. .