Design of a pedagogical assembly language and classroom experiences

This paper describes the design of a new assembly language for the pedagogical environment. While there are many assembly languages to choose from, presented here is a systematic process to design an educational assembly language that satisfies the stated requirements. The language is compared to other commonly used languages using a set of well accepted criteria to measure the quality of a computer language. It is shown that the language is "well designed" using these metrics. In addition, the paper also describes two instructors' experiences using the language and a simulated computer in three courses: Assembly Language (CS-Assembly), Computer Organization (CS-Organization), and Programming Languages Design (CS-ProgLang).