SOFTWARE & SYSTEMS
2PASM
A two-pass assembler written in C that assembles assembly source into object, entry and extern files.
completed
- Year
- 2025
- Language
- C

Two-pass assembly · Concept illustration
TWO-PASS ASSEMBLER
01 / The build
Behind the project.
A two-pass assembler written in C, built as a programming lab course project. The first pass builds the symbol table; the second pass encodes instructions and emits the output files: .ob (object), .ent (entries) and .ext (externals). Organized into modules (assembler.c, parser, symbol table and more), built with a Makefile, and shipped with tests.
Technical details
Under the hood.
- Language
- C
- Design
- Two-pass: symbol table, then encoding
- Outputs
- .ob, .ent, .ext files
- Build
- Makefile, includes tests
Notes & outcomes
What came out of it.
- First pass builds the symbol table; second pass encodes and emits output files.
- Modular C codebase: parser, symbol table and assembler core.
- Written as a programming lab course project.