PASMO(1)
π PASMO β the manual page, but make it cute
okay bestie, welcome to pasmo, a.k.a. the Z80 assembler π¦β¨ (and yeah, it's chill, it's just that it lives in the General Commands Manual, no big deal, iykyk).
β¨ SYNOPSIS β¨
pasmo [options] file.asm file.bin [file.sys]
that's the whole vibe. three files, some options, go off π
πΈ DESCRIPTION πΈ
so this manual page is doing the absolute most β it documents the pasmo command briefly. That's it. That's the assignment. π
And not me being the responsible friend, but: this manual page was written for the Debian distribution because the original program does not have a manual page π. Instead, it has documentation in the html format β see below, bestie, it's right there.
pasmo is a multiplatform Z80 cross-assembler, and it is genuinely so easy to compile and so easy to use, no notes π
. It can generate object code in several formats suitable for many Z80 machines and emulators. Periodt.
π Important vibe check: pasmo generates fixed position code. It can not be used to create relocatable object files for use with linkers. So if that's what you wanted... it's giving not-that. π
Now, the compatibility lore: pasmo is compatible with the syntax used in several old assemblers β iconic behavior β by supporting several styles of numeric and string literals, and by providing several names of the most used directives. Slay. π
But (there's always a but π): in Pasmo, the Z80 mnemonics, register and flags names, and directives are reserved words. So this may require changes of symbol names conflicting in some programs. Fr fr, watch out for that.
Oh and the plot twist: pasmo can also generate the 8086 equivalent to the z80 assembly code π₯. It can create COM files for ms-dos by using the binary generation mode, or CMD files for CP/M 86 by using the --cmd option.
β οΈ bestie. Listen. This feature is experimental. Use with care. That's not me being dramatic, that's the manpage. π
π OPTIONS π
okay so before we get into the list: if no options specify another, the object code format is binary without headers. That's the default, no cap. β¨
-dβ Show debug info during assembly. π-1β Show debug info during assembly, also in first pass. double the debug, double the slay-vβ Verbose. Show progress information during assembly. she's telling you everything π£οΈ-Iβ Add directory to the list for searching files inINCLUDEandINCBIN.--hexβ Generate the object file in Intel HEX format. β--binβ Generate the object file in pure binary format without headers. the clean girl aesthetic--prlβ Generate the object file in the PRL format. Useful for CP/M Plus RSX. π--cmdβ Generate the object file in CP/M 86 CMD format.--plus3dosβ Generate the object file with PLUS3DOS header (Spectrum disk). πΎ--tapβ Generate a.tapfile for Spectrum emulators (tape image). π--tzxβ Generate a.tzxfile for Spectrum emulators (tape image). π--cdtβ Generate a.cdtfile for Spectrum emulators (tape image). π--tapbasβ Same as--tapoption but adding a Basic loader.--tzxbasβ Same as--tzxoption but adding a Basic loader.--cdtbasβ Same as--cdtoption but adding a Basic loader.--amsdosβ Generate the object file with Amsdos header (Amstrad CPC disk). π--msxβ Generate the object file with header for use withBLOADin MSX Basic. π--publicβ The symbol table listing will include only symbols declared as PUBLIC.--nameβ Name for the header in the formats that use it. If unspecified, the object file name will be used.--errβ Direct error messages to standard output instead of error output (except for errors in options). π--nocaseβ Make identifiers case insensitive. she doesn't care about your caps lock π--alocalβ Autolocal mode: the labels that begin with a'_'are locals, and their ambit finishes in the next no local label or in the nextPROC,LOCALorMACROdirective.-B,--bracketβ Bracket only mode: parenthesis are reserved for expressions. π«Ά-E,--equβ Predefine a label.-8,--w8080β Show warnings when using Z80 instructions that do not exist in 8080. β οΈ--86β Generate 8086 code. π₯
π AUTHOR π
This manual page was written by Joost Yervante Damad joost@lumatec.be for the Debian system (but may be used by others, she's generous like that π«Ά). It is just a rerendering of the original documentation as a manual page.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation. πβ¨
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
and that's the whole page, bestie β it came straight outta the General Commands Manual, page PASMO(1), and honestly it ate π
π bye ily, go assemble something iconic π¦
π¦ where this page comes from
- debian bookworm: pasmo 0.5.3-7
- debian trixie: pasmo 0.5.3-8
- ubuntu jammy: pasmo 0.5.3-7
- ubuntu noble: pasmo 0.5.3-7
- ubuntu questing: pasmo 0.5.3-8
- ubuntu resolute: pasmo 0.5.3-9
- ubuntu stonking: pasmo 0.5.3-9
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms