本書目錄
第 1 章 系統軟體
 1.1 何謂系統程式?
 1.2 系統程式與系統軟體
 1.3 本書的章節架構
 1.4 實務案例:Dev C++開發環境
 1.5 實務案例:GNU 開發工具

第 2 章 電腦的硬體結構
 2.1 CPU0 處理器
 2.2 CPU0 的指令集
 2.3 CPU0 的運作原理
 2.4 CPU0 的程式執行
 2.5 實務案例:IA32 處理器

第 3 章 組合語言
 3.1 基本範例
 3.2 陣列存取
 3.3 副程式呼叫
 3.4 進階語法
 3.5 實務案例:IA32的組合語言

第 4 章 組譯器
 4.1 組譯器簡介
 4.2 組譯器的演算法
 4.3 完整的組譯範例
 4.4 實務案例:處理器IA32上的GNU組譯器

第 5 章 連結與載入
 5.1 簡介
 5.2 目的檔
 5.3 連結器
 5.4 載入器
 5.5 動態連結
 5.6 實務案例:GNU連結工具
 5.7 實務案例:目的檔格式 – a.out
 5.8 實務案例:Linux 的動態載入技術

第 6 章 巨集處理器
 6.1 組合語言的巨集
 6.2 巨集處理的演算法
 6.3 實務案例:C語言的巨集

第 7 章 高階語言
 7.1 簡介
 7.2 語法理論
 7.3 語義理論
 7.4 執行環境
 7.5 實務案例:C語言的語法、語義與執行環境

第 8 章 編譯器
 8.1 簡介
 8.2 詞彙掃描
 8.3 語法剖析
 8.4 語義分析
 8.5 中間碼產生
 8.6 組合語言產生
 8.7 最佳化
 8.8 實務案例:gcc編譯器

第 9 章 虛擬機器
 9.1 簡介
 9.2 中間碼
 9.3 CPU0 的虛擬機
 9.4 實務案例:Java的 JVM 虛擬機
 9.5 實務案例:微軟的 Virtual PC 虛擬機

第 10 章 作業系統
 10.1 簡介
 10.2 行程管理
 10.3 記憶體管理
 10.4 檔案與輸出入
 10.5 實務案例:Linux作業系統

第 11 章 嵌入式系統
 11.1 輸出入
 11.2 驅動程式
 11.3 輪詢機制
 11.4 中斷機制
 11.5 啟動程式
 11.6 系統整合
 11.7 實務案例:新華Creator S3C2410 實驗板

第 12 章 系統軟體實作
 12.1 簡介
 12.2 組譯器實作
 12.3 虛擬機實作
 12.4 剖析器實作
 12.5 編譯器實作
 12.6 整合測試

附錄 A   CPU0 處理器
 A.1 處理器
 A.2 指令表
 A.3 指令格式
 A.4 狀態暫存器
 A.5 位元組順序

附錄 B   C0 語言的語法
 B.1   C0 語言的範例  
 B.2   EBNF 語法規則

附錄 C   GNU 開發工具
 C.1  常用的 GNU 工具
 C.2  編譯器 gcc 的用法  
 C.3  連結器 ld 的用法
 C.4  函式庫 ar 工具的用法
 C.5  目的檔 objdump 觀察工具的用法
 C.6  目的檔 objcopy 複製工具的用法

附錄 D   Dev C++ 開發環境

附錄 E   Cygwin 開發環境
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License