內容提要
本書介紹在Windows作業系統及32位保護模式下的彙編語言實驗,包括集成開發環境的使用、分支循環、字元串處理、子程式、Windows界面編程、I/O程式設計、代碼最佳化、硬碟DMA編程、保護模式編程、緩衝區溢出、多任務和多執行緒等11個實驗。
書中提供了31個示例程式,在Windows作業系統或虛擬機中運行,以Pentium微機為基礎平台,發揮彙編語言與底層硬體聯繫緊密的特點,包括了讀取實時時鐘、直接讀取硬碟扇區和硬碟序列號、中斷程式設計、硬碟DMA傳輸等實驗,體現出彙編語言的強大功能和高效率。除此之外,還包括了代碼最佳化、緩衝區溢出、多任務、執行緒同步、遞歸編程、C/C++和彙編混合編程等與底層軟體技術相關的實驗程式。
本書可作為高等院校計算機專業及電子、電氣類相關專業本科生彙編語言程式設計、微型計算機原理與接口技術等課程的實驗教材或參考書,也可作為其他自學者或計算機專業技術人員的參考指導書。
目錄
實驗1 Windows彙編語言開發環境
1.1 彙編程式結構
1.2 Visual C/C++環境
1.3 字元串輸入與輸出
1.4 常用Windows API調用
1.5 讀取CPU標識
1.6 WinDbg調試工具
1.7 實驗題: 用MessageBox函式顯示CPU信息
實驗2 分支循環程式設計
2.1冒泡法排序
2.2 折半查找
2.3 插入數組元素
2.4 刪除數組元素
2.5 實驗題:兩個有序數組的合併實驗
實驗3 字元串/塊處理程式設計
3.1 搜尋字元
3.2 記憶體塊複製
3.3 字元串插入
3.4 實驗題:多個字元串的排序
實驗4 Windows界面編程
4.1 簡單的視窗程式
4.2 對話框及子視窗控制項
4.3 GDI編程
4.4 實驗題: 滑鼠作圖程式
實驗5 子程式設計
5.1 子程式的定義和調用
5.2 參數傳遞規則
5.3 局部變數
5.4 冪的計算
5.5 在C程式中直接嵌入彙編
5.6 C/C++程式與彙編的混合編程
5.7 實驗題:快速排序
實驗6 I/O程式設計
6.1 讀取實時時鐘
6.2 直接讀取硬碟扇區
6.3 雙機全雙工串列通信
6.4 實驗題: 讀取硬碟序列號
實驗7 程式最佳化
7.1 指令代碼的最佳化
7.2 空間最佳化處理
7.3 MMX指令
7.4 SSE指令
7.5 實驗題:圖像像素反轉最佳化
實驗8 緩衝區溢出攻擊實驗
8.1 緩衝區溢出攻擊原理
8.2 遠程緩衝區溢出攻擊
8.3 實驗題:IIS 5.0溢出漏洞實驗
實驗9 保護模式編程基礎
9.1 虛擬機開發環境
9.2 實模式與保護模式的切換
9.3 保護模式下的中斷程式設計
9.4 實驗題: 保護模式綜合實驗
實驗10 硬碟DMA編程
10.1 獲取PCI IDE配置
10.2 硬碟DMA傳輸實驗
10.3 實驗題:保護方式下的硬碟DMA傳輸實驗
實驗11 多任務和多執行緒
11.1 多任務及其調度
11.2 多執行緒編程
11.3 x86 64架構簡介
11.4 實驗題:Windows同步對象實驗
附錄A
附錄B
參考文獻