Assembly programming and low-level memory management in C, for the course CS40: Machine Structure and Programming. Included in this repo are projects completed for this course, including:
locality
: A PPM image rotator, which stores PPM pixels in cached blocks to optimize image transformations.arith
: A lossy PPM image compressor, which converts full-color PPM images into compressed binary files.cs40-um
: An interpreter that processes and executes bytecode for a unique, Turing-Complete assembly language, theUM
.c40-profiling
: A progressive optimization of theUM
, eliminating wrapper modules and abstract data types, to run in 5.5% of the original time.cs40-asmcoding
: A RPN (Reverse-Polish Notation) calculator, implemented in a macro language for theUM
assembly language.
For the sake of academic integrity, I unfortunately can't make my code for these projects public. However, I can share their specifications and design documents here. If you (a recruiter, a curious developer, etc.) would like to see the source code, please reach out. I'd be very happy to share my work with you!