M]ultiple [P]rocessor [M]odule Assembler V1.5
The Mpm Assembler supports compilation of Zilog Z80 CPU assembly language and is able to run on any major OS and perform cross-compilation.
Mpm is implemented in Ansi-C supporting executables on 32bit and 64bit architectures. It is designed to be a multi-platform tool, automatically handling file naming conventions and correct code generation, byte ordering, no matter which architecture it is being executed on. Mpm is designed to be simple as an easy command line interface and efficient / fast assembler of source file compiling for stand-alone application development.
Mpm assists the assembly language programmer with high-level features like
- modularized source code,
- support for meta data structures,
- source file-level dependencies
- static library management
- and complete code generation
In short, Mpm has been designed with the focus on flexibility and extendability and is available as Open Source, through the GPL v2 license. This wiki provide all the necessary documentation, describing the Mpm assembler functionality thoroughly with examples. We have also provided a reference for easy access to specific syntax of available features.
Mpm was originally written in SuperBasic running on a Sinclair QL in 1991 to assist the development of Cambridge Z88 applications (compiling code on QL and transfer the programs to Z88 via serial port). It was later ported to Lattice C using the Sinclair QL's C68 C compiler. The final convertion was done to Ansi C to allow its use on more platforms, beginning with MS DOS and Linux/Unix. Named as "z80asm" it was adapted to the z88dk project for being the final step of executable code generation to the Small-C compiler of Z80-based systems. After a long pause, Mpm became the continuation of the z80asm tool with the aim of being a more flexible assembly language compiler tool, diverting from the z88dk project. The Z88dk (Small-C) project uses the original z80asm tool, and has been modified / improved for its specialized need.
Mpm has been continually improved and now runs on modern 64bit operating systems. Mpm is currently the core tool for Cambridge Z88 operating system and application development. Mpm serves as a perfect tool for developing stand-alone Z80 applications on other Z80-based systems. Mpm is available on all major operating system platforms such as Windows, Mac OS X and Linux, also supporting embedded platforms such as the Raspberry Pi.
Future of Mpm
Mpm continues to be improved. Macros, section management, Arm & Mips CPU assembly language support and Elf binary executable output is part of the future developments of Mpm. The source code of Mpm can be fetched from our Git repository from here: https://gitlab.com/bits4fun/mpm.
Download ready-made executable for your desktop platform
Download latest stable version of the Mpm assembler and other Z88 developer tools for your desktop platform here (bundled as part of the Z88 Assembler Workbench package):