國立嘉義大學112學年度第2學期教學大綱

課程代碼11223470017上課學制大學部
課程名稱組合語言與實習 Assembly Language and Laboratory授課教師 (師資來源)王智弘(資工系)
學分(時數)3.0 (3.0)上課班級資工系3年甲班
先修科目必選修別必修
上課地點理工大樓 A16-402 授課語言國語
證照關係無。晤談時間星期2第3節~第4節, 地點:A16-507 星期3第3節~第4節, 地點:A16-507
永續發展目標[SDGs]之關聯性工業化、創新及基礎建設
課程大網網址https://web085004.adm.ncyu.edu.tw/Syllabus/Syllabus_Rpt.aspx?CrsCode=11223470017
備 註
本課程之教學主題、內容或活動是否與性別平等議題有相關之處:否本課是否使用原文教材或原文書進行教學:是

◎系所教育目標:
為配合國家建設及產業發展之需要,本系以培育中高級資訊科技人才為目的。在教學理念上除了注重理論的探討之外並強調實際動手的能力,以期培育出具有深厚學識基礎並能實際應用的資訊科技人才。在專業必修中涵蓋基礎理論、電腦硬體、作業系統、資料結構及計算機網路等方面,並有畢業專題製作,使學生紮實基礎,同時課程包含四個專業學程,兼顧學術及實務之分流與訓練。分別為一:軟體工程及知識工程學程、二:互動多媒體學程、三:網路及資訊安全學程、四:資訊系統開發實務學程,以期作為日後升學就業的準備。
◎核心能力關聯性
1.應用數理邏輯推理之能力4 關聯性稍強
2.具備資訊軟體專業之能力5 關聯性最強
3.具備資訊硬體專業之能力4 關聯性稍強
4.發掘、分析及解決問題之能力5 關聯性最強
5.現代資訊發展工具之使用與熟悉資訊應用系統之能力3 關聯性中等
6.資訊軟體或硬體創新設計與實作之能力3 關聯性中等
7.有效溝通與團隊合作之能力3 關聯性中等
8.培養人文素養、專業倫理責任、社會關懷與生活技能之能力1 關聯性最弱
◎本學科內容概述:
本課程提供學生瞭解計算機結構資料表示與組合語言,須具備初步電腦軟、硬體、編譯以及作業系統觀念。內容除了組合語言程式設計、電腦系統基礎、計算機架構基礎。
◎本學科教學內容大綱:
1.虛擬機器的觀念 2.指令級架構 3.基本布林運算 4.指令執行週期 5.記憶體存取及交握 6.中斷與輪詢 7.以硬體為基礎的I/O 8.浮點數二進位表示法 其他與Intel 、AMD有關的特別主題 (1)保護記憶體與分頁 (2)在實體位置模式下的記憶體分段 (3)16位元中斷處理 (4)MS-DOS和BIOS呼叫 (5)浮點運算單元的架構和程式設計 (6)指令編碼
◎本學科學習目標:
組合語言與系統程式課程主要是讓學生了解計算機結構資料表示與組合語言以及計算機系統相關的程式及軟體,其功能、運作、設計與實務操作。這門課讓學生學習組合語言程式設計、電腦系統基礎、計算機架構基礎。除了讓學生了解理論運作外,並透過專案實作,以了解細節內容並培養系統開發經驗。
◎教學進度:
週次主題教學內容教學方法
01
02/22
Basic concepts課程大綱介紹以及軟體安裝講授。
02
02/29
32-Bit x86 & 64-Bit x86-64 processor Architecture32-Bit x86 Processors
64-Bit x86-64 Processors
Input–Output System
講授。
03
03/07
Assembly Language Fundamentals
Your First Program
Basic Language Elements
Assembling, Linking, and Running Programs
Structure of an Assembly Program
作業/習題演練、操作/實作、講授、討論。
04
03/14
Data Transfers, Addressing, and
Arithmetic
Data Transfer Instructions
Addition and Subtraction
作業/習題演練、操作/實作、講授、討論。
05
03/21
Conditional Processing
(Comparison, Jumping and Looping)(I)
JMP and LOOP Instructions
Conditional Instructions (I)
For-Loops (I)
講授、討論。
06
03/28
Conditional Processing
(Comparison, Jumping and Looping)(II)
Conditional Instructions (II)
For-Loops (II)
作業/習題演練、操作/實作、講授、討論。
07
04/04
Integer ArithmeticShift and Rotate Instructions & Applications
Multiplication and Division
講授、討論。
08
04/11
Advanced Procedures & Functions
External Functions (I)
Stack Frames
The Stack and Function Call
Calling Functions from Libraries (I)
講授、討論。
09
04/18
Midterm ExamMidterm Exam期中考試。
10
04/25
Advanced Procedures & Functions
External Functions (II)
Calling Functions from Libraries (II)作業/習題演練、操作/實作、講授、討論。
11
05/02
Arrays and Strings (I)One/Two-Dimensional Arrays
Moving Strings
Comparing and Scanning Strings (I)
作業/習題演練、操作/實作、講授、討論。
12
05/09
Arrays and Strings (II)

