I wrote this Toy CPU to help teach students about machine language. It's a FreeDOS program that runs in graphics mode.
https://github.com/freedosproject/toycpu
Version 3.1 is a bug fix release. (In version 3.0, the accumulator could hold values beyond 255 but would display zero.)