Skip to content

Home ​

Build StatusNuGet VersionNuGet Downloads

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.

Read more

The Command Line Tool ​

oakasm assembles projects and disassembles ZX Spectrum files from the command line.

Read more

Project Files ​

Describe your assembly project — CPU, sources and output — in a YAML project file.

Read more

Packages ​

PackageUse it for
MrKWatkins.OakAsmCore AST, assembler machinery and binary output.
MrKWatkins.OakAsm.Z80Z80 opcode definitions, assembler and C# builder API.
MrKWatkins.OakAsm.Z80NZ80N (ZX Spectrum Next) extensions to the Z80 package.
MrKWatkins.OakAsm.ParsingParsing assembly text into the AST.
MrKWatkins.OakAsm.FormattingFormatting the AST back to configurable assembly text.
MrKWatkins.OakAsm.DisassemblyCPU-agnostic disassembly machinery.
MrKWatkins.OakAsm.Disassembly.Z80Z80/Z80N disassembly.
MrKWatkins.OakAsm.ProjectsYAML project files and project assembly.
MrKWatkins.OakAsm.IO.ZXSpectrumZX Spectrum tape and snapshot output.
MrKWatkins.OakAsm.TestingTest helpers for code built with OakAsm.
MrKWatkins.OakAsm.ToolThe oakasm command line tool.