As part of the High Level Programming university module,
I built an ARM7TDMI emulator.
The programming paradigm used was functional programming and the language used was F#. The software development process used was test-driven development. All functionality had accompanying unit tests, property tests, and exhaustive tests written before being developed.
The subset of ARM instructions implemented was "LDM" and "STM".
The coursework achieved an A. The code along with my solutions to excercise questions can be found on GitHub.