---
# System prepended metadata

title: 組合語言「定址法（Addressing Modes）

---

當然可以！這裡是針對 **微處理機課程 - 組合語言「定址法（Addressing Modes）」章節** 的 15 分鐘示範教學設計。這個主題對學生來說可能有點抽象，因此這份教案特別強調「圖解 + 比喻 + 範例」的方式，幫助學生理解各種定址方式的概念與應用。

---

## 🧾【教案主題】  
**《CPU找東西的方法：淺談組合語言的定址法》**

---

## 🎯【學習目標（學生能夠……）】  
1. 說明什麼是定址法及其在組合語言中的功能  
2. 分辨常見定址法（立即、直接、間接、暫存器等）  
3. 能閱讀並寫出含不同定址法的組合語言指令  

---

## ⏰【教學流程與時間安排】

---

### 🟢 1. 開場與引入（2-3分鐘）

👋 **簡短引導與舉例比喻**

開場語範例：  
>「大家好，今天我們要一起學會一件很實用的事——**CPU要怎麼找到資料的位置？**」  
>「就像你要找一本書，你可以看書名、看書架編號，甚至讓朋友幫你拿。CPU也是一樣，它有很多『找資料』的方法，這些方法就叫做『定址法』。」

📌 **定義簡介**：  
>「定址法（Addressing Mode）指的是指令中如何指定資料或資料位置的方法。」

---

### 🟡 2. 定址法種類與觀念介紹（5-6分鐘）

📊 **常見定址法與範例**（以 8086 為例）

| 名稱         | 說明                                 | 範例指令             | 比喻                           |
|--------------|--------------------------------------|----------------------|--------------------------------|
| 立即定址（Immediate）   | 直接給值                             | `MOV AL, 5`          | 自己帶便當（資料直接在指令內） |
| 暫存器定址（Register） | 資料就在暫存器中                     | `MOV AX, BX`         | 從朋友手上拿資料               |
| 直接定址（Direct）     | 給定實體記憶體位址                   | `MOV AL, [1234H]`    | 告訴你「去某地址找資料」        |
| 間接定址（Indirect）   | 暫存器中存放「地址」，資料放在那裡   | `MOV AL, [BX]`       | 拿紙條看地址，再去找資料       |
| 基底+位移（Base+Offset）| 由一個暫存器加上偏移位移組成         | `MOV AL, [BX+04H]`   | 從某個點往前幾步拿資料         |

📌 可畫板書或簡報表格，輔以**圖示記憶體與暫存器**關係圖。

🎯 **學生小互動題**：
>「請問 `MOV AX, 1000H` 是哪種定址方式？」  
👉 答案：立即定址

---

### 🟠 3. 定址法的實作差異與應用範例（3-4分鐘）

🔧 **範例比較**：

```asm
MOV AL, 5        ; 立即定址，值直接寫在指令裡
MOV AL, [1234H]  ; 直接定址，從記憶體某地址取值
MOV AL, [BX]     ; 間接定址，BX中存的是位址
```

🎨 **圖示展示：**

```
 記憶體
---------
1234H: 42H   ← [1234H]
...
BX = 1234H
→ MOV AL, [BX] → AL = 42H
```

📌 **說明重點**：
- 指令長度不同：立即定址短、間接定址稍長  
- 執行效率也不同：暫存器最快、記憶體慢些  
- 柔性不同：間接定址靈活，可配合迴圈與陣列

---

### 🔵 4. 應用場景與延伸（2-3分鐘）

🛠️ **真實應用場合**：

- **立即定址**：設定初值、常數
- **間接定址**：處理陣列與迴圈、動態資料存取
- **基底+偏移**：處理結構資料（如 C struct）

🧠 **補充實用觀念**：  
>「在寫迴圈處理陣列時，通常都會用間接定址 + base + offset。這是記憶體與CPU合作存取大量資料的方式！」

---

### 🟣 5. 學生互動與理解檢查（2-3分鐘）

🧠 小測驗：

1. 指令 `MOV AX, [BX]` 屬於哪種定址法？  
   👉 答案：間接定址

2. 指令 `MOV AX, [SI+4]` 這是哪種定址？有什麼應用？  
   👉 答案：基底+偏移，適合處理結構或陣列

🎯 問學生：
>「為什麼需要這麼多種定址方式？只用立即定址不行嗎？」

引導回答：
👉 不夠靈活、不能存取變動資料或大量資料

---

### 🔚 6. 總結與結語（1分鐘）

📌 **重點回顧**：

- 定址法是 CPU 找資料的方式
- 常見有：立即、暫存器、直接、間接、位移等
- 每種方式適用不同情況，要根據應用需求選擇

🎤 **結語鼓勵**：
>「學懂定址法，就像幫CPU配了 GPS。你未來寫組合語言或操作底層記憶體時，這會是很重要的基礎工具喔！」

---

## 📌【加分教學技巧】

✅ **用生活化比喻記憶（如地址、便當、朋友手中資料）**  
✅ **黑板或簡報畫圖輔助記憶體/暫存器結構圖**  
✅ **搭配模擬器讓學生實測不同定址法結果（如EMU8086）**  
✅ **讓學生實作簡單取值練習，理解各定址法語法差異**

---

如果你需要我幫你把這套課程內容做成：
- 教學PPT
- 學生作業題單
- 圖解式教材
- 模擬器實作教學單

我都可以幫你準備！你想要搭配什麼教學工具一起使用這份教案呢？