Virtual Machine
For a lab assignment for CS 203 (Computer Organization) at Lafayette College, I was tasked with developing a virtual
machine that can run SSAM (Super Simple Assembly, developed by my professor) machine code. Tasks included developing
VRAM (memory.c
and memory.h
), a VCPU (controller.c
and controller.h
), and a UI (sim.c
and sim.h
).
I learned a bunch about how lower levels of computing work from this class—and this lab tied plenty of concepts together.