ASMotor is a portable and generic assembler engine and development system written in ANSI C11 and licensed under the GNU Public License v3. The package consists of the assembler, the librarian and the linker. It can be used as either a cross or native development system.
The assembler syntax is based on the Motorola style macro language.
Currently supported CPUs are the 680x0 family, 6502, MIPS32, Z80, Game Boy, DCPU-16 and CHIP-8/SCHIP.
ASMotor is the spiritual successor to RGBDS, which was a fairly popular development package for the Game Boy. ASMotor is written by the original RGBDS author.
Building from source
Linux and macOS
A script (
install.sh) is included that will install the compiled binaries into the $HOME/bin directory. This path should be added to your $PATH for easier use. This script will also accept the
destination root (for instance
For even easier installation, provided you have the necessary prerequisites,
cmake, installed, the latest version of ASMotor can be installed using
curl https://raw.githubusercontent.com/asmotor/asmotor/master/bootstrap.sh | sh
If you want to install it globally, you can supply the installation prefix as a parameter:
curl https://raw.githubusercontent.com/asmotor/asmotor/master/bootstrap.sh | sh -s /usr/local
A VSCode extension that enables syntax highlighting is also available at https://marketplace.visualstudio.com/items?itemName=ASMotor.asmotor-syntax
Dive into the documentation to learn more about:
- Introduction, goals and background
- Invoking the assembler and basic syntax
- Symbols and labels
- Control structures like
MACRO's and conditional assembling.
- Expressions and how they're built
- Printing diagnostic messages, warnings and errors
- Organising code into sections. How to define data.
- The linker