# hlorenzi/customasm

💻 An assembler for custom, user-defined instruction sets! https://hlorenzi.github.io/customasm/web/

Repository: https://github.com/hlorenzi/customasm
Canonical: https://ross.abutalabs.com/products/customasm
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: assembly, assembly-language, assembler, instruction-set, instruction-set-architecture, processor-architecture, microprocessor, bytecode, bytecode-compiler, compiler, customizable, custom, virtual-machine, vm, machine-code, webassembly, user-defined, asm, rust, rust-lang
Last push: 2026-04-26T21:11:38+00:00

## Health v2 (maintenance only)
Score: 79/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 79, release rhythm 67, longevity 100
- inputs: {"age_days": 3692, "days_push": 129, "days_rel": 142, "gap_med": 76, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1056, forks 73 (observed 2026-08-28T04:03:24.507353+00:00)

## What it is
customasm is an assembler written in Rust that lets users define their own custom instruction sets and assemble source files into machine code or bytecode. It runs as a CLI tool, compiles to WebAssembly for browser use, and is useful for testing VM bytecode or programming homebrew microprocessor architectures.

## Use cases
- assemble programs for a custom CPU I designed in an FPGA
- generate bytecode for my own virtual machine
- write homebrew assembly for retro consoles like the NES
- define and test a custom instruction set architecture
- assemble machine code from user-defined syntax rules
- try an assembler in the browser without installing anything

## When to choose
- you need to assemble code for a custom or experimental instruction set
- you're developing a VM, emulator, or homebrew microprocessor and need bytecode tooling
- you want a lightweight, cross-platform assembler with a web playground

## When to avoid
- you need an assembler for an existing, standard architecture like x86 or ARM
- you want a full toolchain with linker, debugger, and C compiler support
- you need high-performance production compilation for large codebases

## Facets
- artifact type: cli-tool
- maturity: active
- function: compiler, developer-tools, cli
- domain: programming-languages, compilers, developer-tools, hardware
- platform: cross-platform, cli, rust
- tags: assembler, assembly-language, instruction-set, bytecode, virtual-machine, retro-computing, fpga, wasm, web

## Member repositories
- hlorenzi/customasm (main) score 79

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:24.507353+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:58:23.336125+00:00, confidence not recorded.
  - readme: https://github.com/hlorenzi/customasm (fetched 2026-08-28T04:03:24.507353+00:00, sha e7d8c3fa94e0)
  - registry_crates: https://crates.io/api/v1/crates/customasm (fetched 2026-08-29T12:59:49.787529+00:00, sha 43bb8b5d3833)
- Data as of 2026-08-30T08:39:29.467469+00:00.
