|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.
zasm is a Z80 assembler.
zasm can assemble code extended for the Hitachi HD64180.
zasm can assemble code limited to the Intel 8080 e.g. for CP/M.
zasm can also assemble native 8080 assembler source.
zasm can compile and include c source files. (choose the version with sdcc below)
zasm can generate binary files or Intel Hex or Motorola S19 files.
zasm supports generating various special files for Sinclair and Jupiter Ace emulators.
zasm supports character set conversion, e.g. for the ZX80 and ZX81.
The list file can include the generated opcodes and accumulated cpu cycles and a list of all labels.
zasm supports various historically used syntax variants and the syntax emitted by sdcc.
zasm supports multiple code and data segments, nested conditional assembly and nested local scopes.
# 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
The following is for users who want to include c sources and use the current stable version of sdcc, which is version 3.4.0, released 2014-04-11.
It does not apply to OSX users who download the file "sdcc for zasm OSX.zip" from this directory or users who use sdcc 3.4.1 or later, which currently must be a snapshot build, or people who don't want to include c source files in their z80 assembler files.
sdcc folks have renamed some global symbols which are referenced by compiled programs right after they released version 3.4.0. Unluckily the library provided with "sdcc for zasm ….zip" below already expects the new symbols as used in version 3.4.1. Due to this mismatch sdcc 3.4.0 cannot be used, unless you rename the files in sdcc/lib/ from this archive to the old names and rename the defined labels therein to the old names too.
So it's probably easier to download a snapshot from the sdcc website. Unluckily this seems to be not so easy either: At least for my properly updated Linux Mint installation their requirements to the version of the stdclib++ library are still too high… At this point i gave up and leave it as an excercise to the informed Linux user to solve this problem.
2015-01-01: Version 4.0.2: added support for native 8080 assembler source
2015-01-01: Version 4.0.3: added more support for alternate/various/weird syntax
2015-01-04: Version 4.0.4: added macro and rept, .phase and .dephase
2015-01-08: Version 4.0.5: #define, test suite, --flatops, Linux version
2015-01-15: Version 4.0.7: "extended arguments" in macros with '<' … '>'
2015-01-18: Version 4.0.8: fixed bug in .ACE file export
2015-01-19: Version 4.0.9: fixed bug in .81 export, secure cgi mode
2015-01-22: Version 4.0.10: bug fixes, added Z80 instructions in 8080 assembler syntax
2015-01-24: Version 4.0.11: Made Linux happy again
2016-04-09: Version 4.0.15: Bug fixes
2016-05-01: Version 4.0.16: FreeBSD version
2016-05-09: Version 4.0.15: fixed bug in macro names with uppercase letters
2016-10-01: Version 4.0.18: illegals: allow 'ixh' … 'iyl' as names for index register halfes
2016-10-25: Version 4.0.19: added TextMate bundle, added #cpath to set c-compiler path in source
You can checkout the source from my Git repository:
• git clone http://k1.spdns.de/Git/zasm-4.0.git
• git clone http://k1.spdns.de/Git/Libraries.git
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 here! Don't assemble closed-source sources here. ;-)
Here you find zasm and matched versions of sdcc for OSX/BSD and Linux.
The OSX version of zasm is compiled on OSX 10.9 but will probably work on other versions as well.
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.
|old versions/||2016-05-09 15:55||62|
|sdcc for zasm (headers and lib).zip||2016-05-09 15:59||868994|
|sdcc for zasm Linux.zip||2016-05-09 15:58||2197835|
|sdcc for zasm OSX.zip||2016-05-09 15:57||1678403|
|zasm Bundle for TextMate (Ast A. Moore).zip||2016-10-02 11:08||169521|
powered by vipsi - your friendly VIP Script Interpreter