Abstract

Computer science curriculums, constantly evolving to include new material and methodologies, have reduced the amount of time spent on low-level computer hardware and organization. Our institution recently combined a course on computer organization and a course on assembly language programming into one course covering both topics. The choice of assembly language is a critical decision that contributes to the success of the course. ANNA (A New Noncomplex Architecture) is a new 16-bit instruction set architecture that is similar to MIPS but has fewer instructions. The instruction set, while small, is sufficient in illustrating how high-level languages are translated into assembly, how to design a CPU datapath, and how to implement pipelining. Real-world assembly languages such as IA-32 or MIPS have many subtleties that complicate the learning experience for students and consume valuable class time. This paper describes the ANNA assembly language and the assembler and simulator tools that can be used in the classroom. In addition, the paper describes how ANNA can be used effectively in a combined course on assembly language programming and computer organization. ANNA was used in three courses with very positive results based on our observations and feedback from students.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call