# 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/).