blob: fe42c754fa95b3f325a9ed0219f0a6609828d3f2 (
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/).
|