blob: c36bd26169e4c7607f5f4619bb77576b93d41852 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# hdass documentation
hdass is a small superset of assembly: you keep registers, memory and explicit
control flow, and write the repetitive parts (moves, arithmetic, loops, branches)
more compactly. it transpiles to x86-64 (nasm or fasm) or aarch64 (gnu as).
- [getting started](getting-started.md) — build the compiler, then write and run
a first program on both x86-64 and aarch64.
- [language reference](language.md) — the full syntax: declarations, statements,
control flow, memory, floating point, raw instructions and extensions.
- [targets](targets.md) — the architecture and assembler axes, what each target
supports, the portable register model, and the per-architecture syscall abis.
- [internals](internals.md) — the `lex → parse → analyze → emit` pipeline and how
to add a new assembler backend or architecture.
working programs live in [examples/](../examples/) (x86-64) and
[examples/arm64/](../examples/arm64/).
|