There is no doubt that the most difficult topic to teach in a Computer Architecture and Organization course is microprogramming. In this paper the author describes a Pascal programming project in which the students write a simulator for a microprogram. The project has been assigned several times with very satisfying results for both the instructor and the students.
/lp/association-for-computing-machinery/microcode-simulation-in-the-computer-architecture-course-t5330Rqu0r