Expand description
Instruction encoders, the integrated assembler, inline assembly and relaxation.
Design: spec/11-asm-objects-debug.md. Layer rank 10, see spec/18-package-layout.md.
§Status
What is written is the assembly text -S produces, which section 11.1 asks for because
people read it. It is written from the instruction description in rucc-target, the same one
the encoder will be generated from, so the listing and the object file cannot come to
disagree about what an instruction is.
The encoder itself, the assembler that reads .s and .S, inline assembly and relaxation
are the rest of M3 and M4 and are not here yet.
Every crate in the workspace is published, and publishing implies a promise. This one is
tier 3: its Rust API is explicitly unstable and will change without a major version bump.
Depend on the rucc binary’s behaviour, not on this.
Enums§
- Directives
- The directives one object format wraps a function in.
- Error
- A function this compiler could not write out as assembly.
Constants§
- MILESTONE
- The milestone in
spec/17-milestones.mdthat fills this crate in.
Functions§
- Every function, as assembly text.