Skip to content

Jonathan1324/linked-assembly

Repository files navigation

linked-assembly

A modular assembler (and linker planned).
Currently only supports x86, 32-bit mode, and ELF .o object files.

Documentation

Features

  • 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.

Building

Build the assembler using make:

make

This will produce the binary in build/assembly/assembly.

Usage

Build your assembly file into an object file with:

build/assembly/assembly input.asm -o output.o --arch x86 --format elf -m32

Contributing

Contributions are very welcome!
Check out CONTRIBUTING.md for how to get started.

Examples

See examples in the examples/README.md.

License

This project is licensed under the BSD 3-Clause License.

About

Simple modular assembler for x86 (32-bit ELF).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published