《新概念彙編語言》是楊季文教授編著,清華大學出版社出版的普通高等教育“十一五”國家級規劃教材。
基本介紹
- 書名:新概念彙編語言
- 作者:楊季文
- ISBN:9787302476344
- 頁數:493
- 定價:69.5
- 出版社:清華大學出版社
- 出版時間:2017.10
- 裝幀:平裝
- 開本:185mm*260mm
作者簡介,特點,簡介,目錄,
作者簡介
楊季文,男,教授,蘇州大學計算機科學與技術學院碩士生導師。主要研究方向是中文信息處理、嵌入式系統及套用、智慧型化信息處理技術。曾主編《80X86彙編語言程式設計教程》一書,由清華大學出版社出版,截止到2017年7月已印刷25次,銷量8萬餘冊。
特點
全面講解IA-32結構系列(80x86系列)處理器的32位編程。
新目標:理解系統原理,提升編程技能。
新方法:依託高級語言,講解低級語言。
新平台:利用虛擬機器,運行示例代碼。
簡介
本書設定新目標,採用新方法,基於新平台,講解IA32結構系列(80x86系列)CPU的32位編程。本書分為4個部分: 第一部分利用VC 2010環境的嵌入彙編和目標代碼,介紹IA32系列(80x86系列)CPU的基本功能和32位編程技術; 第二部分利用開源彙編器NASM、開源虛擬機VirtualBox和模擬器Bochs,介紹彙編語言和計算機系統底層輸入輸出的實現方式; 第三部分詳細講解保護方式編程技術,生動展示保護方式編程細節; 第四部分簡要說明相關軟體工具的使用。
本書依託高級語言,講解低級語言;利用虛擬平台,演示系統原理。第一部分和第二部分可作為高校計算機及電子信息類專業學生學習彙編語言的教材,第三部分可作為編程愛好者學習保護方式編程技術的教材或參考書。
目錄
第1章基礎知識
1.1CPU簡介
1.1.1目標代碼
1.1.2基本功能
1.2彙編語言概念
1.2.1機器指令
1.2.2彙編格式指令
1.2.3彙編語言及其優缺點
1.3數據的表示和存儲
1.3.1數值數據的表示
1.3.2非數值數據的表示
1.3.3基本數據類型
1.3.4數據的存儲
習題
第2章IA32處理器基本功能
2.1IA32處理器簡介
2.1.1IA32系列處理器
2.1.2保護方式和實地址方式
2.2通用暫存器及使用
2.2.1通用暫存器
2.2.2簡單傳送指令
2.2.3簡單加減指令
2.2.4VC嵌入彙編和實驗
2.3標誌暫存器及使用
2.3.1標誌暫存器
2.3.2狀態標誌
2.3.3狀態標誌操作指令
2.3.4帶進位加減指令
2.4段暫存器及使用
2.4.1存儲器分段
2.4.2邏輯地址
2.4.3段暫存器
2.5定址方式
2.5.1立即定址方式和暫存器定址方式
2.5.232位的存儲器定址方式
2.5.3取有效地址指令
2.6指令指針暫存器和單控制轉移
2.6.1指令指針暫存器
2.6.2常用條件轉移指令
2.6.3比較指令和數值大小比較
2.6.4簡單的無條件轉移指令
2.7堆疊和堆疊操作
2.7.1堆疊
2.7.2堆疊操作指令
習題
第3章程式設計初步
3.1堆疊的作用
3.1.1過程調用和返回指令
3.1.2參數傳遞
3.1.3局部變數
3.2算術邏輯運算指令
3.2.1乘除運算指令
3.2.2邏輯運算指令
3.2.3移位指令
3.3分支程式設計
3.3.1分支程式設計示例
3.3.2無條件和條件轉移指令
3.3.3多路分支的實現
3.4循環程式設計
3.4.1循環程式設計示例
3.4.2循環指令
3.4.3多重循環設計舉例
3.5子程式設計
3.5.1子程式設計要點
3.5.2子程式設計舉例
3.5.3子程式調用方法
習題
第4章字元串操作和位操作
4.1字元串操作
4.1.1字元串操作指令
4.1.2重複操作前綴
4.1.3套用舉例
4.2位操作
4.2.1位操作指令
4.2.2套用舉例
4.3條件設定位元組指令
4.3.1條件設定位元組指令概述
4.3.2套用舉例
習題
第5章VC目標代碼的閱讀理解
5.1彙編語言形式的目標代碼
5.1.1基本樣式
5.1.2符號化表示
5.2C語言部分編譯的解析
5.2.1類型的轉換
5.2.2表達式求值
5.2.3指針的本質
5.2.4結構體變數
5.3C++部分功能實現細節
5.3.1引用
5.3.2通過引用傳遞參數
5.3.3函式重載
5.3.4虛函式
5.4目標程式的最佳化
5.4.1關於程式最佳化
5.4.2使大小最小化
5.4.3使速度最大化
5.4.4記憶體地址對齊
5.5C庫函式分析
5.5.1函式strlen
5.5.2函式strpbrk
5.5.3函式memset
5.6C程式的目標代碼
5.6.1Base64編碼操作
5.6.2源程式
5.6.3目標程式
習題
第6章彙編語言
6.1實方式執行環境
6.1.1暫存器和指令集
6.1.2存儲器分段管理
6.1.316位的存儲器定址方式
6.2源程式和語句
6.2.1彙編語言源程式
6.2.2語句及其格式
6.3運算元表示
6.3.1常數
6.3.2數值表達式
6.3.3有效地址
6.3.4數據類型說明
6.4偽指令語句和變數
6.4.1數據定義語句
6.4.2存儲單元定義語句
6.4.3常數符號聲明語句
6.4.4演示舉例
6.5段聲明和段間轉移
6.5.1段聲明語句
6.5.2無條件段間轉移指令
6.5.3段間過程調用和返回指令
6.6目標檔案和段模式
6.6.1目標檔案
6.6.2段模式聲明語句
6.7宏
6.7.1宏指令的聲明和使用
6.7.2單行宏的聲明和使用
6.7.3宏相關方法
習題
第7章BIOS和虛擬機
7.1BIOS及其調用
7.1.1BIOS簡介
7.1.2鍵盤輸入和顯示輸出
7.1.3套用舉例
7.2磁碟及其讀寫
7.2.1磁碟簡介
7.2.2磁碟讀寫
7.2.3主引導記錄分析
7.3虛擬機
7.3.1虛擬機工作原理
7.3.2虛擬硬碟檔案
7.3.3直接寫屏顯示方式
7.4一個簡易的載入器
7.4.1載入方法
7.4.2程式載入器
7.4.3工作程式示例
習題
第8章輸入輸出和中斷
8.1輸入輸出的基本概念
8.1.1I/O連線埠地址
8.1.2I/O指令
8.1.3數據傳送方式
8.1.4實時時鐘的存取
8.2查詢傳送方式
8.2.1查詢傳送流程
8.2.2實時時鐘的穩妥存取
8.3中斷概述
8.3.1中斷的概念
8.3.2中斷向量表
8.3.3中斷回響過程
8.3.4內部中斷
8.3.5外部中斷
8.3.6中斷優先權和中斷嵌套
8.4中斷處理程式設計
8.4.1鍵盤中斷處理程式
8.4.2除法出錯中斷處理程式
8.4.3擴展顯示I/O程式
8.4.4時鐘顯示程式
習題
第9章保護方式程式設計
9.1概述
9.1.1存儲器管理
9.1.2特權級設定
9.2分段存儲管理機制
9.2.1存儲段
9.2.2存儲段描述符
9.2.3全局和局部描述符表
9.2.4段選擇子
9.2.5邏輯地址到線性地址的轉換
9.3存儲管理暫存器和控制暫存器
9.3.1存儲管理暫存器
9.3.2控制暫存器
9.3.3相關存取指令
9.4實方式與保護方式切換示例
9.4.1實方式和保護方式切換的演示(示例一)
9.4.2不同模式代碼段切換的演示(示例二)
9.4.3局部描述符表使用的演示(示例三)
9.5分頁存儲管理機制
9.5.1存儲分頁
9.5.2線性地址到物理地址的轉換
9.5.3頁級保護和虛擬存儲器支持
9.5.4分頁存儲管理機制的演示(示例四)
9.6任務狀態段和控制門
9.6.1系統段描述符
9.6.2門描述符
9.6.3任務狀態段
9.7控制轉移
9.7.1任務內相同特權級的轉移
9.7.2相同特權級轉移的演示(示例五)
9.7.3任務內不同特權級的變換
9.7.4特權級變換的演示(示例六)
9.7.5任務切換
9.7.6任務切換的演示(示例七)
9.8中斷和異常的處理
9.8.1異常概念
9.8.2異常類型
9.8.3中斷和異常的處理
9.8.4中斷處理的演示(示例八)
9.8.5異常處理的演示(示例九)
9.9保護機制小結
9.9.1轉移途徑小結
9.9.2特權指令
習題
第10章實驗工具的使用
10.1彙編器NASM的使用
10.1.1NASM簡介
10.1.2NASM的使用
10.1.3連結器及其使用
10.2虛擬機管理器VirtualBox的使用
10.2.1VirtualBox簡介
10.2.2VirtualBox的使用
10.2.3關於硬體加速
10.3模擬器Bochs的使用
10.3.1Bochs簡介
10.3.2Bochs的配置與運行
10.3.3控制台調試
10.3.4圖形化界面調試
10.4VHDWriter的使用
參考文獻
1.1CPU簡介
1.1.1目標代碼
1.1.2基本功能
1.2彙編語言概念
1.2.1機器指令
1.2.2彙編格式指令
1.2.3彙編語言及其優缺點
1.3數據的表示和存儲
1.3.1數值數據的表示
1.3.2非數值數據的表示
1.3.3基本數據類型
1.3.4數據的存儲
習題
第2章IA32處理器基本功能
2.1IA32處理器簡介
2.1.1IA32系列處理器
2.1.2保護方式和實地址方式
2.2通用暫存器及使用
2.2.1通用暫存器
2.2.2簡單傳送指令
2.2.3簡單加減指令
2.2.4VC嵌入彙編和實驗
2.3標誌暫存器及使用
2.3.1標誌暫存器
2.3.2狀態標誌
2.3.3狀態標誌操作指令
2.3.4帶進位加減指令
2.4段暫存器及使用
2.4.1存儲器分段
2.4.2邏輯地址
2.4.3段暫存器
2.5定址方式
2.5.1立即定址方式和暫存器定址方式
2.5.232位的存儲器定址方式
2.5.3取有效地址指令
2.6指令指針暫存器和單控制轉移
2.6.1指令指針暫存器
2.6.2常用條件轉移指令
2.6.3比較指令和數值大小比較
2.6.4簡單的無條件轉移指令
2.7堆疊和堆疊操作
2.7.1堆疊
2.7.2堆疊操作指令
習題
第3章程式設計初步
3.1堆疊的作用
3.1.1過程調用和返回指令
3.1.2參數傳遞
3.1.3局部變數
3.2算術邏輯運算指令
3.2.1乘除運算指令
3.2.2邏輯運算指令
3.2.3移位指令
3.3分支程式設計
3.3.1分支程式設計示例
3.3.2無條件和條件轉移指令
3.3.3多路分支的實現
3.4循環程式設計
3.4.1循環程式設計示例
3.4.2循環指令
3.4.3多重循環設計舉例
3.5子程式設計
3.5.1子程式設計要點
3.5.2子程式設計舉例
3.5.3子程式調用方法
習題
第4章字元串操作和位操作
4.1字元串操作
4.1.1字元串操作指令
4.1.2重複操作前綴
4.1.3套用舉例
4.2位操作
4.2.1位操作指令
4.2.2套用舉例
4.3條件設定位元組指令
4.3.1條件設定位元組指令概述
4.3.2套用舉例
習題
第5章VC目標代碼的閱讀理解
5.1彙編語言形式的目標代碼
5.1.1基本樣式
5.1.2符號化表示
5.2C語言部分編譯的解析
5.2.1類型的轉換
5.2.2表達式求值
5.2.3指針的本質
5.2.4結構體變數
5.3C++部分功能實現細節
5.3.1引用
5.3.2通過引用傳遞參數
5.3.3函式重載
5.3.4虛函式
5.4目標程式的最佳化
5.4.1關於程式最佳化
5.4.2使大小最小化
5.4.3使速度最大化
5.4.4記憶體地址對齊
5.5C庫函式分析
5.5.1函式strlen
5.5.2函式strpbrk
5.5.3函式memset
5.6C程式的目標代碼
5.6.1Base64編碼操作
5.6.2源程式
5.6.3目標程式
習題
第6章彙編語言
6.1實方式執行環境
6.1.1暫存器和指令集
6.1.2存儲器分段管理
6.1.316位的存儲器定址方式
6.2源程式和語句
6.2.1彙編語言源程式
6.2.2語句及其格式
6.3運算元表示
6.3.1常數
6.3.2數值表達式
6.3.3有效地址
6.3.4數據類型說明
6.4偽指令語句和變數
6.4.1數據定義語句
6.4.2存儲單元定義語句
6.4.3常數符號聲明語句
6.4.4演示舉例
6.5段聲明和段間轉移
6.5.1段聲明語句
6.5.2無條件段間轉移指令
6.5.3段間過程調用和返回指令
6.6目標檔案和段模式
6.6.1目標檔案
6.6.2段模式聲明語句
6.7宏
6.7.1宏指令的聲明和使用
6.7.2單行宏的聲明和使用
6.7.3宏相關方法
習題
第7章BIOS和虛擬機
7.1BIOS及其調用
7.1.1BIOS簡介
7.1.2鍵盤輸入和顯示輸出
7.1.3套用舉例
7.2磁碟及其讀寫
7.2.1磁碟簡介
7.2.2磁碟讀寫
7.2.3主引導記錄分析
7.3虛擬機
7.3.1虛擬機工作原理
7.3.2虛擬硬碟檔案
7.3.3直接寫屏顯示方式
7.4一個簡易的載入器
7.4.1載入方法
7.4.2程式載入器
7.4.3工作程式示例
習題
第8章輸入輸出和中斷
8.1輸入輸出的基本概念
8.1.1I/O連線埠地址
8.1.2I/O指令
8.1.3數據傳送方式
8.1.4實時時鐘的存取
8.2查詢傳送方式
8.2.1查詢傳送流程
8.2.2實時時鐘的穩妥存取
8.3中斷概述
8.3.1中斷的概念
8.3.2中斷向量表
8.3.3中斷回響過程
8.3.4內部中斷
8.3.5外部中斷
8.3.6中斷優先權和中斷嵌套
8.4中斷處理程式設計
8.4.1鍵盤中斷處理程式
8.4.2除法出錯中斷處理程式
8.4.3擴展顯示I/O程式
8.4.4時鐘顯示程式
習題
第9章保護方式程式設計
9.1概述
9.1.1存儲器管理
9.1.2特權級設定
9.2分段存儲管理機制
9.2.1存儲段
9.2.2存儲段描述符
9.2.3全局和局部描述符表
9.2.4段選擇子
9.2.5邏輯地址到線性地址的轉換
9.3存儲管理暫存器和控制暫存器
9.3.1存儲管理暫存器
9.3.2控制暫存器
9.3.3相關存取指令
9.4實方式與保護方式切換示例
9.4.1實方式和保護方式切換的演示(示例一)
9.4.2不同模式代碼段切換的演示(示例二)
9.4.3局部描述符表使用的演示(示例三)
9.5分頁存儲管理機制
9.5.1存儲分頁
9.5.2線性地址到物理地址的轉換
9.5.3頁級保護和虛擬存儲器支持
9.5.4分頁存儲管理機制的演示(示例四)
9.6任務狀態段和控制門
9.6.1系統段描述符
9.6.2門描述符
9.6.3任務狀態段
9.7控制轉移
9.7.1任務內相同特權級的轉移
9.7.2相同特權級轉移的演示(示例五)
9.7.3任務內不同特權級的變換
9.7.4特權級變換的演示(示例六)
9.7.5任務切換
9.7.6任務切換的演示(示例七)
9.8中斷和異常的處理
9.8.1異常概念
9.8.2異常類型
9.8.3中斷和異常的處理
9.8.4中斷處理的演示(示例八)
9.8.5異常處理的演示(示例九)
9.9保護機制小結
9.9.1轉移途徑小結
9.9.2特權指令
習題
第10章實驗工具的使用
10.1彙編器NASM的使用
10.1.1NASM簡介
10.1.2NASM的使用
10.1.3連結器及其使用
10.2虛擬機管理器VirtualBox的使用
10.2.1VirtualBox簡介
10.2.2VirtualBox的使用
10.2.3關於硬體加速
10.3模擬器Bochs的使用
10.3.1Bochs簡介
10.3.2Bochs的配置與運行
10.3.3控制台調試
10.3.4圖形化界面調試
10.4VHDWriter的使用
參考文獻