模組非簡單切割,而是以目標為導向的系統性分解。本章詳細說明分割原因、前置作業、六步驟分割法、七大模組特性分析、兩種調用架構與介面設計。
核心原則:先確定目標、全面認知格局、整理歸類、統一命名格式、建立總表專人維護。
C:\> M ABCD,,,; ; MASM 產生 .OBJ .LST .CRF
C:\> CREF ABCD ; 產生 ABCD.REF 交叉參考表
列印 .LST 與 .REF 對照,精簡整理後再分割。
.REF 中僅有定義無引用、或前導 JMP/RET 的標號刪除NOP 刪除;JMP xxxx 改 JMP SHORT xxxx;孤立段落合併;單次調用子程式內聯| 模組 | 類型 | 核心特性與設計重點 |
|---|---|---|
| 1. 系統中斷 (鍵盤/顯示/列印/通訊) | 功能 | 鍵盤:省空間、建表法靈活;顯示:犧牲空間換速度、彈性大;列印:設定載入技巧;通訊:安全正確保密 |
| 2. 內碼轉換 | 輔助 | 四字元內碼、高位區分中英、雙向轉換、兼顧速度 |
| 3. 字形結構 | 介面 | 多層結構、子模組多、空間速度兼顧、極小空間輸出海量字形 |
| 4. 字形分析 | 輔助 | 處理大小/種類/筆形/位置變化、核心在變數處理、緩衝區安排定效率 |
| 5. 英文字形 | 功能 | 字數少、無任意組合功能、獨立模組 |
| 6. 繪圖核心 | 功能 | 字形產生器心臟、關鍵在計算、螢幕用查表/快速運算、列印用高精度 |
| 7. 各種介面 | 應用 | 模組間溝通橋樑、良窳決定使用效率、理解結構即可輕易對接 |
中文字形產生器介面範例:支援 6 萬有效漢字、近 600 萬組合新字、1×1 至 128×128 無級次縮放、多字體/粗細/變體、繁簡/ASCII 可選。

模組分割非切菜切豆腐,而是以系統工程思維進行功能內聚、介面解耦。七大模組各司其職、特性鮮明,中斷介面架構支援動態覆蓋與零配置調用,正是大型系統長期演進的關鍵。理解模組特性、掌握分割步驟、設計優良介面,是組合語言程式設計師邁向架構師的必修課。