/Develop/Projects/zasm/Distributions/ |
|
k1.spdns.de / Develop / Projects / zasm / Distributions / |
zasm is a command-line assembler for the Zilog Z80 cpu. it is available as source, which should compile on many unix-style operating systems, and as pre-compiled binary. Choose a version from the list below. Archive names indicate version, date and build host. Select a binary which matches your OS best. If it fails to run then use the source.
Quick links: Documentation, zasm online assembler, Git repository.
zasm is a 8080, Z80 and Z180 assembler.
zasm accepts source code using 8080 and Z80 syntax and can convert 8080 syntax to Z80.
zasm supports various historically used syntax variants and the syntax emitted by sdcc.
zasm can generate binary files or Intel Hex or Motorola S19 files.
zasm can generate various specialized files for Sinclair and Jupiter Ace, e.g. snapshot files and .tap and .tzx tape files.
zasm can include the generated code and accumulated cpu cycles in the list output file.
zasm has a built-in testcode runner to run automated tests after assembling your source.
zasm supports
the source can start with a BOM and with a shebang '#!' in line 1.
the source must either to be 7-bit clean or utf-8 encoded. text literals will be properly decoded.
# assemble file into myrom.bin and create plain list file
> zasm myrom.asm
# assemble file into myrom.bin and create list file with opcodes, cpu cycles and labels list
> zasm -uwy myrom.asm
# assemble source for the Intel 8080 cpu using Z80 syntax
> zasm --8080 myrom.asm
# assemble native 8080 assembler source
> zasm --asm8080 myrom.asm
# create Intel hex output
> zasm -x myrom.asm
2016-10-25: Version 4.0.19: added TextMate bundle, added #cpath to set c-compiler path in source
2017-04-29: Version 4.0.21: new: multiple opcodes in one line after '\'
2017-07-15: Version 4.1.0: included ZX7 "optimal" LZ77 compression written by Einar Saukas
2017-07-25: Version 4.1.3: new function sin() and cos() to easily build wave tables
2018-05-27: Version 4.2.0: new #target TZX: directly write to .tzx tape files
2020-01-08: Version 4.2.6: Added text replacement in macros for values between '{' and '}'
2020-04-12: Version 4.2.7: #target BIN now stores actual segment addresses in hex files suitable for ram loaders
2020-04-13: Version 4.2.8: new command line option "--date=2020-04-13,12:34:56" for reproducible time stamps
2020-05-04: Version 4.3.0: new option --convert8080 to convert 8080 sources to Z80 syntax
2020-10-17: Version 4.4.0: built-in testcode runner for automated tests
2020-11-11: Version 4.4.4: implemented test code runner for Z180, reworked for Z80 and 8080
2021-02-02: Version 4.4.7: allow uppercase names for functions like ABS(..) and __LINE__ if --casefold
2022-01-20: Version 4.4.9: Macros: tag characters before macro arguments in macro body now optional
2022-03-31: Version 4.4.9: The documentation is now also available for download as a zip file
2022-04-11: Version 4.4.9: Windows command line versions of zasm available courtesy of turbocat2001@github
2022-04-20: Version 4.4.10: added some keyword aliases, fixed index registers in 8080 syntax
2023-08-13: Version 4.4.12: convert Windows paths under Cygwin
2023-12-03: Version 4.4.13: allow ORG to be set back to lower address, like MASM did
The git repository of zasm is at github.com/Megatokio/zasm. Use option --recurse-submodules when cloning because the repository contains github.com/Megatokio/Libraries as a submodule.
A cgi interface for online assembling is at cgi-bin/zasm.cgi. It allows to assemble z80 assembler source files with some include files. It can generate binary, Intel hex or Motorola S19 output and a listing, which can optionally include the generated assembler source, a label listing and accumulated cpu cycles. You can even include c source files! Don't assemble closed-source sources here. ;-)
Here you find zasm and matched versions of sdcc for OSX/BSD and Linux.
The OSX versions of zasm up version 4.0.22 were compiled on OSX 10.9 but will probably work on other versions as well. Since Version 4.1.0 they are compiled on macos 10.12 "Sierra". Finally i had to upgrade. Sorry.
If you want to include c sources and have sdcc already installed you still need "sdcc for zasm (headers and libs).zip" for the modified libs/ folder.
2020-10-17: I removed the link to z80-heaven.wikidot.com: most of the code samples there actually don't work. Edited without testing or vandalism, i don't know.
powered by vipsi - your friendly VIP Script Interpreter