出版時間:2012-12 出版社:清華大學出版社 作者:錢曉捷 頁數(shù):281 字數(shù):446000
內(nèi)容概要
《高等學校計算機課程規(guī)劃教材:基于Windows環(huán)境的匯編語言程序設(shè)計》以32位英特爾80×86處理器和個人計算機為硬件平臺,主要介紹基于Windows操作系統(tǒng)的DOS模擬環(huán)境軟件平臺,借助微軟MASM匯編程序講解匯編語言程序設(shè)計,內(nèi)容包括基本的匯編語言基礎(chǔ)、常用處理器指令和匯編語言偽指令,以及順序、分支、循環(huán)、子程序結(jié)構(gòu),最后引申到32位Windows編程、與C++語言的混合編程,以及浮點、多媒體及64位指令等方面。
《高等學校計算機課程規(guī)劃教材:基于Windows環(huán)境的匯編語言程序設(shè)計》可以作為普通高?!皡R編語言程序設(shè)計”等課程的教材或參考書,適合計算機及電子、通信和自控等電類專業(yè)的本科學生,也適合軟件學院、計算機等電類專業(yè)的高職、成教學生本科或者??茖W生。計算機應(yīng)用開發(fā)人員、希望深入學習匯編語言的普通讀者也可以作為入門教材。
書籍目錄
第1章 匯編語言基礎(chǔ)
1.1 英特爾80×86處理器
1.1.1 16位80×86處理器
1.1.2 IA-32處理器
1.1.3 Intel 64處理器
1.2 個人計算機系統(tǒng)
1.2.1 硬件組成
1.2.2 寄存器
1.2.3 存儲器組織
1.2.4 程序設(shè)計語言
1.2.5 軟件系統(tǒng)
1.3 匯編語言程序格式
1.3.1 指令代碼格式
1.3.2 語句格式
1.3.3 源程序格式
1.3.4 開發(fā)過程
習題1
第2章 數(shù)據(jù)表示和尋址
2.1 數(shù)據(jù)表示
2.1.1 數(shù)制
2.1.2 數(shù)值的編碼
2.1.3 字符的編碼
2.2 常量表達
2.3 變量應(yīng)用
2.3.1 變量定義
2.3.2 變量屬性
2.4 數(shù)據(jù)尋址方式
2.4.1 立即數(shù)尋址
2.4.2 寄存器尋址
2.4.3 存儲器尋址
2.4.4 數(shù)據(jù)尋址的組合
習題2
第3章 通用數(shù)據(jù)處理指令
3.1 數(shù)據(jù)傳送類指令
3.1.1 通用傳送指令
3.1.2 堆棧操作指令
3.1.3 其他傳送指令
3.2 算術(shù)運算類指令
3.2.1 狀態(tài)標志
3.2.2 加法指令
3.2.3 減法指令
3.2.4 乘法和除法指令
3.2.5 其他運算指令
3.3 位操作類指令
3.3.1 邏輯運算指令
3.3.2 移位指令
習題3
第4章 程序結(jié)構(gòu)
4.1 順序程序結(jié)構(gòu)
4.2 分支程序結(jié)構(gòu)
4.2.1 無條件轉(zhuǎn)移指令
4.2.2 條件轉(zhuǎn)移指令
4.2.3 單分支結(jié)構(gòu)
4.2.4 雙分支結(jié)構(gòu)
4.2.5 多分支結(jié)構(gòu)
4.3 循環(huán)程序結(jié)構(gòu)
4.3.1 循環(huán)指令
4.3.2 計數(shù)控制循環(huán)
4.3.3 條件控制循環(huán)
4.3.4 多重循環(huán)
4.3.5 串操作指令
習題4
第5章 模塊化程序設(shè)計
5.1 子程序結(jié)構(gòu)
5.1.1 子程序指令
5.1.2 子程序設(shè)計
5.2 參數(shù)傳遞
……
第6章 Windows編程
第7章 與VisualC++的混合編程
第8章 浮點、多媒體及64位指令
附錄A 調(diào)試程序CodeView
附錄B 常用DOS功能調(diào)用
附錄C 輸入輸出子程序庫
附錄D 32位通用指令列表
附錄E MASM偽指令和操作符列表
附錄F 列表文件符號說明
附錄G 常見匯編錯誤信息
參考文獻
章節(jié)摘錄
版權(quán)頁: 插圖: (1)平展存儲模型(Flat Memory Model) 平展存儲模型下,對程序來說存儲器是一個連續(xù)的地址空間,被稱為線性地址空間。程序需要的代碼、數(shù)據(jù)和堆棧都包含在這個地址空間中。線性地址空間也以字節(jié)為基本存儲單位,即每個存儲單元保存一個字節(jié)、具有一個地址,這個地址被稱為線性地址(Linear Address)。IA—32處理器支持的線性地址空間是0~232—1(4GB容量)。 (2)段式存儲模型(Segmented Memory Model) 段式存儲模型下,對程序來說存儲器由一組獨立的地址空間組成,這個地址空間被稱為段(Segment)。通常,代碼、數(shù)據(jù)和堆棧處于分開的段中。程序利用邏輯地址(Logical Address)尋址段中的每個字節(jié)單元,每個段都可以達到4GB。 在處理器內(nèi)部,所有的段都被映射到線性地址空間。程序訪問一個存儲單元時,處理器會將邏輯地址轉(zhuǎn)換成線性地址。使用段式存儲模型的主要原因,是為了增加程序的可靠性。例如將堆棧安排在分開的段中,可以防止堆棧區(qū)域增加時侵占代碼或數(shù)據(jù)空間。 (3)實地址存儲模型(Real—address Memory Model) 實地址存儲模型是8086處理器的存儲模型。IA—32處理器之所以支持這種存儲模型,是為了兼容原為8086處理器編寫的程序。實地址存儲模型是段式存儲模型的特例,其線性地址空間最大為1MB容量,由最大為64KB的多個段組成。 2.工作方式 編寫程序時,程序員還需要明確處理器執(zhí)行代碼的工作方式,因為工作方式?jīng)Q定了可以使用的指令和使用的存儲模型。IA一32處理器支持3種基本的工作方式(操作模式):保護方式、實地址方式和系統(tǒng)管理方式。 (1)保護方式(Protected Mode,PM) 保護方式是IA—32處理器固有的工作狀態(tài)。在保護方式下,IA—32處理器能夠發(fā)揮其全部功能,可以充分利用其強大的段頁式存儲管理和特權(quán)與保護能力。保護方式下,IA—32處理器可以使用全部32條地址總線,可尋址4GB物理存儲器。 IA—32處理器從硬件上實現(xiàn)了特權(quán)的管理功能,方便操作系統(tǒng)使用。它為不同程序設(shè)置了4個特權(quán)層(Privilege Level):0~3(數(shù)值小表示特權(quán)級別高,所以特權(quán)層0級別最高)。例如,特權(quán)層0用于操作系統(tǒng)中負責存儲管理、保護和存取控制部分的核心程序,特權(quán)層1用于操作系統(tǒng),特權(quán)層2可專用于應(yīng)用子系統(tǒng)(數(shù)據(jù)庫管理系統(tǒng)、辦公自動化系統(tǒng)和軟件開發(fā)環(huán)境等),應(yīng)用程序使用特權(quán)層3。這樣,系統(tǒng)核心程序、操作系統(tǒng)、其他系統(tǒng)軟件以及應(yīng)用程序,可以根據(jù)需要分別處于不同的特權(quán)層而得到相應(yīng)的保護。當然,在沒有必要時不一定使用所有的特權(quán)層。例如,在PC中,Windows操作系統(tǒng)處于特權(quán)層0,應(yīng)用程序則處于特權(quán)層3。
編輯推薦
《高等學校計算機課程規(guī)劃教材:基于Windows環(huán)境的匯編語言程序設(shè)計》具有以下特點: 1.簡單易用的開發(fā)環(huán)境。為了方便教學和初學者入門,《高等學校計算機課程規(guī)劃教材:基于Windows環(huán)境的匯編語言程序設(shè)計》構(gòu)建了一個簡單易用的開發(fā)環(huán)境(詳見《高等學校計算機課程規(guī)劃教材:基于Windows環(huán)境的匯編語言程序設(shè)計》第1章),無須安裝和配置,直接復制就可使用。它支持16位DOS環(huán)境和32位Windows控制臺,提供MASM匯編程序、連接程序、CodeView調(diào)試程序及其幫助文檔,配套輸入輸出子程序庫及方便操作的批處理文件等。另外,第6章和第7章分別引出了MASM32和VisualC++集成化開發(fā)系統(tǒng),說明使用匯編語言開發(fā)32位Windows應(yīng)用程序和混合編程的方法?! ?.重點明確的教學內(nèi)容。本書不是詳盡展開所有處理器指令、全部匯編偽指令,而是選擇處理器通用的基本指令和反映匯編語言特色的常用偽指令;沒有引出復雜的程序格式,而是側(cè)重編程思想和技術(shù)。這樣一方面能夠降低教學難度、易于學生掌握,另一方面使得教學內(nèi)容更加實用、便于學生實際應(yīng)用?! ?.突出實踐的教學過程。本書以約70個例題程序和約60個習題程序貫穿教學內(nèi)容?! ?.循序漸進的教學原則。為了便于學生理解和掌握,也便于教師實施教學,本書以“循序漸進、難點分散、前后對照”為原則,做到“語言淺顯、描述詳盡、圖表準確”,內(nèi)容編排形成諸多特色。
圖書封面
評論、評分、閱讀與下載
基于Windows環(huán)境的匯編語言程序設(shè)計 PDF格式下載