第一章簡介
1.1 微處理器與微算機
1.1.1 個人計算機系統結構
1.1.2 嵌入式微處理器系統
1.1.3 PC 架構演進
1.2 x86/x64 微處理器
1.2.1 4/8 位元微處理器
1.2.2 16 位元微處理器
1.2.3 32 位元微處理器架構
1.2.4 64 位元微處理器
1.3 文數字碼與數碼
1.3.1 文數字碼
1.3.2 數碼
1.4 數系轉換
1.4.1 二進制數目系統
1.4.2 十六進制數目系統
1.5 二進制算術
1.5.1 二進制的四則運算
1.5.2 數目表示法
1.5.3 2 補數算術運算
1.6 浮點數算術
1.6.1 浮點數表示方法
1.6.2 浮點數的四則運算
第二章計算機結構與組合語言
2.1 計算機基本功能與原理
2.1.1 基本程式設計觀念
2.1.2 儲存程式計算機
2.1.3 更詳細的微算機基本動作
2.2 CPU 基本組織與動作
2.2.1 RTL 語言
2.2.2 簡化的x86 微處理器軟體模式
2.2.3 一個簡化的x86 微處理器RTL 架構
2.2.4 指令的執行
2.2.5 基本的x86 組合語言指令
2.3 組譯程式與組合語言程式
2.3.1 基本組合語言程式例
2.3.2 組合語言程式結構
2.3.3 組合語言常數與運算子
2.3.4 基本組譯程式假指令
2.4 組合語言程式的建立與測試
2.4.1 組合語言程式的建立與測試
2.4.2 命令行(command line) 環境
2.4.3 視窗(window) 環境
2.4.4 64 位元組合語言程式的建立與除錯
2.5 組譯程式與組譯程序
2.5.1 組譯程式
2.5.2 組譯程序與實例
第三章CPU 軟體模式
3.1 規劃模式
3.1.1 通用暫存器
3.1.2 節區暫存器
3.1.3 狀態暫存器與指令指示器
3.2 資料類型與記憶器組織
3.2.1 資料格式與記憶器組織
3.2.2 資料類型
3.3 x86 實際位址的產生
3.3.1 x86 微處理器記憶器管理概觀
3.3.2 x86/x64 有效位址與實際位址轉換
3.3.3 x86 微處理器的記憶器模式
3.4 定址方式
3.4.1 16 位元定址方式
3.4.2 32 位元定址方式
3.4.3 64 位元定址方式
3.5 指令格式與編碼
3.5.1 基本指令格式
3.5.2 MOD R/M 位元組
3.5.3 SIB 位元組
3.5.4 REX 指令前標
第四章基本組合語言程式設計
4.1 定址方式與指令使用
4.1.1 定址方式格式
4.1.2 使用指令的基本概念
4.2 資料轉移指令
4.2.1 基本資料轉移指令
4.2.2 節區暫存器相關指令
4.2.3 其它資料轉移指令
4.3 算術運算指令
4.3.1 二進制算術運算
4.3.2 單運算元指令
4.3.3 乘法與除法運算
4.3.4 併裝BCD 算術
4.4 分歧(跳躍) 指令
4.4.1 條件性分歧(跳躍) 指令
4.4.2 無條件分歧(跳躍) 指令
4.4.3 迴路指令
第五章組合語言程式設計
5.1 邏輯運算指令
5.1.1 基本動作
5.1.2 邏輯運算指令
5.2 位元運算指令
5.2.1 基本位元運算指令
5.2.2 位元掃描運算指令
5.3 移位與循環移位指令
5.3.1 移位與循環移位指令基本動作
5.3.2 移位與循環移位指令
5.3.3 雙精確制移位指令
5.4 符號擴展與其相關指令
5.4.1 基本符號擴展指令
5.4.2 特殊的符號擴展指令
5.5 字元串運算指令
5.5.1 基本字元串指令
5.5.2 REP 前標與字元串指令
5.6 CPU 控制與旗號位元指令
5.6.1 CPU 控制指令
5.6.2 旗號位元指令
第六章副程式與巨集指令
6.1 程式設計技巧
6.1.1 模組化程式設計
6.1.2 結構化程式設計
6.1.3 結構化程式假指令
6.2 程式的連結與外部變數
6.2.1 程式的連結與重置位
6.2.2 外部變數
6.3 副程式
6.3.1 堆疊
6.3.2 副程式呼叫與歸回指令
6.3.3 巢路副程式
6.3.4 副程式參數傳遞方式
6.3.5 可重入與遞迴副程式
6.3.6 高階語言支援指令
6.4 巨集指令
6.4.1 巨集指令定義與擴展
6.4.2 標記問題與局部標記
6.4.3 巢路巨集指令
6.4.4 其它相關假指令
第七章CPU 硬體模式
7.1 6 硬體模式
7.1.1 內部功能
7.1.2 硬體界面
7.1.3 基本時序(最小模式系統)
7.1.4 基本CPU 模組
7.2 x86/x64 微處理器架構
7.2.1 微處理器設計技術
7.2.2 基本微處理器架構
7.3 PC 系統架構
7.3.1 雙晶片組PC 系統架構
7.3.2 單晶片組PC 系統架構
7.3.3 輸入/輸出裝置
第八章記憶器元件與界面設計
8.1 CPU 與記憶器界接
8.1.1 記憶器容量與語句寬度的擴充
8.1.2 記憶器位址解碼原理
8.1.3 位址解碼電路設計
8.2 SRAM
8.2.1 商用SRAM 元件
8.2.2 SRAM 與CPU 界接
8.3 快閃記憶器
8.3.1 商用快閃記憶器元件(28C 系列)
8.3.2 快閃記憶器元件與CPU 界接
8.4 DRAM
8.4.1 非同步DRAM 元件
8.4.2 DRAM 資料更新方法
8.4.3 更新電路的設計策略
8.4.4 同步DRAM 元件
8.4.5 DDR SDRAM
第九章中斷要求與處理
9.1 中斷要求與處理
9.1.1 中斷的主要應用
9.1.2 中斷要求類型
9.1.3 CPU 對外部中斷要求的反應
9.1.4 x86 微處理器的外部中斷要求
9.1.5 x86 微處理器的中斷類型
9.1.6 x86/x64 微處理器中斷轉移控制
9.2 多重中斷要求與優先權
9.2.1 中斷優先權
9.2.2 輪呼
9.2.3 鍵結優先權結構
9.2.4 中斷優先權仲裁器
9.3 可規劃中斷要求控制器(82C59A)
9.3.1 硬體界面
9.3.2 內部功能
9.3.3 82C59A 與CPU 界接
9.3.4 82C59A 的規劃
9.3.5 82C59A 串接模式
9.3.6 APIC
9.4 中斷服務程式
9.4.1 鍵盤推動程式設計
9.4.2 巢路中斷要求結構
9.5 軟體中斷與例外處理
9.5.1 軟體中斷
9.5.2 例外
第十章I/O 基本結構與界面
10.1 I/O 基本結構
10.1.1 I/O 裝置與界面電路
10.1.2 輸入埠與輸出埠
10.1.3 獨立式I/O 結構
10.1.4 記憶器映成I/O 結構
10.1.5 I/O 埠位址解碼
10.2 I/O 資料轉移啟動方式
10.2.1 I/O 資料轉移啟動方式
10.2.2 輪呼式(程式) I/O
10.2.3 中斷I/O
10.2.4 直接記憶器存取(DMA)
10.2.5 匯流排仲裁邏輯
10.3 並列資料轉移
10.3.1 同步並列資料轉移
10.3.2 閃脈控制方式
10.3.3 交握式控制方式
10.4 串列資料轉移
10.4.1 基本概念
10.4.2 非同步串列資料轉移
10.4.3 同步串列資料轉移
10.4.4 資訊錯誤的偵測與更正
10.5 串列界面標準
10.5.1 EIA- (RS-) 界面標準
10.5.2 I2C 匯流排界面標準
10.5.3 SPI 界面
10.5.4 PCIe 匯流排
第十一章浮點數與多媒體運算指令組
11.1 FPU 軟體模式
11.1.1 內部功能與規劃模式
11.1.2 資料類型
11.1.3 指令格式
11.2 基本指令組與程式設計
11.2.1 資料轉移指令組
11.2.2 加法與減法運算指令
11.2.3 乘法與除法運算指令
11.2.4 其它數學函數指令
11.2.5 比較指令
11.3 高等指令組與程式設計
11.3.1 超越函數指令
11.3.2 常數指令
11.3.3 處理器控制指令
11.4 SIMD 多媒體處理器
11.4.1 多媒體處理器的演進
11.4.2 規劃模式
11.4.3 重疊算術與飽和算術
第十二章PC 系統I/O 裝置與界面
12.1 映像顯示系統
12.1.1 文字模式顯示器
12.1.2 界面卡與推動程式
12.2 繪圖模式顯示器
12.2.1 基本原理
12.2.2 彩色繪圖模式
12.2.3 GPU
12.2.4 顯示器種類與界面
12.3 列表機界面
12.3.1 列表機種類
12.3.2 列表機界面
12.3.3 PC 列表機界面
12.4 輔助記憶器系統
12.4.1 磁性記憶器基本原理
12.4.2 軟式磁碟記憶器12.4.3 硬式磁碟記憶器
12.4.4 固態硬碟
12.4.5 光碟記憶器
12.5 相關匯流排界面
12.5.1 SATA 與eSATA
12.5.2 USB
12.5.3 Thunderbolt
附錄A 6 微處理器電氣特性
A.1 6 微處理器電氣特性
附錄B x86 微處理器與x87 FPU 指令表
B.1 x86 微處理器指令表
B.2 x87 FPU 指令表