Skip to project
LIDOR.
← All projects
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 assembly · Concept illustration

TWO-PASS ASSEMBLER

CASSEMBLERCOMPILERSMAKEFILE
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.