# justinmeiners/lc3-vm

Write your own virtual machine for the LC-3 computer!

Repository: https://github.com/justinmeiners/lc3-vm
Canonical: https://ross.abutalabs.com/products/lc3-vm
Homepage: https://www.jmeiners.com/lc3-vm/
Language: Makefile
License Family: other
Topics: lc3, lc3-assembly, virtual-machine, emulator, tutorial, literate-programming, vm, low-level, assembly, tutorials, c
Last push: 2026-04-02T04:27:34+00:00

## Health v2 (maintenance only)
Score: 57/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 75, release rhythm 8, longevity 100
- inputs: {"age_days": 2986, "days_push": 153, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2087, forks 224 (observed 2026-08-28T04:06:12.049117+00:00)

## What it is
A tutorial and accompanying source code for building a virtual machine for the LC-3 educational computer in about 250 lines of C. It is written as a literate program that explains each part of the VM implementation, including memory, registers, instruction execution, and trap routines.

## Use cases
- learn how a CPU executes machine code
- write your own virtual machine from scratch
- understand low-level computer architecture concepts
- run LC-3 assembly programs like 2048 or a roguelike
- study a small complete emulator implementation in C

## When to choose
- you know basic C and want a hands-on systems programming project
- you want to understand how VMs, CPUs, and assembly work internally
- you prefer a short, fully explained literate-programming tutorial

## When to avoid
- you need a production-grade or full-system emulator
- you want a VM for a modern ISA like x86 or ARM
- you need a maintained library with a license for commercial reuse of the article (text is CC BY-NC-SA)

## Facets
- artifact type: learning-resource
- maturity: stable
- function: interpreter, simulation, developer-tools
- domain: education, tutorials, programming-languages
- platform: cross-platform, cli, windows
- tags: lc3, virtual-machine, emulator, literate-programming, assembly, c, tutorial, computer-architecture, linux, macos

## Member repositories
- justinmeiners/lc3-vm (main) score 57

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:12.049117+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-30T02:55:45.457987+00:00, confidence not recorded.
  - readme: https://github.com/justinmeiners/lc3-vm (fetched 2026-08-28T04:06:12.049117+00:00, sha 9acb3aec4f75)
  - homepage: https://www.jmeiners.com/lc3-vm/ (fetched 2026-08-29T10:35:36.346320+00:00, sha 23eaf03daeb7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
