匯編語言程序設(shè)計(jì)及應(yīng)用(第2版)
定 價(jià):42 元
叢書名:高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)系列教材·普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材
- 作者:王; 著
- 出版時(shí)間:1992/8/1
- ISBN:9787040288377
- 出 版 社:高等教育出版社
- 中圖法分類:TP313
- 頁(yè)碼:522
- 紙張:膠版紙
- 版次:2
- 開本:16開
全書由基礎(chǔ)篇和應(yīng)用篇組成,全面、系統(tǒng)地闡述匯編語言程序設(shè)計(jì)及應(yīng)用;A(chǔ)篇簡(jiǎn)單介紹80x86系列微機(jī)的硬件和四種工作模式,詳細(xì)介紹80x86通用指令集實(shí)模式下可用的指令,并以MASM6.x為藍(lán)本,詳細(xì)講述匯編語言源程序的結(jié)構(gòu)和偽指令,深入討論分支、循環(huán)和子程序等基本匯編語言程序設(shè)計(jì)技術(shù)和宏指令、條件匯編、重復(fù)匯編等高級(jí)匯編語言程序技術(shù)。應(yīng)用篇介紹保護(hù)模式的有關(guān)概念、80x86微處理器與保護(hù)模式有關(guān)的硬件及專用的指令,系統(tǒng)說明設(shè)計(jì)保護(hù)模式下的程序所需的數(shù)據(jù)結(jié)構(gòu)和如何實(shí)現(xiàn)保護(hù)模式下的程序設(shè)計(jì),介紹80x86微處理器FPU的硬件、浮點(diǎn)指令集及程序設(shè)計(jì)方法,闡明匯編語言和高級(jí)語言混合編程的各種約定規(guī)則與實(shí)現(xiàn)方法,介紹三個(gè)多媒體指令集MMX、SSE和SSE2及其編程技術(shù),簡(jiǎn)單介紹了win32環(huán)境下的匯編語言程序設(shè)計(jì)方法。
《匯編語言程序設(shè)計(jì)及應(yīng)用(第2版)》內(nèi)容豐富,系統(tǒng)全面,涵蓋了匯編語言程序設(shè)計(jì)的各個(gè)方面?勺鳛槠胀ǜ咝1究朴(jì)算機(jī)及相關(guān)專業(yè)匯編語言程序設(shè)計(jì)課程教材,也適用于信息類各專業(yè)學(xué)生、自考學(xué)生、計(jì)算機(jī)應(yīng)用開發(fā)人員和希望深入學(xué)習(xí)微機(jī)應(yīng)用技術(shù)的讀者。
《匯編語言程序設(shè)計(jì)及應(yīng)用(第2版)》特色:內(nèi)容豐富,系統(tǒng)全面地介紹了80x86系列微機(jī)指令系統(tǒng)的通用指令集、浮點(diǎn)指令集和多媒體指令集,詳細(xì)闡明了實(shí)模式、保護(hù)模式和虛擬86模式程序結(jié)構(gòu)及程序設(shè)計(jì)方法,討論了浮點(diǎn)程序設(shè)計(jì)、匯編語言與高級(jí)語言混合編程以及多媒體程序設(shè)計(jì)的約定與方法。
注重理論與實(shí)踐相結(jié)合,課堂教學(xué)與實(shí)踐教學(xué)并重。全書精選例題200多道,思考題和練習(xí)題160多道,所有完整例題均精心設(shè)計(jì)并經(jīng)過上機(jī)驗(yàn)證,以便讀者加深對(duì)概念的理解和對(duì)堪本程序設(shè)計(jì)技術(shù)與常用技巧的掌握。
各章內(nèi)容可剪裁使用,適應(yīng)面寬可作為高等學(xué)校計(jì)算機(jī)及相關(guān)專業(yè)匯編語言程序設(shè)計(jì)課程教材,也可供從事系統(tǒng)開發(fā)的技術(shù)人員參考使用。
匯編語言是面向機(jī)器的語言,用匯編語言編寫的程序在時(shí)間和空間兩個(gè)方面的效率都最高,也是唯一能夠利用計(jì)算機(jī)所有硬件特性并能對(duì)其進(jìn)行直接控制的語言。對(duì)于需要軟硬件結(jié)合開發(fā)的計(jì)算機(jī)應(yīng)用系統(tǒng),如實(shí)時(shí)控制程序;計(jì)算機(jī)底層軟件的設(shè)計(jì),如操作系統(tǒng)內(nèi)核、高級(jí)語言的編譯程序、磁盤驅(qū)動(dòng)和磁盤讀寫程序;計(jì)算機(jī)中的特殊應(yīng)用場(chǎng)合,如病毒分析、加解密以及破譯軟件等程序,匯編語言更有著高級(jí)語言無法替代的作用。同時(shí)匯編語言又是計(jì)算機(jī)各專業(yè)學(xué)生掌握計(jì)算機(jī)基本知識(shí)必備的語言。
本書是普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材,參照教育部計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)制定的《計(jì)算機(jī)專業(yè)規(guī)范》對(duì)本課程的要求,在國(guó)防科技大學(xué)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)系列教材編委會(huì)的指導(dǎo)下,結(jié)合多年的教學(xué)實(shí)踐經(jīng)驗(yàn)和體會(huì),為本科教學(xué)的需要編寫而成。
匯編語言因計(jì)算機(jī)不同而異。本書以80x86系列微機(jī)作為模型機(jī)講授匯編語言程序設(shè)計(jì)的基礎(chǔ)知識(shí)、程序設(shè)計(jì)方法與技巧及其應(yīng)用技術(shù),因此必然帶有該系列微機(jī)的濃重色彩。但實(shí)踐和經(jīng)驗(yàn)證明,這是無關(guān)大局的,因?yàn)橛脜R編語言進(jìn)行程序設(shè)計(jì)的基本概念、基本技巧和基本方法是普遍適用的,掌握一種系列或型號(hào)計(jì)算機(jī)的匯編語言程序設(shè)計(jì),其他的便可觸類旁通。
本書由基礎(chǔ)篇(第一章 至第五章 )、應(yīng)用篇(第六章 至第十章 )和三個(gè)附錄組成。第一章 簡(jiǎn)單介紹80x86系列微機(jī)的硬件,它是掌握80x86系列微機(jī)指令系統(tǒng)中的通用指令集和實(shí)模式下編程的硬件基礎(chǔ)。第二章 簡(jiǎn)要介紹80x86四種工作模式的特征,詳細(xì)介紹80x86與數(shù)據(jù)有關(guān)的尋址方式以及數(shù)據(jù)傳送、算術(shù)運(yùn)算、位操作和處理器控制四類簡(jiǎn)單指令。第三章 以微軟的MASN6.x為藍(lán)本,詳細(xì)講述匯編源程序的結(jié)構(gòu),常用偽指令的格式、功能、使用方法與使用約定,以及各種操作符的使用方法。第四章 討論順序、分支、循環(huán)、子程序和系統(tǒng)功能調(diào)用等程序設(shè)計(jì)技術(shù)與技巧,并介紹與這些設(shè)計(jì)技術(shù)密切相關(guān)的程序控制類、串操作類復(fù)雜指令性語句和過程定義、模塊通信偽指令語句。第五章 闡述宏指令、條件匯編、重復(fù)匯編,介紹MASM6.O及其后續(xù)版本增加的高級(jí)語言結(jié)構(gòu)流程控制偽指令的功能及使用方法。第六章 介紹保護(hù)模式的有關(guān)概念、80386及其后繼微處理器與保護(hù)模式有關(guān)的硬件及專用的指令,系統(tǒng)說明了保護(hù)模式程序設(shè)計(jì)所需的數(shù)據(jù)結(jié)構(gòu)、程序的結(jié)構(gòu)及程序設(shè)計(jì)方法。第七章 介紹FPU的硬件、可直接處理的數(shù)據(jù)類型,闡述浮點(diǎn)指令集及程序設(shè)計(jì)方法。第八章 說明匯編語言和高級(jí)語言混合編程的各種約定規(guī)則與實(shí)現(xiàn)方法。第九章 重點(diǎn)介紹三個(gè)多媒體指令集MMX、SSE和SSE2及其編程技術(shù)。第十章 簡(jiǎn)單介紹Win32環(huán)境下的匯編語言程序設(shè)計(jì)方法。
上篇 基礎(chǔ)篇
第一章 80x86系列微機(jī)結(jié)構(gòu)組成
1.1 80x86系列微處理器結(jié)構(gòu)
1.1.1 8086CPU
1.1.2 80386CPU
1.1.3 80486CPU
1.1.4 Pentium微處理器
1.2 80x86系列微處理器的寄存器
1.2.1 8086寄存器
1.2.2 80386寄存器
1.2.3 80486寄存器
1.2.4 Pentium寄存器
1.3 80x86系列微處理機(jī)的主存儲(chǔ)器組織
1.3.1 主存概述
1.3.2 堆棧
1.4 80x86系列微處理器能直接處理的數(shù)據(jù)及其在主存儲(chǔ)器中存放
形式
小結(jié)
習(xí)題一
第二章 80x86系列微處理器尋址方式和
指令系統(tǒng)
2.1 80x86的工作模式
2.1.1 實(shí)模式
2.1.2 保護(hù)模式
2.1.3 虛擬86模式
2.1.4 系統(tǒng)管理模式
2.2 80x86指令格式
2.2.1 80x86機(jī)器指令格式
2.2.2 80x86機(jī)器指令在匯編語言中的表示方法
2.3 80x86指令尋址方式及其符號(hào)表示
2.3.1 尋址方式的有關(guān)問題
2.3.2 與數(shù)據(jù)有關(guān)的尋址方式
2.4 80x86通用指令系統(tǒng)
2.4.1 傳送類指令
2.4.2 算術(shù)運(yùn)算和輔助操作指令
2.4.3 位操作指令
2.4.4 處理器控制指令
小結(jié)
習(xí)題二
第三章 80xl蜘的宏匯編語言
3.1 概述
3.1.1 匯編語言與匯編程序
3.1.2 80x86宏匯編語言概述
3.2 匯編語言源程序語句中的域
3.2.1 標(biāo)號(hào)名字域
3.2.2 操作助記符域
3.2.3 操作數(shù)域
3.3 偽指令
3.3.1 指令集選擇偽指令
3.3.2 數(shù)據(jù)定義偽指令
3.3.3 符號(hào)定義偽指令
3.3.4 模塊定義偽指令
3.3.5 完整段定義偽指令
3.3.6 簡(jiǎn)化段定義偽指令
3.4 COM文件的源程序結(jié)構(gòu)
小結(jié)
習(xí)題三
第四章 程序設(shè)計(jì)的基本技術(shù)
4.1 順序程序設(shè)計(jì)
4.2 分支程序設(shè)計(jì)
4.2.1 與程序控制類指令有關(guān)的尋址方式
4.2.2 轉(zhuǎn)移指令
4.2.3 分支程序設(shè)計(jì)
4.3 循環(huán)程序設(shè)計(jì)
4.3.1 概述
4.3.2 循環(huán)程序設(shè)計(jì)舉例
4.4 子程序設(shè)計(jì)
4.4.1 子程序概述
4.4.2 過程定義與模塊通信及調(diào)用返回語句
4.4.3 子程序的設(shè)計(jì)方法
4.4.4 系統(tǒng)功能調(diào)用
4.4.5 子程序設(shè)計(jì)舉例
4.4.6 遞歸子程序
小結(jié)
習(xí)題四
第五章 高級(jí)匯編語言技術(shù)
5.1 宏指令的有關(guān)問題
5.1.1 宏定義
5.1.2 宏調(diào)用和宏擴(kuò)展
5.1.3 宏體中的標(biāo)號(hào)和變量
5.1.4 宏指令的嵌套
5.1.5 特殊的宏操作符
5.1.6 宏指令與子程序的區(qū)別
5.2 條件偽指令
5.2.1 條件偽指令概述
5.2.2 條件偽指令用法舉例
5.3 重復(fù)偽指令
5.3.1 數(shù)值重復(fù)偽指令REPT
5.3.2 參數(shù)值重復(fù)偽指令I(lǐng)RP
5.3.3 字符重復(fù)偽指令I(lǐng)RPC
5.3.4 中止宏的偽指令ExITM
5.4 高級(jí)語言結(jié)構(gòu)流程控制偽指令及其應(yīng)用
5.4.1 分支結(jié)構(gòu)流程控制偽指令及其應(yīng)用
5.4.2 循環(huán)結(jié)構(gòu)流程控制偽指令及其應(yīng)用
小結(jié)
習(xí)題五
下篇 應(yīng)用篇
第六章 保護(hù)模式及其程序設(shè)計(jì)
6.1 保護(hù)模式的預(yù)備知識(shí)
6.1.1 保護(hù)模式的三種地址空問
6.1.2 保護(hù)模式的段和頁(yè)
6.1.3 保護(hù)模式涉及的數(shù)據(jù)結(jié)構(gòu)及相關(guān)硬件
6.2 操作系統(tǒng)類指令
6.2.1 實(shí)模式和任何特權(quán)級(jí)下都可執(zhí)行的指令
6.2.2 實(shí)模式或保護(hù)模式O特權(quán)級(jí)下可執(zhí)行的指令
6.2.3 只能在保護(hù)模式下執(zhí)行的指令
6.3 分段管理機(jī)制
6.3.1 任務(wù)間段的保護(hù)與共享
6.3.2 虛擬地址到線性地址的轉(zhuǎn)換
6.4 保護(hù)模式下的控制轉(zhuǎn)移
6.4.1 概述
6.4.2 任務(wù)內(nèi)特權(quán)級(jí)不變的段間轉(zhuǎn)移
6.4.3 任務(wù)內(nèi)特權(quán)級(jí)變換的段間轉(zhuǎn)移
6.4.4 任務(wù)切換
6.5 保護(hù)模式程序設(shè)計(jì)舉例
6.5.1 預(yù)備知識(shí)
6.5.2 任務(wù)內(nèi)特權(quán)級(jí)不變的段間轉(zhuǎn)移實(shí)例
6.5.3 任務(wù)內(nèi)特權(quán)級(jí)變換的段間轉(zhuǎn)移實(shí)例
6.5.4 任務(wù)切換實(shí)例
6.6 分頁(yè)管理機(jī)制
6.6.1 線性地址到物理地址的轉(zhuǎn)換
6.6.2 頁(yè)級(jí)保護(hù)和對(duì)虛擬存儲(chǔ)器的支持
6.6.3 分頁(yè)管理機(jī)制舉例
6.7 中斷和異常的處理
6.7.1 中斷和異常的概念
6.7.2 異常類型及各種異常產(chǎn)生的原因
6.7.3 中斷和異常處理的控制轉(zhuǎn)移
6.7.4 演示中斷處理舉例
6.8 輸入輸出保護(hù)
6.8.1 輸入輸出保護(hù)的方法
6.8.2 重要標(biāo)志位的保護(hù)
6.8.3 演示輸入輸出保護(hù)舉例
6.9 虛擬86模式
6.9.1 進(jìn)入和離開V86模式
6.9.2 進(jìn)入和離開V86模式舉例
6.9.3 V86模式的受限指令
小結(jié)
習(xí)題六
第七章 浮點(diǎn)程序設(shè)計(jì)
7.1 預(yù)備知識(shí)
7.1.1 FPU能直接處理的數(shù)據(jù)及其有關(guān)問題
7.1.2 與編程相關(guān)的FPU的硬件
7.2 FPU的指令語句
7.2.1 傳送類指令語句
7.2.2 算術(shù)運(yùn)算類指令語句
7.2.3 超越函數(shù)類指令語句
7.2.4 比較類指令語句
7.2.5 FPU控制類指令語句
7.3 FPU匯編語言程序設(shè)計(jì)
7.3.1 FPU程序設(shè)計(jì)的兩個(gè)問題
7.3.2 FPU匯編語言程序設(shè)計(jì)
舉例
小結(jié)
習(xí)題七
第八章 匯編語言與高級(jí)語言的混合編程
8.1 混合編程的約定規(guī)則
8.1.1 命名規(guī)則
8.1.2 調(diào)用規(guī)則
8.2 MASM宏匯編語言對(duì)混合編程的支持
8.3 C/C++與匯編語言混合編程
8.3.1 模塊鏈接法
8.3.2 嵌入式匯編
8.4 Pascal與匯編語言混合編程
小結(jié)
習(xí)題八
第九章 多媒體指令及其編程
9.1 MMX指令集
9.1.1 MMX技術(shù)基礎(chǔ)
9.1.2 MMX指令集
9.1.3 MMX指令程序設(shè)計(jì)
9.2 SSE指令集
9.2.1 SSE技術(shù)基礎(chǔ)
9.2.2 SSE指令集
9.2.3 SSE指令程序設(shè)計(jì)
9.3 SSE2指令集
9.3.1 SSE2編程環(huán)境
9.3.2 SSE2指令集
9.3.3 SSE2指令程序設(shè)計(jì)
小結(jié)
習(xí)題九
第十章 wiIl32環(huán)境下匯編語言程序設(shè)計(jì)
10.1 一個(gè)例子:Helloworld
10.1.1 指令系統(tǒng)選擇
10.1.2 工作模式選擇
10.1.3 選項(xiàng)定義
10.1.4 鏈接頭文件和庫(kù)文件
10.1.5 段定義
10.2 win32應(yīng)用程序的特點(diǎn)
10.2.1 API函教
10.2.2 動(dòng)態(tài)鏈接庫(kù)
10.2.3 句柄
10.2.4 用戶界面對(duì)象
10.2.5 資源
10.2.6 控件
10.3 win32匯編程序設(shè)計(jì)方法
10.3.1 Windows系統(tǒng)的消息機(jī)制
10.3.2 windows消息的格式
10.3.3 windows程序的運(yùn)行模式
10.3.4 Windows程序設(shè)計(jì)方法
10.3.5 Windows匯編程序設(shè)計(jì)流程
10.4 應(yīng)用程序?qū)嵗?br>10.4.1 控制臺(tái)程序
10.4.2 動(dòng)態(tài)鏈接庫(kù)
小結(jié)
習(xí)題十
附錄A 80x86指令系統(tǒng)一覽表
附錄B 匯編語言程序的上機(jī)實(shí)習(xí)指導(dǎo)
附錄C DOS系統(tǒng)功能調(diào)用(INT21H)
參考文獻(xiàn)