匯編語言編程藝術以X86系列微機為背景,從簡單的Hello程序開始,系統而詳細地闡述了X86微機匯編語言編程的行種基礎知識和編程技巧,內容涉及到數據表示、存儲器管理、各種數據類型、過程、與匯編語言相關的體系結構、控制結構、文件、宏指令、位處理指令、字符串指令、MMX指令、類和對象,以及混合語言編程等,尤其是在高級匯編語言(HLA)方面,該書給予了細致深入的講解。對于有意學習X86匯編語言編程的程序員來說,這是一本難得的好書。
匯編語言編程藝術目錄
第1章 進入匯編語言的世界
1.1 本章概述
1.2 HLA程序的結構
1.3 運行第一個HLA程序
1.4 基本的HLA數據聲明
1.5 布爾值
1.6 字符值
1.7 Intel80x86處理器簡介
1.8 基本的機器指令
1.9 基本的HLA控制結構
1.10 HLA標準庫入門
1.11 關于TRY..ENDTRY的其他細節
1.12 高級匯編語言與底級匯編語言比較
1.13 更多信息
第2章 數據表示
2.1 本章概述
2.2 數字系統
2.3 十六進制數字系統
2.4 數據結構
2.5 二進制數與十六進制數的算術運算
2.6 關于數字及其表示法
2.7 位邏輯運算
2.8 二進制數和位串的邏輯運算
2.9 有符號數和無符號數
2.10 符號擴展、零擴展、壓縮和飽和
2.11 侈位和縮環移位
2.12 位域和壓縮數據
2.13 浮點運算簡介
2.14 BCD數據表示
2.15 字符
2.16 Unicode字符集
2.17 更多信息
第3章 存儲器的訪問與結構
3.1 本章概述
3.2 80x86的尋址方式
3.3 運行時存儲器的結構
3.4 HLA如何為變量分配內存
3.5 HLA對數據對齊的支持
3.6 地址表達式
3.7 類型強制轉換
3.8 寄存器類型強制轉換
3.9 棧段與PUSH及POP指令
3.10 動態內存分配和堆段
3.11 INC和DEC指令
3.12 獲取存儲器對象的地址
3.13 更多信息
第4章 常量、變量與數據類型
4.1 本章概述
4.2 一些額外的指令:INTMUL、BOUND、INTO
4.3 TBYTE數據類型
4.4 HLA常量和數值聲明
4.5 HLA和TYPE段
4.6 ENUM和HLA枚舉數據類型
4.7 指針數據類型
4.8 HLA標準庫CHARS.HHF模型
4.9 復合數據類型
4.10 字符串
4.11 HLA字符串
4.12 訪問字符中的某個字符
4.13 HLA字符串模塊和其他與字符串機關的例程
4.14 存儲器內轉換
4.15 字符集
4.16 在HLA中實現字符集
4.17 HLA字符集常量和字符集表達工
4.18 HLA HLL布爾表達式中的IN操作符
4.19 HLA標準庫對字符集的支持
4.20 在HLA程序中使用字符集
4.21 數組
4.22 在HLA程序中聲明數組
4.23 HLA數組常量
4.24 訪問一維數組的元素
4.25 多維數組
4.26 多維數組的存儲空間分配
4.27 匯編語言中多維數組元素的訪問
4.28 大數組和MASM(只適用于Windows程序員)
4.29 記錄
4.30 記錄常量
4.31 記錄數組
4.32 數組/記錄作為記錄字段
4.33 控制記錄中的字面偏移量
4.34 對齊記錄中的字段
4.35 記錄指針
4.36 聯合
4.37 匿名聯合
4.38 變量類型
4.39 聯合常量
4.40 命名空間
4.41 匯編語言中的動態數組
4.42 HLA標準庫數組支持
4.43 更多信息
第5章 過程與單元
5.1 本章概述
5.2 過程
5.3 機器狀態的保存
5.4 過程的提前返回
5.5 局部變量
5.6 其他局部和全局符號類型
5.7 參數
5.8 函數和函數的結果
5.9 遞歸
5.10 過程的向前引用
5.11 過程的底層實現與CALL指令
5.12 過程與堆棧
5.13 活動記錄
5.14 標準入口序列
5.15 標準出口序列
5.16 自動(局部)變量的底層實現
5.17 參數的度層實現
5.18 過程指針
5.19 過程參數
5.20 無類型的引用參數
5.21 管理大型程序
5.22 #INCLUDE偽指令
5.23 忽略重復的#INCLUDE操作
5.24 單元與EXTERNAL偽指令
5.25 命名空間的污染
5.26 更多信息
第6章 算術運算
6.1 本章概述
6.2 80x86的整數運算指令
6.3 算術表達式
6.4 邏輯(布爾)表達式
6.5 機器特征與運算技巧
6.6 浮點運算
6.7 浮點表達式到匯編語言的轉換
6.8 HLA標準庫對浮點算術運算的支持
6.9 算術運算小結
第7章 低級控制結構
7.1 本章概述
7.2 低級控制結構
7.3 語句標號
7.4 無條件控制轉移(JMP)
7.5 條件跳轉指令
7.6 “中級”控制結構:JT和JF
7.7 使用匯編語言實現通用控制結構
7.8 選擇
7.9 狀態機和間接跳轉
7.10 “面條式”代碼
7.11 循環
7.12 性能提高
7.13 HLA中的混合控制結構
7.14 更多信息
第8章 文件
8.1 本章概述
8.2 文件組織
8.3 順序文件
8.4 隨機訪問文件
8.5 ISAM文件
8.6 截斷文件
8.7 更多信息
第9章 高級算術運算
9.1 本章概述
9.2 多精度操作
9.3 對不同長度的操作數進行操作
9.4 十進制算術運算
9.5 表
9.6 更多信息
第10章 宏與HLA編譯時語言
10.1 本章概述
10.2 編譯時語言
10.3 #PRINT和#ERROR語句
10.4 編譯時常量和變量
10.5 編譯時表達式和操作符
10.6 編譯時函數
10.7 條件編譯(編譯時決定)
10.8 重復編譯(編譯時循環)
10.9 宏(編譯時過程)
10.10 編寫編譯時“程序”
10.11 在不同的源文件中使用宏
10.12 更多信息
第11章 位操作
11.1 本章概述
11.2 位數據
11.3 位操作指令
11.4 作為位累加器的進位標志位
11.5 位串的壓縮與解壓縮
11.6 接合位組與分布位串
11.7 壓縮的位串數組
11.8 搜索位
11.9 位的計數
11.10 倒置位串
11.11 合并位串
11.12 提取位串
11.13 搜索位模式
11.14 HLA標準庫的位模塊
11.15 更多信息
第12章 字符串指令
12.1 本章概述
12.2 80x86字符串指令
12.3 80x86字符串指令的性能
12.4 更多信息
第13章 MMX指令集
13.1 本章概述
13.2 判斷CPU是否支持MMX指令集
13.3 MMX編程環境
13.4 設計MMX指令集的目的
13.5 飽和算未能和回轉模式
13.6 MMX指令操作數
13.7 MMX技術指令
第14章 類與對象
14.1 本章概述
14.2 通用原則
14.3 HLA中的類
14.4 對象
14.5 繼承
14.6 重載
14.7 虛擬方法與靜態過程
14.8 編寫類方法和過程
14.9 對象實現
14.10 構造函數和對象初始化
14.11 析構函數
14.12 HLA的“_initialize_”和“_finalize_”字符串
14.13 抽像方法
14.14 運行時類型信息(RTTI)
14.15 調用基類的方法
14.16 更多信息
第15章 混合語言編程
15.1 本章概述
15.2 在同一程序中混合使用HLA和MASM/Gas代碼
15.3 使用Delphi/Kylix和HLA編程
15.4 使用C/C++和HLA編程
15.5 更多信息
附錄A ASCII字符集
附錄B 80x86指令集
- PC官方版
- 安卓官方手機版
- IOS官方手機版