Structures and Macros (I)
Comparing and Scanning Strings (II)
Structures/Macros (I)
講授、討論。
13
05/16
Structures and Macros (II)

MS-Windows Programming (I)
Structures/Macros (II)
Conditional Macros

Simple Windows Code
作業/習題演練、操作/實作、講授、討論。
14
05/23
MS-Windows Programming (II)Using the Windows API講授、討論。
15
05/30
Floating-Point ArithmeticIEEE Binary Floating-Point Representation
Single/Double Precision
Coding on Floating-Point Arithmetic
講授、討論。
16
06/06
Advanced Issues (I)SIMD & AVX (I)
Single Instruction Multiply Data
Advanced Vector Extensions
作業/習題演練、操作/實作、講授、討論。
17
06/13
Advanced Issues (II)
期末專案展示
SIMD & AVX (II)
Advanced Vector Extensions
Advanced Vector Extensions
期末專案展示
口頭報告、講授、討論。
18
06/20
Final examFinal exam期末考試。
◎課程要求:
本課程提供學生瞭解計算機結構資料表示與組合語言,須具備初步電腦軟、硬體、編譯以及作業系統觀念。
除上課講授討論之外,提供其他實務專案內容作為讓同學們能夠了解實際系統運作。因此除考試外,計有作業及專開開發等實作上之課程要求。
◎成績考核
課堂參與討論12% : 出席率與討論
期中考28%
期末考30%
作業/習題演練30% : 含課堂練習與測驗
◎參考書目與學習資源
1. Jo Van Hoey, Beginning x64 Assembly Programming - From Novice to AVX Professional, Apress, 2019.
2. Daniel Kusswurm, Modern X86 Assembly Language Programming - Covers X86 64-bit, AVX, AVX2, and AVX-512, Apress, 2023.
3. Jonathan Bartlett, Learn to Program with Assembly - Foundational Learning for New Programmers, Apress, 2021.
4. Kip Irvine, Assembly Language for x86 Processors, 7th edition, ‎ Pearson, 2014
5. Richard C. Detmer, Introduction to 80x86 Assembly Language and Computer Architecture, 3rd edition, ‎ Jones & Bartlett Learning, 2014.
6. Leland L. Beck, System Software - An Introduction to Systems Programming, 3rd Edition, Addison Wesley, 1997.
◎教材講義
請改以帳號登入校務系統選擇全校課程查詢方能查看教材講義
1.請尊重智慧財產權、使用正版教科書並禁止非法影印。
2.請重視性別平等教育之重要性,在各項學生集會場合、輔導及教學過程中,隨時向學生宣導正確的性別平 等觀念及尊重多元性別,並關心班上學生感情及生活事項,隨時予以適當的輔導,建立學生正確的性別平等意識。