Getting started
BitterASM comes as two programs:
bitterasm, the compiler. It reads.basmsource, expands every macro, and writes the values the program emits to a.emfile.bitter, an evaluator. It reads a.emfile and packs its values into machine-code bytes.
Keeping them separate is deliberate. bitterasm knows nothing about bits,
bytes or machine code: it only produces a stream of values. What those values
mean is up to whichever evaluator reads them, and bitter is the one that
turns them into binary. See Evaluators.
This chapter covers:
- Installation: building and installing both programs and the standard library.
- Your first program: assembling two RISC-V instructions, and then a program that emits plain numbers.
- The toolchain: every
bitterasmandbittercommand.