A simple but realistic assembly language for a course in computer organization
Eric B. Larson, M Kim
Abstract
Eric B. Larson, M Kim
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.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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.
Key concepts: Assembly language, Computer science, Datapath, Set (abstract data type), Class (philosophy), Course (navigation), Curriculum, Programming language