Frameworks#
Assembly has no application frameworks in the high-level sense. What it has is assemblers, linkers, and build glue that wrap the toolchain so projects don’t reinvent the inner loop.
Assemblers#
Tool |
Notes |
|---|---|
|
Intel syntax; multi-platform; the de-facto x86 / x86-64 assembler. |
|
Drop-in replacement for |
|
GNU assembler; AT&T syntax by default; ships with binutils. |
|
Self-hosting flat assembler; powerful macro system. |
|
Microsoft Macro Assembler (Windows / Visual Studio). |
|
ARM and LLVM-based multi-arch assemblers. |
Linkers#
ld, GNU linker; the default on Linux.lld, LLVM linker; faster, increasingly common.mold, modern parallel linker.
Build glue#
Most asm projects sit inside a larger build (Makefile, CMake,
Cargo for asm! blocks, Go’s //go:noescape paired with
per-arch .s files). The conventional layout puts each
architecture in its own file and lets the build system pick the
right one.
$ ls src/
src/main.c src/inner.c src/asm/x86_64.s src/asm/aarch64.s
References#
Frameworks, the C build ecosystem the asm usually rides on.