A machine contract.
Architecture, instruction-set requirements, operating system, and object format describe where the code can run.
archISAOSformatAN OPEN SOURCE PROJECT
Build assembly projects with the target and interface spelled out.
The CLI is written in assembly and runs on Linux x86_64. It checks locked package files before each build.
Create a project
./build/asm new helloBuild the program
cd hello
../build/asm buildRun it
../build/asm runHello from asm!GET STARTED
Use Linux x86_64 with Git, GNU Make, and GNU binutils. Build the CLI, then run the first-project commands above.
# Linux x86_64 · Git, Make, and GNU binutils
git clone https://github.com/stubbi/asm.git
cd asm
make
./build/asm --help
Run these commands from the ASM repository root. The installer refuses to replace a different existing command.
make install PREFIX="$HOME/.local"
export PATH="$HOME/.local/bin:$PATH"
asm version
The PATH change applies to this terminal. Registry commands need curl and sha256sum. Source dependencies also need gzip.
Read the installation guideThe CLI uses /usr/bin/curl, /usr/bin/sha256sum, and /usr/bin/gzip for registry operations. A package target is separate from the CLI host.
PACKAGE REGISTRY
Read the source, check the target, and inspect the release records. This catalog uses the published registry index.
Package names and versions come from the registry records.
You can also browse the CLI source and the hello example on GitHub.
A checksum checks file integrity. Review the source and evidence before you run a package.
THE PACKAGE MODEL
A useful assembly routine should be easy to reuse. Its package must state which machine it supports and how other code can call it.
Architecture, instruction-set requirements, operating system, and object format describe where the code can run.
archISAOSformatThe application binary interface (ABI) defines calls and data layout. Packages also state symbol names, memory ownership, and register use.
ABIsymbolsownershipDeclared tools, pinned inputs, and recorded outputs give consumers something concrete to reproduce and review.
toolchaininputsdigestsTHE VERIFICATION MODEL
Each security claim must name the version, target, and assumptions it covers. Consumers need access to its reports and artifacts.
Read the security modelHosted proof and analysis services are planned.
Each release lists its current checks.
Who published the package, which source produced it, and which build process was used.
Identity + originReports from named tools, with their versions, findings, and coverage available for review.
Tool + ruleset + findingsRecorded results for defined inputs and targets, including boundary cases and ABI behavior.
Cases + environment + resultsSpecific properties, explicit assumptions, and machine-checkable artifacts where the tooling supports them.
Property + assumptions + checkerWHY ASM
Software should work well for its users and cost less to run. Assembly can give developers direct control over how a machine does that work.
Our working assumption is that AI-assisted development may make assembly practical for more projects. It may also reduce the cost of ports. Both claims need evidence.
Generated code still needs review and verification. Performance claims need reproducible measurements, including results that show no improvement. ASM is building the shared package, release, and evidence tools for that work.
Read the project motivationAn asmwc experiment measured default counting on a 128 MiB text file. On Apple M3 with macOS 15.6.1, median time was 15.234 ms for optimized assembly and 68.468 ms for native Rust. Each implementation had 24 samples with a warm file cache. The comparison includes algorithm, I/O, and startup differences. ASM checked the published records; we have not reproduced the experiment.
Read the experiment and its limitsBUILT IN THE OPEN
The first release covers local projects and exact dependencies. The next work is broader resolution, more hosts, and hosted verification.
A native assembly executable, local project commands, and a format for package records.
Locked versions, checked source files, native executable installs, and reproducible release artifacts.
Authenticated publication, ownership controls, account recovery, and dependency range resolution.
Clients for more hosts, isolated analysis, and scoped proof checks for supported routines.
CONTRIBUTE