Why assembly language?
Assembly language teaches how a computer works at the machine level (i.e. registers)
Assembly language helps understand the limitations of the Von Neumann architecture
The foundation of many abstract issues in software lies in assembly language and computer architecture:
Data types, addressing modes, stack, recursion, input/output
Assembly language is not used just to illustrate algorithms, but to demonstrate what is actually happening inside the computer!
Microprocessor-based System Design Ricardo Gutierrez-Osuna Wright State University