一、課程說明 (Course Description)
This course introduces the basic concepts of assembly language and system software. The topics include X86 assembly programming (memory addressing, program structure, I/O processing, macro writing, and linking to high level languages) and concepts of assembler and linking loader.


二、指定用書 (Text Books)

1. Assembly Language for Intel-Based Computers (5th Edition)
by Kip R. Irvine

2. System Software: An Introduction to Systems Programming
by Leland L. Beck
(Chapters 1-4 will be used.)


三、參考書籍 (References)


四、教學方式 (Teaching Method)

1. Lectures
2. Program assignments
3. Mid-term examination
4. Final examination


五、教學進度 (Syllabus)

Overview and Introduction (1 week)
Programming Environment (1 week)
Data Declaration, Addressing Modes (0.5 week)
Interrupt and I/O Processing (0.5 week)
Branch and Loop (1 week)
Stack and Procedures (1 week)
Macros (1 week)
Arithmetic, Bit Operators, Floating Points (0.5 weeks)
The Evolution and Legacy of x86 Microprocessors (0.5 week)
The Role of Operating System and the BIOS Boot Process (0.5 week)
Assembler, Loader, and Linker (5-7 weeks)


六、成績考核 (Evaluation)

(Subject to change)
1. Program assignments: 40-60%
2. Quiz: 0-10%
3. Mid-term Exam: 20%
4. Final Exam: 20%


七、可連結之網頁位址
http://www.cs.nthu.edu.tw/~king/courses/cs2422.html