The S‐Machine: An Alternative Approach to Teaching Assembler Programming
Larry W. Hughes · Computer Science Education · 1995
The demand for assembler language programmers has dropped dramatically over the past 20 years with the advent of structured programming languages and the accessibility of hardware features from high‐level languages. Nevertheless, a course in assembler language programming is often the first, and sometimes the only, introduction a student has to a machine's hardware. For this reason alone, assembler language programming courses should not be removed from a curriculum; instead, they should be kept and taught in conjunction with modern software engineering practices. This article describes an alternative approach to teaching assembler language programming. Whereas the students are still introduced to a machine and its assembler language, they are required to write several low‐level library routines they used in introductory courses (such as ACM CS1 and CS2). Furthermore, the S‐Machine's support software allows students to study the internals of an assembler, a librarian, and a linker.