A modular assembler (and linker planned).
Currently only supports x86, 32-bit mode, and ELF .o
object files.
- Supports a basic set of x86 instructions (see full list)
- Generates valid ELF object files.
- Simple, readable assembly syntax
- Command-line flags for extensibility:
--arch <arch>
— target architecture (x86
,arm
,riscv
)--format <format>
— output file format (elf
,macho
,coff
)-m64
,-m32
,-m16
— selects the bit mode
Note: Currently, only --arch x86
, --format elf
, and -m32
are fully supported.
Build the assembler using make
:
make
This will produce the binary in build/assembly/assembly
.
Build your assembly file into an object file with:
build/assembly/assembly input.asm -o output.o --arch x86 --format elf -m32
Contributions are very welcome!
Check out CONTRIBUTING.md for how to get started.
See examples in the examples/README.md.
This project is licensed under the BSD 3-Clause License.