目錄
1章 微電腦系統介紹1
1-1 微電腦系統的歷史演進2 1-1-1 CPU的先驅INTEL2 1-1-2 另一個巨人MOTOROLA2 1-1-3 新的組合3 1-1-4 Pentium II的推出3 1-1-5 多重核心處理器的誕生5 1-2 基本數位系統6 1-3 資料表示與轉換7 1-3-1 數字系統轉換7 1-3-2 負數與補數13 1-3-3 位元(BIT)與位元組(BYTE)的觀念16 1-3-4 ASCII碼的介紹16 1-3-5 如何觀察記憶體的內容18 1-3-6 記憶體空間的計算18 1-3-7 由位址計算記憶體大小19
習 題22
2章 CPU內部架構介紹27
2-1 8086的內部結構28 2-1-1 8088的內部結構28 2-1-2 8088的管線處理29 2-2 機器碼與組合語言30 2-3 暫存器結構31 2-3-1 8088的暫存器31 2-3-2 一般暫存器結構31 2-3-3 區段暫存器和指位暫存器33 2-3-4 STACK(堆疊)的觀念35 2-3-5 旗標暫存器(Flag Register)36 2-4 80386/486 32位元暫存器40 2-5 分段式的記憶體管理41 2-6 資料在記憶體的儲存方式43 2-7 位址在記憶體的儲存方式44 2-8 定址模式44
習 題52
3章 組合語言程式之開發61
3-1 原始程式轉換成可執行碼的方式62 3-2 可執行檔案執行的步驟63 3-3 可執行程式產生的步驟63 3-4 組合語言中的附檔名介紹64
3-5 Debug程式介紹65 3-5-1 Debug指令的介紹66 3-5-2 利用Debug撰寫程式67 3-5-3 利用Debug指令G執行程式68 3-5-4 程式的命名與存檔69 3-5-5 程式的反組譯69 3-5-6 組合語言指令的簡單介紹70 3-5-7 在Debug之下修改程式71 3-5-8 單步執行及觀察暫存器內容73 3-5-9 利用D指令觀察記憶體內容77 3-5-10 Debug指令綜合練習78
3-6 啟動MASM82 3-6-1 前 言82 3-6-2 MASM的操作82 3-6-3 LST檔的內容83 3-6-4 交互參考檔的產生86 3-7 LINK連結程式的操作87 3-7-1 前 言87 3-7-2 MAP檔的討論88 3-8 MASM6.X版的組譯與連結92 3-8-1 前 言92 3-8-2 使用ML來組譯連結程式95
習 題99
4章 組合語言程式結構103
4-1 組合語言程式概論104 4-2 組合語言指令格式104 4-3 MASM的演進106 4-4 MASM4.X版中程式的格式106 4-5 MASM5.X版中程式的格式113 4-6 MASM6.X版中程式撰寫的格式115
習 題118
5章 虛擬指令與資料轉移傳送指令124
5-1 前 言124 5-2 虛擬指令介紹124 5-2-1 列表機虛擬指令介紹124 5-2-2 區段定義虛擬指令124 5-2-3 資料虛擬指令125 5-2-4 其他虛擬指令127
5-3 資料轉移傳送指令127 5-3-1 前 言127 5-3-2 一般傳送資料指令128 5-3-3 堆疊資料存取指令130 5-3-4 位址資料傳送指令132 5-3-5 I/O埠資料傳送指令134 5-3-6 旗標內含傳送指令135 5-3-7 資料查表指令136
習 題138
6章 算術及邏輯運算指令141
6-1 算術運算指令142 6-1-1 加法指令142 6-1-2 減法指令145 6-1-3 乘法指令149 6-1-4 除法指令152 6-1-5 有號數擴展指令152 6-2 邏輯運算指令154
習 題161
7章 程式流程控制167
7-1 前 言168 7-1-1 無條件跳躍指令JMP168 7-1-2 比較指令CMP168 7-1-3 有條件跳躍指令169
7-2 旗標設定指令174 7-2-1 進位旗標設定指令174 7-2-2 方向旗標設定指令176 7-2-3 中斷旗標設定指令179
7-3 迴圈指令179
7-4 程序(Procedure)定義與呼叫182 7-4-1 副程式的定義182 7-4-2 副程式的呼叫183 7-4-3 檔內呼叫184 7-4-4 檔外呼叫185 7-4-5 參數的傳遞188
7-5 中斷型態與應用191 7-5-1 何謂中斷191 7-5-2 中斷的種類191 7-5-3 中斷向量表192 7-5-4 中斷服務程式起始位址的計算194 7-5-5 軟體的中斷要求195
習 題197
8章 巨集組譯201
8-1 巨集簡介202 8-2 巨集的定義202 8-3 巨集展開203 8-4 巨集的程式庫206 8-5 INCLUDE指令的使用208 8-6 巨集的參數傳遞211 8-7 條件式巨集組譯214 8-8 巨集指令與副程式之比較216
習 題217
9章 基本資料運算處理與應用219
9-1 前 言220
9-2 字串運算處理220 9-2-1 字串搬移指令220 9-2-2 字串比較指令223 9-2-3 字串搜尋指令225 9-2-4 字串載入指令227 9-2-5 字串儲存指令228 9-2-6 前置重複指令230
9-3 位元運算處理230 9-3-1 位元平移指令230 9-3-2 位元旋轉指令233
9-4 BCD碼及ASCII碼之轉換處理237 9-4-1 BCD碼介紹237 9-4-2 未包裝運算調整指令238 9-4-3 包裝運算調整指令243
習 題245
10章 基本週邊設備輸入輸出控制249
10-1 前 言250 10-2 螢幕輸出顯示控制250 10-2-1 DOS的螢幕服務250 10-2-2 BIOS的螢幕服務252 10-2-3 文字模式與繪圖模式252 10-2-4 螢幕顯像原理252 10-2-5 單色繪圖顯示卡253 10-2-6 BIOS INT 10H的螢幕處理257
10-3 磁碟及檔案控制262 10-3-1 DOS的磁碟架構262 10-3-2 磁片的系統區與資料區263 10-3-3 檔案目錄265 10-3-4 檔案配置表266
10-4 鍵盤輸入控制267 10-4-1 DOS的鍵盤服務267 10-2-4 BIOS的鍵盤服務273
10-5 印表機輸出控制278 10-5-1 DOS的印表機服務278 10-5-2 BIOS的印表機服務279
10-6 記憶體管理控制281 10-6-1 記憶體種類介紹281 10-6-2 各種常用記憶體規格介紹282 10-6-3 記憶體的擴充284 10-6-4 .COM檔的介紹285 10-6-5 .EXE 檔介紹285 10-6-6 MCB的介紹288 10-6-7 記憶體的配置管理287 10-6-8 常駐程式289 10-6-9 中斷服務程式ISR290 10-6-10 撰寫新的ISR290 10-6-11 更換系統原先的ISR292 10-6-12 攔截修改系統的ISR295
習 題297 |