Home
An assembler for 8-bit systems. Designed for generating assembly via C# code but also supports parsing and formatting assembly files.
OakAsm currently targets the Z80 and the Z80N (the extended Z80 found in the ZX Spectrum Next).
Getting Started
Build assembly programs from C# with a strongly-typed builder API, or parse and assemble existing .asm files.
The Command Line Tool
oakasm assembles projects and disassembles ZX Spectrum files from the command line.
Project Files
Describe your assembly project — CPU, sources and output — in a YAML project file.
Packages
| Package | Use it for |
|---|---|
MrKWatkins.OakAsm |
Core AST, assembler machinery and binary output. |
MrKWatkins.OakAsm.Z80 |
Z80 opcode definitions, assembler and C# builder API. |
MrKWatkins.OakAsm.Z80N |
Z80N (ZX Spectrum Next) extensions to the Z80 package. |
MrKWatkins.OakAsm.Parsing |
Parsing assembly text into the AST. |
MrKWatkins.OakAsm.Formatting |
Formatting the AST back to configurable assembly text. |
MrKWatkins.OakAsm.Disassembly |
CPU-agnostic disassembly machinery. |
MrKWatkins.OakAsm.Disassembly.Z80 |
Z80/Z80N disassembly. |
MrKWatkins.OakAsm.Projects |
YAML project files and project assembly. |
MrKWatkins.OakAsm.Testing |
Test helpers for code built with OakAsm. |
MrKWatkins.OakAsm.Tool |
The oakasm command line tool. |