This is the official homepage of Z80-ASM. Z80-ASM is a compiler/assembler
and monitor (including disassembler) for the Z80 CPU. It runs under Linux (probably also under other UNIX-flavours)
and DO$ (DJGPP version 2.03 checked).
It's written in C and source-code availible!
Since February 2004
is the maintainer of Z80-ASM. He did many improvements and
bug fixes as well. See the README for quick infos.
On 2010-04-15, I downloaded the current CVS tar-ball of Z80-Asm from November 2006 on a Gentoo (Linux 2.6.23 x86_64) System, running gcc 4.3.4. It compiles without problems, only many warnings (almost all about signed/unsigned pointer argument mismatch). But the binaries work as they should. :)
Same effortless success on an Ubuntu 8.04.1 System (Kernel 2.6.26 on xenon) using gcc 4.2.4!
News: Also works under Ubuntu 11.04 with gcc 4.5.2.
As you maybe remember: Development until the last Z80-Asm 2.4 version was on the gcc 2.9.5, and later there were many gcc-"bugs"/incompatibilities, but now it seems okay using the current gcc. But things may change if compiler change. :-/
version 2.4-pre3 and the
latest diff to z80-asm-2.3.
version 2.3.7 and its
version 2.3 and its
version 2.2 and its
version 2.1c and its
version 2.1 and its
2004-02-24 version 2.0c
is available. See Changelog-2.0c for all
changes since version 1.1.
2004-02-01: you can download version 1.1 updated by Achim Flammenkamp. It contains several bugfixes and improvements:
- user interface add key = to change the registers
- display and update the cycle counter and the refresh register
- BUG in f_ld LD rr,(nn) [only 1 byte loaded] fixed!
- BUG in f_ex EX (SP),IX break missing runs into EX (SP),IY; fixed!
- EI replaced by IFF1 & IFF2 (correct LD A,R & LD A,I)
- user interface @(reset), #(clear memory), *(clear all cpu register),
$( clear tick counter), &(SP init)
- console.c: BUG in c_init() use term_setting not undefined t fixed!
Here you can download
Petr Kulhavy's latest z80-asm version.
On 2001-09-30 he put this version for download with these bugfixes (compared to version 1.0):
- ld a,(bc) and ld a,(de) were "illegal instructions" in compiler
- ld a,(hl) and ld a,(bc) were executed as ld a,l
All these packages are tared and gziped files.
Each Z80-ASM package contains a compiler for the Z80 assembling language and a monitor including an interactive debugger.
Compiler is a two-pass one, which knows all documented Z80 instructions. It has
labels, comments and since 2.1 can even evaluate constant arithmetic expressions. For Unix/Linux folks, here is the newest troffed z80-asm manual.
Debugger is interactive, it shows content of all registers, memory,
program. You can trace program, trace it step by step, modify program,
registers and content of memory, load and save parts of memory.
The (default) look of z80-mon (click for help screen):
Everything you need to run the Z80-ASM is Linux or DO$ system (it should also
work on other Unixes) and GCC/DJGPP compiler.
To install the Z80-ASM you must do following:
- download and unpack the archive
- cd to the just created z80-asm directory
- read the INSTALL file
- according to instructions you've read install the Z80-ASM :)
but typically a 'make' will do what you want.
Besides the raw Z80-CPU with 64 KB RAM this Z80-ASM-Package also supports a quartz for the CPU, IO-buffering logic, extended memory banking, a Z80-CTC and daisy-chain interrupt-logic. Moreover
there is an LCD-display and a hardware clock availible. For details see the delivered hardware/README file.
Original author of Z80-ASM is
Send bug reports, questions, critics, etc. to Achim Flammenkamp.
Z80-ASM is spread under terms and conditions of the GNU General Public
License (version 2 and higher). This license can be found in doc/COPYING in
You may also see the
Homepage of Petr Kulhavy.
2010-04-15 22:59 UTC+2