出版時(shí)間:2003-6 出版社:大連理工大學(xué)出版社 作者:雷印勝,秦然,賈萍 編著
內(nèi)容概要
匯編語(yǔ)言是從事計(jì)算機(jī)系統(tǒng)開發(fā)必備的程序開發(fā)技術(shù)之一,它屬于低級(jí)語(yǔ)言,能夠直接操作計(jì)算機(jī)硬件,是其他語(yǔ)言不能取代的。 本書內(nèi)容由基本篇、提高篇和自測(cè)篇三部分組成,第一部分講述了“其工作原理、內(nèi)部結(jié)構(gòu)、尋址方式和指令系統(tǒng),并用較大的篇幅介紹了簡(jiǎn)單程序和復(fù)雜程序設(shè)計(jì)實(shí)例。第二部分為提高篇,以80386微處理器為講述對(duì)象,詳細(xì)介紹了它的基本工作原理、新增指令集和3種工作模式,并用多個(gè)應(yīng)用例子介紹了基于于80386CPU的編程技巧。第三部分為檢驗(yàn)學(xué)習(xí)效果,本書給出了兩套自測(cè)試卷及其參考答案。
書籍目錄
第1章 微型計(jì)算機(jī)系統(tǒng)概述 1.1 微型計(jì)算機(jī)系統(tǒng)簡(jiǎn)介 1.1.1 微型計(jì)算機(jī)發(fā)展史 1.1.2 微型計(jì)算機(jī)應(yīng)用領(lǐng)域 1.2 微型計(jì)算機(jī)系統(tǒng)基本組成 1.2.1 微型計(jì)算機(jī)軟硬件概念 1.2.2 微型計(jì)算機(jī)結(jié)構(gòu) 1.2.3 CISC機(jī)和RISC機(jī) 1.3 習(xí)題與綜合練習(xí)第2章 微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) 2.1 8086/8088微處理器 2.1.1 CPU結(jié)構(gòu) 2.1.2 寄存器結(jié)構(gòu) 2.2 工作模式 2.2.1 最小工作模式 2.2.2 最大工作模式 2.3 工作過(guò)程 2.4 一個(gè)完整的源程序 2.5 習(xí)題與綜合練習(xí)第3章 8086/8088指令系統(tǒng) 3.1 尋址方式 3.1.1 操作數(shù)類型 3.1.2 尋址方式 3.2 指令系統(tǒng) 3.2.1 數(shù)據(jù)傳送指令 3.2.2 算術(shù)運(yùn)算指令 3.2.3 邏輯運(yùn)算指令 3.2.4 移位指令 3.2.5 轉(zhuǎn)移指令 3.2.6 字符串操作指令 3.2.7 處理器控制指令 3.2.8 輸入輸出指令 3.2.9 中斷指令 3.3 高級(jí)匯編語(yǔ)言技術(shù) 3.3.1 匯編語(yǔ)言語(yǔ)句類型“ 3.3.2 匯編語(yǔ)言偽指令 3.3.3 匯編語(yǔ)言程序設(shè)計(jì) 3.3.4 結(jié)構(gòu)和記錄 3.3.5 條件匯編與宏操作偽指令 3.4 DOS系統(tǒng)功能調(diào)用及程序設(shè)計(jì) 3.4.1 概述 3.4.2 DOS功能調(diào)用分組 3.4.3 常用的DOS INT 21H功能調(diào)用 3.4.4 磁盤文件管理 3.5 BIOS功能調(diào)用 3.5.1 概述 3.5.2 常用BIOS功能調(diào)用 3.5.3 圖形顯示程序設(shè)計(jì) 3.6 習(xí)題與綜合練習(xí)第4章 基本程序設(shè)計(jì) 4.1 順序程序設(shè)計(jì) 4.1.1 存儲(chǔ)單元內(nèi)容移位 4.1.2 乘法運(yùn)算與乘10運(yùn)算 4.1.3 屏蔽與組合 4.1.4 字節(jié)分離 4.1.5 單字節(jié)壓縮BCD數(shù)加法運(yùn)算 4.1.6 兩字節(jié)的二進(jìn)制數(shù)加法運(yùn)算 4.1.7 取數(shù)的反碼和補(bǔ)碼 4.1.8 F方表 4.2 分支程序設(shè)計(jì) 4.2.1 單重分支結(jié)構(gòu)程序 4.2.2 多重分支結(jié)構(gòu)程序 4.3 循環(huán)程序設(shè)計(jì) 4.3.1 循環(huán)程序的結(jié)構(gòu) 4.3.2 單重循環(huán)程序 4.3.3 多重循環(huán)程序 4.3.4 循環(huán)次數(shù)未知的循環(huán)程序 4.3.5 “位”控制循環(huán)程序 4.4 子程序設(shè)計(jì) 4.4.1 子程序與主程序 4.4.2 子程序段內(nèi)調(diào)用和返回 4.4.3 子程序段間調(diào)用和返回 4.4.4 調(diào)用程序和子程序間的參數(shù)傳遞 4.4.5 寄存器內(nèi)容的保護(hù) 4.4.6 子程序的嵌套使用 4.4.7 關(guān)于遞歸子程序、可重入子程序 4.5 具有模塊結(jié)構(gòu)的程序設(shè)計(jì) 4.5.1 概述 4.5.2 模塊的組合方式 4.5.3 模塊間的通信 4.5.4 模塊化程序設(shè)計(jì)的注意點(diǎn) 4.5.5 模塊化程序設(shè)計(jì)舉例 4.6 習(xí)題與綜合練習(xí)第5章 復(fù)雜程序設(shè)計(jì) 5.1 定點(diǎn)數(shù)算術(shù)運(yùn)算程序 5.1.1 定點(diǎn)數(shù)運(yùn)算的概念 5.1.2 定點(diǎn)數(shù)加法運(yùn)算 5.1.3 定點(diǎn)數(shù)減法運(yùn)算 5.1.4 定點(diǎn)數(shù)乘法運(yùn)算 5.1.5 定點(diǎn)數(shù)除法運(yùn)算 5.2 浮點(diǎn)數(shù)算術(shù)運(yùn)算程序 5.2.1 浮點(diǎn)數(shù)概念 5.2.2 浮點(diǎn)數(shù)的規(guī)格化 5.2.3 浮點(diǎn)數(shù)加減運(yùn)算 5.2.4 浮點(diǎn)數(shù)乘除運(yùn)算 5.3 代碼轉(zhuǎn)換 5.3.1 二進(jìn)制數(shù)與ASCⅡ碼間的相互轉(zhuǎn)換 5.3.2 二進(jìn)制數(shù)與BCD碼間的相互轉(zhuǎn)換 5.3.3 二進(jìn)制數(shù)到七段顯示碼的轉(zhuǎn)換 5.4 字符數(shù)據(jù)處理 5.4.1 字符串比較 5.4.2 字符串檢索 5.4.3 字符刪除與插入 5.4.4 字符串統(tǒng)計(jì) 5.5 表處理 5.5.1 表的查詢 5.5.2 表的插入與刪除 5.6 檢索 5.6.1 順序檢索 5.6.2 折半檢索 5.6.3 散列值檢索 5.7 排序 5.7.1 交換排序 5.7.2 選擇排序 5.7.3 插入排序 5.8 習(xí)題與綜合練習(xí)第6章 匯編語(yǔ)言的一些特殊命令用法 6.1.EXE文件和.COM文件 6.2 程序段前綴 6.3 匯編程序(ASM,MASM) 6.3.1 匯編程序的類別 6.3.2 匯編過(guò)程 6.3.3 運(yùn)行環(huán)境 6.3.4 操作過(guò)程 6.3.5 匯編操作舉例 6.4 連接程序(LINK) 6.4.1 連接程序的作用 6.4.2 連接過(guò)程 6.4.3 LINK的使用與操作 6.5 調(diào)試程序(DEBUG) 6.5.1 DEBUG的功能及其啟動(dòng) 6.5.2 DEBUG各命令的用法 6.5.3 應(yīng)用舉例 6.6 符號(hào)調(diào)試程序SYMDEB簡(jiǎn)介 6.7 上機(jī)操作輔助程序介紹 6.7.1 顯示(或打印)單個(gè)字符 6.7.2 顯示字符串 6.7.3 鍵入單個(gè)字符 6.7.4 鍵入字符串 6.7.5 程序正常結(jié)束 6.8 匯編語(yǔ)言與高級(jí)語(yǔ)言的連接 6.8.1 TURBO C調(diào)用匯編子程序 6.8.2 TURBO C行間嵌入?yún)R編 16.9 習(xí)題與綜合練習(xí)第7章 80386程序設(shè)計(jì)基礎(chǔ) 7.1 實(shí)地址方式 7.2 80386寄存器 7.2.1 通用寄存器 7.2.2 段寄存器和段描述符寄存器 7.2.3 指令指針和標(biāo)志寄存器 7.3 80386存儲(chǔ)器尋址 7.3.1 存儲(chǔ)器尋址基本概念 7.3.2 靈活的存儲(chǔ)器尋址方式 7.3.3 支持各種數(shù)據(jù)結(jié)構(gòu) 7.4 80386指令集 7.4.1 數(shù)據(jù)傳送指令 7.4.2 算術(shù)運(yùn)算指令 7.4.3 邏輯運(yùn)算和移位指令 7.4.4 控制轉(zhuǎn)移指令 7.4.5 串操作指令 7.4.6 高級(jí)語(yǔ)言支持指令 7.4.7 條件字節(jié)設(shè)置指令 7.4.8 位操作指令 7.4.9 處理器控制指令 7.5 實(shí)地址方式下的程序設(shè)計(jì) 7.5.1 說(shuō)明 7.5.2 實(shí)例 7.6 操作系統(tǒng)類指令 7.6.1 實(shí)地址方式和任何特權(quán)級(jí)下可執(zhí)行的指令 7.6.2 實(shí)地址方式及特權(quán)級(jí)0下可執(zhí)行的指令 7.6.3 只能在保護(hù)虛地址方式下執(zhí)行的指令 7.6.4 顯示關(guān)鍵寄存器內(nèi)容的實(shí)例 7.6.5 被包含文件386SCD.ASM 7.6.6 特權(quán)指令 7.7 習(xí)題與綜合練習(xí)-第8章 保護(hù)虛地址方式下的80386及其編程 8.1 保護(hù)虛地址方式簡(jiǎn)介 8.1.1 存儲(chǔ)管理機(jī)制 8.1.2 保護(hù)機(jī)制 8.2 分段管理機(jī)制 8.2.1 段定義和虛擬地址到線性地址轉(zhuǎn)換 8.2.2 存儲(chǔ)段描述符 8.2.3 全局和局部描述符表 8.2.4 段選擇子 8.2.5 段描述符高速緩沖寄存器 8.3 80386控制寄存器和系統(tǒng)地址寄存器 8.3.1 控制寄存器 8.3.2 系統(tǒng)地址寄存器 8.4 實(shí)地址方式與保護(hù)虛地址方式切換實(shí)例 8.4.1 演示實(shí)地址和保護(hù)虛地址切換的實(shí)例 8.4.2 演示32位代碼段和16位代碼段切換的實(shí)例 8.5 任務(wù)狀態(tài)段和控制門 8.5.1 系統(tǒng)段描述符 8.5.2 門描述符 8.5.3 任務(wù)狀態(tài)段 8.6 控制轉(zhuǎn)移 8.6.1 任務(wù)內(nèi)無(wú)特權(quán)級(jí)變換的轉(zhuǎn)移 8.6.2 演示任務(wù)內(nèi)無(wú)特權(quán)級(jí)變換轉(zhuǎn)移的實(shí)例 8.7 分頁(yè)管理機(jī)制 8.7.1 存儲(chǔ)器分頁(yè)管理機(jī)制 8.7.2 線性地址到物理地址的轉(zhuǎn)換 8.7.3 頁(yè)級(jí)保護(hù)和虛擬存儲(chǔ)器支持 8.7.4 頁(yè)異常 8.7.5 演示分頁(yè)機(jī)制的實(shí)例 8.8 輸入/輸出保護(hù) 8.8.1 輸入/輸出保護(hù) 8.8.2 重要標(biāo)志保護(hù) 8.8.3 演示輸入/輸出保護(hù)的實(shí)例 8.9 80386的中斷和異常 8.9.180386的中斷和異常 8.9.2 異常類型 8.9.3 中斷和異常的轉(zhuǎn)移方法 8.9.4 演示中斷處理的實(shí)例 8.10 虛擬8086方式 8.10.1 V86方式 8.10.2 進(jìn)入和離開V86方式 8.10.3 演示進(jìn)入和離開V86方式的實(shí)例 8.10.4 V86方式下的敏感指令 8.11 習(xí)題與綜合練習(xí)自測(cè)試卷(一)自測(cè)試卷(二)
章節(jié)摘錄
插圖:8086/8088也可以按最大工作模式來(lái)配置系統(tǒng)。當(dāng)MN/MX線接地,則系統(tǒng)就工作于最大工作模式了。這里我們先簡(jiǎn)要說(shuō)明什么是最大工作模式,它和最小工作模式有何區(qū)別。在上面討論的8086/8088最小方式系統(tǒng)中,8086/8088CPU的引腳直接提供所有必須的總線控制信號(hào),這種方式適合于單處理器組成的小系統(tǒng)。在最小工作方式中,作為單處理器的8086/8088CPU通??刂浦到y(tǒng)總線,但也允許系統(tǒng)中的其他主控設(shè)備——DMA控制器占用系統(tǒng)總線。DMA控制器通過(guò)占用系統(tǒng)總線可實(shí)現(xiàn)外部設(shè)備和存儲(chǔ)器之間直接數(shù)據(jù)傳送。DMA控制器通過(guò)向8086/8088的HOLD引腳發(fā)送一個(gè)高電平信號(hào)向CPU提出占用系統(tǒng)總線的請(qǐng)求信號(hào),通常在現(xiàn)行總線周期完成后,8086/8088CPU作出響應(yīng),使HLDA引腳變成高電平,通知DMA控制器可以使用系統(tǒng)總線。DMA控制器接收到HLDA引腳的高電平信號(hào)后,掌握系統(tǒng)控制權(quán),進(jìn)行外部設(shè)備與存儲(chǔ)器之間的直接數(shù)據(jù)傳送。當(dāng)DMA控制器完成傳送任務(wù)時(shí),撤銷發(fā)向HOLD引腳的總線請(qǐng)求信號(hào),CPU重新獲得對(duì)系統(tǒng)的控制權(quán)。需著重指出的是,DMA控制器雖然通過(guò)挪用總線周期實(shí)現(xiàn)外部設(shè)備與存儲(chǔ)器之間的直接數(shù)據(jù)傳送,提高了整個(gè)系統(tǒng)的能力,但DMA控制器卻不能執(zhí)行命令,其能力是相當(dāng)有限的。假如系統(tǒng)中有兩個(gè)或多個(gè)同時(shí)執(zhí)行指令的處理器,這樣的系統(tǒng)就稱為多處理器系統(tǒng)。增加的處理器可以是8086/8088處理器,也可以是數(shù)字?jǐn)?shù)據(jù)處理器8087或I/O處理器8089。在設(shè)計(jì)多處理器系統(tǒng)時(shí),除了解決對(duì)存儲(chǔ)器和I/O設(shè)備的控制、中斷管理、DMA傳送時(shí)總線控制權(quán)外,還必須解決多處理器對(duì)系統(tǒng)總線的爭(zhēng)用問(wèn)題和處理器之間的通信問(wèn)題。因?yàn)槎鄠€(gè)處理器通過(guò)公共系統(tǒng)總線共享存儲(chǔ)器和I/O設(shè)備,所以必須增加相應(yīng)的邏輯電路,以確保每次只有一個(gè)處理器占用系統(tǒng)總線。為了使一個(gè)處理器能夠把任務(wù)分配給另一個(gè)處理器或者從另一個(gè)處理器取回執(zhí)行結(jié)果,必須提供一種明確的方法來(lái)解決兩個(gè)處理器之間的通信。多處理器系統(tǒng)可以有效地提高整個(gè)系統(tǒng)的性能。8086/8088的最大工作方式就是專門為實(shí)現(xiàn)多處理器系統(tǒng)而設(shè)計(jì)的。IBMPC系列機(jī)系統(tǒng)中的微處理器工作于最大工作方式,系統(tǒng)中配置了一個(gè)作為協(xié)處理器的數(shù)字?jǐn)?shù)據(jù)處理器8087。以提高系統(tǒng)數(shù)據(jù)處理的能力。
編輯推薦
《匯編語(yǔ)言程序設(shè)計(jì)(第2版)(計(jì)算機(jī)類)》:新世紀(jì)高職高專軟件專業(yè)系列規(guī)劃教材
圖書封面
評(píng)論、評(píng)分、閱讀與下載