第1章 系統開發生命週期
1.1 歡迎來到組合語言的世界
1.2 虛擬機器的概念
1.3 資料表示法
1.4 布林運算
1.5 本章摘要
1.6 本章習題
第2章 x86處理器架構
2.1 基本概念
2.2 x86架構細節
2.3 x86記憶體管理
2.4 典型x86 電腦的元件
2.5 輸出入系統
2.6 本章摘要
2.7 本章習題
第3章 組合語言基礎
3.1 組合語言的基本元素
3.2 範例:整數的加法及減法運算
3.3 組譯、連結及執行程式
3.4 定義資料
3.5 符號常數
3.6 實體位址模式程式設計 (選讀)
3.7 本章摘要
3.8 程式設計練習
第4章 資料轉移、定址和算術
4.1 資料轉移指令
4.2 加法與減法
4.3 資料相關的運算子和指引
4.4 間接定址
4.5 JMP和LOOP指令
4.6 本章摘要
4.7 程式設計練習
第5章 程序
5.1 導論
5.2 連結外部函式庫
5.3 本書所用的連結函式庫
5.4 堆疊運算
5.5 定義和使用程序
5.6 運用程序的程式設計
5.7 本章摘要
5.8 程式設計練習
第6章 條件處理
6.1 導論
6.2 布林和比較指令
6.3 條件跳越
6.4 條件迴圈指令
6.5 條件結構
6.6 應用程式:有限狀態機
6.7 條件控制流程指引
6.8 本章摘要
6.9 程式設計練習
第7章 整數算術運算
7.1 導論
7.2 移位與迴旋指令
7.3 移位與迴旋指令的應用
7.4 乘法與除法指令
7.5 延伸加法與減法
7.6 ASCII與未緊縮十進制的算術運算
7.7 緊縮十進制的算術運算
7.8 本章摘要
7.9 程式設計練習
第8章 進階程序
8.1 導論
8.2 堆疊框
8.3 遞迴
8.4 INVOKE、ADDR、PROC和PROTO
8.5 建立多模組程式
8.6 Java位元碼
8.7 本章摘要
8.8 程式設計練習
第9章 字串與陣列
9.1 導論
9.2 字串的基本指令
9.3 經過篩選的字串程序
9.4 二維陣列
9.5 整數陣列的搜尋和排序
9.6 Java位元碼:字串處理
9.7 本章摘要
9.8 程式設計練習
第10章 結構與巨集
10.1 結構
10.2 巨集
10.3 條件組譯指引
10.4 定義重覆的區塊
10.5 本章摘要
10.6 程式設計練習
第11章 微軟視窗程式設計
11.1 Win32主控台程式設計
11.2 撰寫圖形視窗應用程式
11.3 動態記憶體配置
11.4 x86記憶體管理
11.5 本章摘要
11.6 程式設計練習
第12章 浮點運算處理與指令編碼
12.1 浮點數的二進位表示法
12.2 浮點運算單元
12.3 Intel指令編碼
12.4 本章摘要
12.5 程式設計練習
第13章 高階語言介面
13.1 導論
13.2 Inline組合語言程式碼
13.3 在保護模式下連結到C++程式
13.4 在實體位址模式下連結C\C++
13.5 本章摘要
13.6 程式設計練習
第14章 16位元MS-DOS程式設計
14.1 MS-DOS和IBM-PC
14.2 MS-DOS功能呼叫
14.3 標準MS-DOS檔案I/O服務
14.4 本章摘要
14.5 程式設計練習
第15章 磁碟基礎知識
15.1 磁碟儲存系統
15.2 檔案系統
15.3 磁碟目錄
15.4 讀取與寫入磁區
15.5 系統層次的檔案函式
15.6 本章摘要
15.7 程式設計練習
第16章 BIOS層級程式設計
16.1 導論
16.2 鍵盤輸入-使用INT 16h
16.3 視訊程式設計-使用INT 10h
16.4 繪製圖形-使用INT 10h
16.5 記憶體映射圖形
16.6 滑鼠程式設計
16.7 本章摘要
16.8 程式設計練習
第17章 進階MS-DOS程式設計
17.1 導論
17.2 定義區段
17.3 執行時期的程式結構
17.4 中斷處理
17.5 使用I/O埠的硬體控制
17.6 本章摘要
第A章 MASM參考資料
第B章 x86指令集
第C章 自我評量解答
第D章 BIOS及MS-DOS中斷
第E章 自我評量解答 (第15-17章)