校際選修

115-1 選課時程

進行中

  • 初選第一階段 6/15/2026
  • 初選第二階段 6/22/2026
  • 校際選修 8/24/2026
  • 初選第三階段 8/31/2026
  • 開學後加退選 9/7/2026
  • 逾期加退選 9/21/2026
選課資源

組合語言與系統程式(英文授課)

Assembly Language and System Programming

學期
106-2
學分
3 學分
當期課號
1174
永久課號
DCP1110
開課單位
資訊工程學系
授課教師
黃世強
校區
光復
類別
選修
上課時間表
週一
週四
3
10:10–11:00
組合語言與系統程式(英文授課)
EC015
2 節連堂
4
11:10–12:00
7
15:30–16:20
組合語言與系統程式(英文授課)
EC015

* 根據陽明交大上課時間表所列

概述

This course aims at programming skills at low levels with assembly language. The first part of this course is on assembly programming for Intel processors. Interestingly, this course is not to encourage you to write programs with assembly – it is not necessary to program in assembly if the same thing can be done with a high-level language. However, good command of assembly helps you to understand the rationale behind various techniques of performance optimization and, most importantly, to avoid writing poorly performing programs. The second part is on the design and implementation of system software, assemblers and linking loaders in particular. It helps to understand how assembly instructions are encoded as binary code, and how binary executables are linked and loaded into memory for execution.

先修科目

It's good to know C/C++.

教學方式

http://www.cs.nctu.edu.tw/~cswingo/teaching/AssemblyLanguage/index.htm

評分方式

‧ Grading – Homework : 20% – Project : 15% - Programming Quizzes: 10% – Midterm (programming exam, on-site test): 20% – Final exam (Programming Exam + Written Exam); Assembly + System programming: 10%(program test)+ 25%(Written)

課程大綱
  • 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
  • System software: Machine architecture
  • System software: Assemblers
  • System Software: Linking Loaders
  • System software: Macro processors
週次計畫
週次主題
第 1 週課程簡介, Assembly Language Fundamentals
第 2 週Assembly Language Fundamentals
第 3 週Data Transfers, Addressing, and Arithmetic
第 4 週Procedures
第 5 週Procedures
第 6 週Conditional Processing
第 7 週Conditional Processing
第 8 週Integer Arithmetic
第 9 週Midterm
第 10 週Advanced Procedures
第 11 週strings and Arrays
第 12 週Structures and Macros
第 13 週High-level Language Interface
第 14 週Assemblers
第 15 週Assemblers
第 16 週Linking Loaders
第 17 週Macro Processors
第 18 週Final
教科書

Kip R. Irvine, "Assembly Language for x86 Processors", Seventh Edition (Optional) Leland L. Beck, “System Software: An introduction to Systems Programming, 3rd edition,” Addison Wesley Longman, 1997. ISBN-10: 0201423006, 台北圖書代理

Office Hours
聯絡方式
Email:cswingo@cs.nctu.edu.tw Room: 706 分機: 56626