Description
¡@
The course aims at introducing the concepts of computer organization, digital logic design, and assembly language. Students will get a view of how to write programs with a low-level language and how to translate the programs to machine codes. The course will cover the following topics:
- Basic Concepts
- IA-32 Processor Architecture
- Assembly Language Fundamentals
- Data Transfers, Addressing, and Arithmetic
- Procedures
- Conditional Processing
- Integer Arithmetic
- Advanced Procedures
- Strings and Arrays
- Structures and Macros
- High-level Language Interface
- Assembler, Linker, and Loader
- Other Advanced Topics (optional)
¡@
Assembly Language for Intel-based Computers, 5th Edition, by Kip Irvine, Prentice-Hall, 2006
References
-
Computer Systems: A Programmer's Perspective, by Randal E. Bryant and David R.O'Hallaron, Prentice Hall, 2002
-
The Art of Assembly Language, by Randy Hyde, No Starch Press, 2003
-
System Software: An Introduction to Systems Programming, 3rd Edition, by Leland L. Beck, Addison Wesley, 1996.
Assignments (55%)
Class participation (5%)
Midterm Exam (20%)
Final Exam (20%)