ZASM Feature Roadmap

Documentation home · Language reference · Basic examples

This page tracks what Zero Assembly can do today and the features to consider next. Implemented describes working capabilities. What’s Next lists proposed priorities for a more complete assembler. Nice to Haves collects optional improvements. Unchecked items are Coming Soon placeholders, not release commitments; their syntax and implementation order still need to be decided.

Implemented

Support applies to the operand forms in the language reference, not every form offered by other x86 assemblers. A mnemonic or register constant in the compiler source does not by itself mean its instruction encoding works.

Instructions and Registers

Source, Data, and Symbols

Data is currently inline in the read-only code section. Named declarations identify addresses; they do not provide writable high-level variables. The first emitted byte is the program entry point.

Headers, Imports, and Compiler Tools

See the include guide, build guide, and sample guide.

What’s Next

These proposed priorities address common gaps when writing ordinary assembly programs. Each item needs a defined syntax, validation, tests, and documentation before it moves to Implemented.

Complete Everyday Instruction Forms

Operand Sizes, Addresses, and Expressions

Writable Storage and Program Layout

Reuse and Larger Programs

Diagnostics and Reference Coverage

Nice to Haves

These ideas can follow the core assembler work or be developed independently.

Convenience and Productivity

Tooling and Learning

More Targets and Executable Formats

Linux header drafts are available for planning. ELF generation, Linux linking/ABI support, and runtime verification remain unchecked future work.

Changing the compiler’s own host runtime does not change its generated target. See Future formats and architectures for the shared-parser design direction.

Updating This Roadmap

When a feature is ready, move it into Implemented, describe its supported forms in the reference, and link a working example. A feature can be partially implemented: state which forms work and leave the remaining forms unchecked. Proposed names such as constants, section directives, and procedure helpers need a syntax decision; this page does not establish their spelling.

Higher-level Zero (.zsrc) has its own language-design work and is outside this assembly checklist. The homepage’s Coming Soon section also tracks broader language and documentation topics.