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


二、指定用書 (Text Books)

1. Assembly Language for Intel-Based Computers (4th 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 and Quiz
2. Program assignments
3. Mid-term examantion
4. Final examination


五、教學進度 (Syllabus)

Overview and Introduction (1 week)
Typical Organization of Personal Computers (0.5 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)
Disk Storage (1 weeks)
Assembler, Loader, and Linker (5-7 weeks)


六、成績考核 (Evaluation)

(Subject to change. It will be finalized at the syllabus that is to be distributed at the first class meeting.)
1. Program assignments: 40-60%
2. Quiz: 0-10%
3. Mid-term Exam: 20%
4. Final Exam: 20%


七、可連結之網頁位址