Skip to content

Assembly programming, interpreters, and low-level memory management projects in C. ⚙️

Notifications You must be signed in to change notification settings

sgilfeather/cs40-machine-structure

Repository files navigation

CS40: Machine Structure and Programming

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, the UM.
  • c40-profiling: A progressive optimization of the UM, 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 the UM 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!

About

Assembly programming, interpreters, and low-level memory management projects in C. ⚙️

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published