《微機(jī)原理與接口技術(shù)》習(xí)題答案_第1頁
《微機(jī)原理與接口技術(shù)》習(xí)題答案_第2頁
《微機(jī)原理與接口技術(shù)》習(xí)題答案_第3頁
《微機(jī)原理與接口技術(shù)》習(xí)題答案_第4頁
《微機(jī)原理與接口技術(shù)》習(xí)題答案_第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

習(xí)題參考答案 第 1 章 習(xí)題參考答案 1. ( 1) D ( 2) D ( 3) B ( 4) C ( 5) D ( 6) D 2. 答:計(jì)算機(jī)是一種以電子器件為基礎(chǔ)的,不需人的直接干預(yù),能夠?qū)Ω鞣N數(shù)字化信息進(jìn)行快速算術(shù)和邏輯運(yùn)算的工具,是一個(gè)由硬件軟件組成的復(fù)雜的自動(dòng)化設(shè)備。 理解計(jì)算機(jī)的概念,應(yīng)從六個(gè)方面:( 1) 以電子器件為物質(zhì)基礎(chǔ),即研究的對(duì)象是電子數(shù)字計(jì)算機(jī)( ( 2)不需要人的直接干預(yù),說明具有自動(dòng)化能力,其前提是存儲(chǔ)程序;( 3)處理各種數(shù)字化信息,計(jì)算機(jī)以二進(jìn)制編碼作為數(shù)字化編碼及 運(yùn)算的基礎(chǔ);( 4)具有算邏運(yùn)算能力,基本運(yùn)算操作是算術(shù)和邏輯運(yùn)算;( 5)計(jì)算機(jī)是快速工具,主要取決于兩個(gè)因素:一是電子器件,二是存儲(chǔ)程序。( 6) 由硬件和軟件組成。 3. 答:見本章小結(jié)。 4. 答:計(jì)算機(jī)的生命力在于它的廣泛應(yīng)用,應(yīng)用的范圍幾乎涉及人類社會(huì)的所有領(lǐng)域。歸納起來,在科學(xué)計(jì)算、過程檢測(cè)與控制、信息管理、計(jì)算機(jī)輔助系統(tǒng)等領(lǐng)域中的應(yīng)用成就最為突出。 舉例:計(jì)算機(jī)輔助教學(xué) 生的學(xué)籍管理系統(tǒng);數(shù)字圖書館系統(tǒng);虛擬現(xiàn)實(shí)系統(tǒng);售票系統(tǒng);學(xué)校的一卡通系統(tǒng)等。 5. 答:馮諾依曼原理的基本思想是: 采用二進(jìn)制形式表示數(shù)據(jù)和指令。指令由操作碼和地址碼組成。 將程序和數(shù)據(jù)存放在存儲(chǔ)器中,使計(jì)算機(jī)在工作時(shí)從存儲(chǔ)器取出指令加以執(zhí)行,自動(dòng)完成計(jì)算任務(wù)。這就是“存儲(chǔ)程序”和“程序控制”(簡稱存儲(chǔ)程序控制)的概念。 指令的執(zhí)行是順序的,即一般按照指令在存儲(chǔ)器中存放的順序執(zhí)行,程序分支由轉(zhuǎn)移指令實(shí)現(xiàn)。 計(jì)算機(jī)由存儲(chǔ)器、運(yùn)算器、控制器、輸入設(shè)備和輸出設(shè)備五大基本部件組成,并規(guī)定了 5 部分的基本功能。 馮諾依曼型計(jì)算機(jī)的基本特點(diǎn)也可以用“存儲(chǔ)程序”和“程序控制”來高度概括。 6. 答:計(jì)算機(jī)的硬件系統(tǒng)由有形 的電子器件等構(gòu)成的,它包括運(yùn)算器、存儲(chǔ)器、控制器、輸入輸出設(shè)備及總線系統(tǒng)組成。而總線分為數(shù)據(jù)總線、地址總線、控制總線,其結(jié)構(gòu)有單總線結(jié)構(gòu)、雙總線結(jié)構(gòu)及多總線結(jié)構(gòu)。存儲(chǔ)器( 用來存放數(shù)據(jù)和程序的部件;運(yùn)算器是對(duì)信息進(jìn)行運(yùn)算處理的部件;控制器是整個(gè)計(jì)算機(jī)的控制核心。它的主要功能是讀取指令、翻譯指令代碼、并向計(jì)算機(jī)各部分發(fā)出控制信號(hào),以便執(zhí)行指令;輸入設(shè)備能將數(shù)據(jù)和程序變換成計(jì)算機(jī)內(nèi)部所能識(shí)別和接受的信息方式,并順序地把它們送入存儲(chǔ)器中;輸出設(shè)備將計(jì)算機(jī)處理的結(jié)果以人們能接受的或其它機(jī)器能接受的形式 送出。 7. 答:總線( 是計(jì)算機(jī)中用于傳送信息的公用通道,是為多個(gè)部件服務(wù)的一組信息傳送連接線。按照總線的連接方式,計(jì)算機(jī)組成結(jié)構(gòu)可以分為單總線結(jié)構(gòu)、雙總線結(jié)構(gòu)和多總線結(jié)構(gòu)等(詳細(xì)內(nèi)容見第 7 章)。 8. 答:計(jì)算機(jī)硬件( 指構(gòu)成計(jì)算機(jī)的所有實(shí)體部件的集合,通常這些部件由電路(電子元件)、機(jī)械等物理部件組成。計(jì)算機(jī)軟件( 指能使計(jì)算機(jī)工作的程序和程序運(yùn)行時(shí)所需要的數(shù)據(jù),以及與這些程序和數(shù)據(jù)有關(guān)的文字說明和圖表資料,其中文字說明和圖表資料又稱為文檔。固件( 一種介于傳統(tǒng)的軟件和硬件之間的實(shí)體,功能上類似軟件,但形態(tài)上又是硬件。微程序是計(jì)算機(jī)硬件和軟件相結(jié)合的重要形式。 軟件和硬件的邏輯等價(jià)含義: ( 1)任何一個(gè)由軟件所完成的操作也可以直接由硬件來實(shí)現(xiàn) ( 2)任何一條由硬件所執(zhí)行的指令也能用軟件來完成 在物理意義上軟件和硬件是不等價(jià)的。 9. 答:計(jì)算機(jī)軟件可以分為系統(tǒng)軟件和應(yīng)用軟件兩大類。系統(tǒng)軟件是指管理、監(jiān)控和維護(hù)計(jì)算機(jī)資源(包括硬件和軟件)的軟件。系統(tǒng)軟件為計(jì)算機(jī)使用提供最基本的功能,但是并不針對(duì)某一特定應(yīng)用領(lǐng)域。而應(yīng)用軟件則恰好相反,不同的應(yīng)用 軟件根據(jù)用戶和所服務(wù)的領(lǐng)域提供不同的功能。目前常見的系統(tǒng)軟件有操作系統(tǒng)、各種語言處理程序、數(shù)據(jù)庫管理系統(tǒng)以及各種服務(wù)性程序等。 舉例:系統(tǒng)軟件,如 ;應(yīng)用軟件,如學(xué)生的學(xué)籍管理系統(tǒng)等。 10. 答:程序設(shè)計(jì)語言一般分為機(jī)器語言、匯編語言和高級(jí)語言三類。機(jī)器語言是最底層的計(jì)算機(jī)語言。用機(jī)器語言編寫的程序,計(jì)算機(jī)硬件可以直接識(shí)別。每一條機(jī)器指令都是二進(jìn)制形式的指令代碼。匯編語言是為了便于理解與記憶,將機(jī)器語言用助記符號(hào)代替而形成的一種語言。高級(jí)語言是從 50 年代中期開始逐步發(fā)展起來的面向 問題的程序設(shè)計(jì)語言,與具體的計(jì)算機(jī)硬件無關(guān),其表達(dá)方式接近于被描述的問題,易為人們接受和掌握。 機(jī)器語言程序是直接針對(duì)計(jì)算機(jī)硬件的,執(zhí)行效率比較高,能充分發(fā)揮計(jì)算機(jī)的速度性能。但是,用機(jī)器語言編寫程序的難度比較大,容易出錯(cuò),而且程序的直觀性比較差,也不容易移植。匯編語言采用了助記符,比機(jī)器語言直觀,容易理解和記憶,用匯編語言編寫的程序也比機(jī)器語言程序易讀、易檢查、易修改。但需要匯編程序的支持。高級(jí)語言的顯著特點(diǎn)是獨(dú)立于具體的計(jì)算機(jī)硬件,通用性和可移植性好,易于編程,但運(yùn)行效率低。 11. 答:計(jì)算機(jī)系統(tǒng)是一 個(gè)由硬件、軟件組成的多級(jí)層次結(jié)構(gòu),它通常由微程序級(jí)、一般機(jī)器級(jí)、操作系統(tǒng)級(jí)、匯編語言級(jí)、高級(jí)語言級(jí)組成,每一級(jí)上都能創(chuàng)造程序設(shè)計(jì),且得到下級(jí)的支持。 12. 答:兼容( 一個(gè)廣泛的概念,包括軟件兼容、硬件兼容、系統(tǒng)兼容等。軟件兼容存在以下兩種情況: ( 1)軟件的向上兼容性 這是指某檔機(jī)原開發(fā)的軟件可以不加修改便能在它的高檔機(jī)上正確運(yùn)行使用。 ( 2)軟件的向下兼容性 這是指某檔機(jī)的軟件可以不加修改便能在它的低檔機(jī)上正確運(yùn)行使用。在這種情況下,軟件向上兼容是不成問題的。在同一系列機(jī)內(nèi), 不論高檔機(jī)與低檔機(jī),所有機(jī)型上都能運(yùn)行使用的軟件,則是既能向上兼容又能向下兼容。 硬件兼容是軟件兼容的基礎(chǔ),系統(tǒng)兼容包括硬件兼容和軟件問題。 13. 答:算術(shù)邏輯運(yùn)算部件( 是運(yùn)算器的核心組成,功能是完成算數(shù)和邏輯運(yùn)算?!爸醒胩幚韱卧保?括運(yùn)算器和控制器,是計(jì)算機(jī)的信息處理的中心部件。存儲(chǔ)器、運(yùn)算器和控制器在信息處理操作中起主要作用,是計(jì)算機(jī)硬件的主體部分,通常被稱為“主機(jī)”。字長決定了計(jì)算機(jī)的運(yùn)算 精度、指令字長度、存儲(chǔ)單元長度等,可以是 8/16/32/64/128 位( 。 14. 答:是的, 計(jì)算機(jī)硬件實(shí)體的 5 個(gè)基本組成部分缺一不可。 15. 答:見本章 。 16. 答:多媒體技術(shù)是指能夠同時(shí)獲取、處理 、編輯、存儲(chǔ)和展示兩個(gè)以上不同信息類型媒體的技術(shù)。計(jì)算機(jī)信息的形式可以是文字、聲音、圖形和圖象等。 17. 答:電子數(shù)字計(jì)算機(jī)中處理的信息是在時(shí)間上離散的數(shù)字量,運(yùn)算的過程是不連續(xù)的;電子模擬計(jì)算機(jī)中處理的信息是連續(xù)變化的物理量,運(yùn)算的過程是連續(xù)的。 代計(jì)算機(jī)系統(tǒng)是一個(gè)硬 件與軟件組成的綜合體,可以把它看成是按功能劃分的多級(jí)層次結(jié)構(gòu)。 第 0 級(jí)為硬件組成的實(shí)體。 第 1 級(jí)是微程序級(jí)。這級(jí)的機(jī)器語言是微指令集,程序員用微指令編寫的微程序一般是直接由硬件執(zhí)行的。 第 2 級(jí)是傳統(tǒng)機(jī)器級(jí)。這級(jí)的機(jī)器語言是該機(jī)的指令集,程序員用機(jī)器指令編寫的程序可以由微程序進(jìn)行解釋。 第 3 級(jí)操作系統(tǒng)級(jí)。從操作系統(tǒng)的基本功能來看,一方面它要直接管理傳統(tǒng)機(jī)器中的軟硬件資源,另一方面它又是傳統(tǒng)機(jī)器的延伸。 第 4 級(jí)是匯編語言級(jí)。這級(jí)的機(jī)器語言是匯編語言,完成匯編語言翻譯的程序叫做匯編程序。 第 5 級(jí)是高級(jí)語言級(jí)。這級(jí) 的機(jī)器語言就是各種高級(jí)語言,通常用編譯程序來完成高級(jí)語言翻譯工作。 第 6 級(jí)是應(yīng)用語言級(jí)。這一級(jí)是為了使計(jì)算機(jī)滿足某種用途而專門設(shè)計(jì)的,因此這一級(jí)語言就是各種面向問題的應(yīng)用語言。 19. 答: 計(jì)算機(jī)系統(tǒng)的主要技術(shù)指標(biāo)有:機(jī)器字長、數(shù)據(jù)通路寬度、主存儲(chǔ)器容量和運(yùn)算速度等。 機(jī)器字長是指參與運(yùn)算的數(shù)的基本位數(shù),它是由加法器、寄存器的位數(shù)決定的。 數(shù)據(jù)通路寬度是指數(shù)據(jù)總線一次所能并行傳送信息的位數(shù)。 主存儲(chǔ)器容量是指主存儲(chǔ)器所能存儲(chǔ)的全部信息。 運(yùn)算速度與機(jī)器的主頻、執(zhí)行什么樣的操作、主存儲(chǔ)器本身的速度等許多因素 有關(guān)。 第 2 章 習(xí)題參考答案 1. ( 1) D ( 2) A 2. 總線是微機(jī)系統(tǒng)之間、系統(tǒng)各模塊之間或模塊內(nèi)部以及芯片內(nèi)部各部分之間用來傳送信息的公共信息通路,是計(jì)算機(jī)傳送信息的一組導(dǎo)線,它將各部分連接成一個(gè)整體??偩€有多種分類方法,按總線在微機(jī)中所處的位置不同(或按總線上信息傳送的范圍不同)來看,微機(jī)中包括片內(nèi)總線、片間總線、系統(tǒng)內(nèi)總線和系統(tǒng)外總線四級(jí)總線。 在 8086/8088 微處理器中設(shè)置一些寄存器,這些寄存器可用來暫存參加運(yùn)算的操作數(shù)和運(yùn)算過程中的中間結(jié)果。其內(nèi)部共有 14 個(gè) 16 位寄存器,按 功能可分為:通用寄存器 (8 個(gè) )、段寄存器 (4 個(gè) )、控制寄存器 (2 個(gè) )三大類。 共分兩大部分, 執(zhí)行部件,主要的功能是執(zhí)行指令。 總線接口部件, 與片外存儲(chǔ)器及 I/O 接口電路傳輸數(shù)據(jù)。 過 行片外操作數(shù)的訪問, 供將要執(zhí)行的指令。 分別獨(dú)立工作,當(dāng) 需 供服務(wù)時(shí), 進(jìn)行填充指令隊(duì)列的操作。 3. 指令隊(duì)列是用來暫存指令的一組寄存器,按“先進(jìn)先出”原則讀寫。在 80868088要指令隊(duì)列沒有填滿, 從外部存儲(chǔ)器取指令并放入指令隊(duì)列 中,另一方面,只要指令隊(duì)列中不空, 可將指令隊(duì)列中已有的指令取出執(zhí)行,這樣 并行方式重疊操作,大大提高了 利用率,也降低了 存儲(chǔ)器、 IO 端口存取速度的要求。 8086的指令隊(duì)列緩沖器長度為 6 個(gè)字節(jié),而 8088有 4 個(gè)字節(jié)。 4. 堆棧都是一種數(shù)據(jù)項(xiàng)按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端 (稱為棧頂 (對(duì)數(shù)據(jù)項(xiàng)進(jìn)行插入和刪除。要點(diǎn) 有兩個(gè), 堆:順序隨意 ; 棧:后進(jìn)先出 (棧,也稱為 “下推棧 ”,從概念上講,它是一般計(jì)算機(jī) 操作中計(jì)算表達(dá)式和處理遞歸子程序調(diào)用時(shí)在臨時(shí)存儲(chǔ)器位置保存信息的最簡單的方法。 堆棧指針 是指出棧頂在內(nèi)部 中的位置,從它可以了解到存放斷點(diǎn)或者現(xiàn)場(chǎng)的位置,壓棧后 ,出棧后 5. 8086 與 8088 的區(qū)別有三處: (1) 外部數(shù)據(jù)總線位數(shù)不同(即地址數(shù)據(jù)分時(shí)復(fù)用引腳條數(shù)不同); 8086為 16位: 8088為 8位: (2) 內(nèi)部指令隊(duì)列緩沖器長度不同; 8086有 6個(gè)字節(jié)。當(dāng)指令隊(duì)列出現(xiàn) 2個(gè)空字 節(jié)時(shí), 取指補(bǔ)充。 8088有 4個(gè)字節(jié)。當(dāng)指令隊(duì)列出現(xiàn) 1個(gè)空字節(jié)時(shí), 取指補(bǔ)充。 (3) 外部某些控制總線定義不同。 8086的 28號(hào)引腳定義為 M 2), 8088定義為 M( 8086的 34號(hào)引腳定義為 8088定義為 (( 1)當(dāng) 問存儲(chǔ)器時(shí) , 要利用 址鎖存允許信號(hào)輸出 ), (數(shù)據(jù)允許信號(hào) ), (數(shù)據(jù)收發(fā)信號(hào) ), (存儲(chǔ)器 /輸入輸出控制信號(hào)輸出 ), (讀信號(hào)輸出), (寫信號(hào)輸 出 ), (高 8位數(shù)據(jù)總線充許 ), 屏蔽中斷輸入引腿 )。 ( 2) 當(dāng) 問外設(shè)接口時(shí) ,要利用當(dāng) 問存儲(chǔ)器時(shí) ,址鎖存允許信號(hào)輸出 ), (數(shù)據(jù)允許信號(hào) ) (數(shù)據(jù)收發(fā)信號(hào) ), (存儲(chǔ)器 /輸入輸出控制信號(hào)輸出 ), (讀信號(hào)輸出), 寫信號(hào)輸出, 高 8位數(shù)據(jù)總線充許, (中斷響應(yīng)信號(hào)輸出 )。 ( 3)當(dāng) 效并得到響應(yīng)時(shí) ,地址 /數(shù)據(jù)總線和控制狀態(tài)線置高阻。 6. 大小模式是決定 址能力的,實(shí)模式(最小模式)只能尋 1M 吧,保護(hù)模式(最大模式)用 G 來評(píng)價(jià),而 地址總線的位數(shù)決定 了這些。計(jì)算機(jī)上電后,機(jī)器狀態(tài)字的 清 0,只有低 20 位地址線是有效的,所以只有 1M 的空間,在程序的控制下 拿 32 位的 說, 2 的 32 次方這么大的空間是實(shí)模式不能比擬的。 第 2 小 問。所有的 動(dòng)之后都在實(shí)模式下運(yùn)行( 導(dǎo)程序是 16 位程序的。)這個(gè)時(shí)候就只有 1M 的內(nèi)存只用,切換到保護(hù)模式也是由這個(gè)程序初始的 。 7. 線保持請(qǐng)求信號(hào)輸入 /總線請(qǐng)求允許信號(hào)輸出,雙向、低電平有效。其含義與最小模式下 信號(hào) 類同。但 用兩個(gè)引腳,而 占用一個(gè)引腳。同時(shí)提供 示可同時(shí)連接兩個(gè)協(xié)處理器, 先級(jí)高于 某個(gè)外部處理機(jī)要占用總線時(shí),就從 086 輸出一個(gè)負(fù)脈沖,提出使用總線的申請(qǐng)。如果 8086 正好完成一個(gè)總線周期,就會(huì)讓出總線控制權(quán),并從同一條引腳向該處理機(jī)送出一個(gè)負(fù)脈沖,以示對(duì)方可以使用總線。 8. 答: ( 1) , , , , , ( 2) , , , , , ( 3) , , , , , ; ( 4) , , , , , 其中進(jìn)位標(biāo)志 于判別無符號(hào)數(shù)運(yùn)算是否超出數(shù)的表示范圍,而溢出標(biāo)志 于判別帶符號(hào)數(shù)運(yùn)算是否超出數(shù)的表示范圍;奇偶標(biāo)志 能判斷結(jié)果低八位中 1的個(gè)數(shù)為奇數(shù)還是偶數(shù)。 9. 答:邏輯地址是由兩個(gè) 16 位的部分即段地址和偏移量組成,一般在程序中出現(xiàn)的地址都表示為邏輯地址形式;物理地址是一個(gè) 20 位的地址,它是唯一能代表存儲(chǔ) 空間每個(gè)字節(jié)單元的地址,一般只出現(xiàn)在地址總線上。 由于 80868088的寄存器只有 16 位長,所以程序不能直接存放 20 位的物理地址,而必須借助邏輯地址,即用兩個(gè) 16 位的寄存器來表示物理地址。它們之間的關(guān)系是:物理地址 =段地址 *16+偏移量,另外,一個(gè)物理地址可以對(duì)應(yīng)多個(gè)邏輯地址。 10. 答: ( 1)數(shù)據(jù)段 021( 2)附加段 0 3)代碼段 2341. 答: 實(shí)際的物理地址 =段基址 *16+段內(nèi)偏移地址 段基址 , 段基址是每段的首地址 物理地址為 5S*16+么 200H, 230, 800 時(shí) , 物理地址 =7800H*16+9230=81230H 12. 答:( 1)存儲(chǔ)器寫( 100H0001H)時(shí)為低電平信號(hào): 7S 2)存儲(chǔ)器讀( 9100H0000L)時(shí)為低電平信號(hào): R3. 答: 儲(chǔ)器寫命令 )和 據(jù)有效命令 )信號(hào)應(yīng)變?yōu)橛行А?14. 答: 物理地址: 35000H 35800H。入棧 10 個(gè) 字節(jié)后 7出棧 6 個(gè)字節(jié)后 7 15. 解: 8086 /寫總線周期包含 4 個(gè)時(shí)鐘周期 。 當(dāng)系統(tǒng)中所用的存儲(chǔ)器或外設(shè)的工作速度較慢,從而不能用最基本的總線周期執(zhí)行讀操作時(shí),系統(tǒng)中就要用一個(gè)電路來產(chǎn)生 號(hào), 號(hào)通過時(shí)鐘發(fā)生器 8284 狀態(tài)的前沿 (下降沿處 )對(duì) 號(hào)進(jìn)行采樣。如果 有在 狀態(tài)的一開始采樣到 號(hào)為高電平,那么,就會(huì)在 和 之間插入等待狀態(tài) 。插入 的個(gè)數(shù)取決于 收到高電平 號(hào)的時(shí)間。 不執(zhí)行總線周期時(shí),總線接口部件就不和總線打交道,此時(shí),進(jìn)入總線空閑周期。 16. 答: 由于:物理地址 =400地址 *16+偏移地址 =40020H+偏移地址 偏移地址 =4000020=85H 從奇地址 400讀出: 11H; 從偶地址 400出一個(gè)字: 22H, 33H; 從偶地址 400出一個(gè)字: 44H, 55H; 從偶地址 400讀出: 66H。共讀 4 次。 17. 答: 14800 150150 數(shù)據(jù)段首地址 數(shù)據(jù)段段地址 =150移地址 =0004H。 總線接口部件根據(jù)數(shù)據(jù)段寄存器的內(nèi)容 150移 4 位,在加上偏移地址 0004H,形成 20 位物理地址 150總線接口送出,選中物理存儲(chǔ)單元 150150據(jù) 0過數(shù)據(jù)總線送入 150據(jù)0過數(shù)據(jù)總線送入 150 18. 解: 地址鎖存器用來鎖存 8086 輸出的地址信號(hào)。 8086 的地址輸出和數(shù)據(jù)輸出公用引腳采用分時(shí)輸出,它先輸出地址后 輸出數(shù)據(jù),所以需要地址鎖存器。 第 3 章 習(xí)題參考答案 1. 答:略 2. 解:( 1)( 4)( 5) 3. ( 1) B ( 2) D ( 3) B ( 4) C ( 5) C ( 6) B ( 7) C ( 8) D ( 9) B ( 10) A 4. 答: 請(qǐng)參考本章指令系統(tǒng)的要求有關(guān)描述。 5. 解: 設(shè) 1 地址指令有 X 條 二地址指令的結(jié)構(gòu)是( 4 位操作碼 ( 6 位地址碼 ( 6 位地址碼 一地指指令的結(jié)構(gòu)是( 10 位操作碼 ( 6 位地址碼 A)。 如果全做二地址指令(一地址指令、無地址指令均為 0 條,),共 16 條二地址指令。每少一條 二地址指令,則多 26 條一地址指令,以此類推,可得 ( 24*26*26=M 解之 得: X=( 24*26. 解:不能。 以,具體方案: ( 1)、 4 條三地址指令 位 三地址指令組 4 條 000 001 010 011 ( 2)、 255 條一地址指令 ( 111)作為擴(kuò)展 位 單地址指令組 255 條 111000000 111000001 . 111111110 (3)、 16 條無地址指令 (111111111)作為擴(kuò)展 六位 零地址指令 16 條 111111110000 . 111111111111 存器尋址;寄存器間址;立即數(shù)尋址;變址尋址、基址尋址、相對(duì)尋址。 9. 答:指令是靈活多變的,主要體現(xiàn)在以下幾個(gè)方面:指令格式多樣;尋址方式豐富;指令類型多種;操作碼位數(shù)可隨地址碼個(gè)數(shù)變化而變化(擴(kuò)展操作碼方式);指令長度可變等。 10. 答: 基址尋址方式和變址尋址方式,在形式上是類似的。但用戶可使用變址尋址方式編寫程序,而基址尋址方式中對(duì)于基址寄存器,用戶程序無權(quán)操作和修改,由系統(tǒng)軟件管理控制程序使用特權(quán)指令來管理的。再者基址尋址方式主要用以解 決程序在存儲(chǔ)器中的定位和擴(kuò)大尋址空間等問題。 ( 1)堆棧的概念 是若干個(gè)存儲(chǔ)單元 (或寄存器 )的有序集合,它順序地存放一組元素。 數(shù)據(jù)的存取都只能在棧頂單元內(nèi)進(jìn)行,即數(shù)據(jù)的進(jìn)棧與出棧都只能經(jīng)過棧頂單元這個(gè)“出入口”。 堆棧中的數(shù)據(jù)采用“先進(jìn)后出”或“后進(jìn)先出”的存取工作方式。 ( 2)堆棧結(jié)構(gòu)在計(jì)算機(jī)中的作用 具有堆棧結(jié)構(gòu)的機(jī)器使用零地址指令,這不僅合指令長度短,指令結(jié)構(gòu)簡單,機(jī)器硬件簡化。 實(shí)現(xiàn)程序調(diào)用,子程序嵌套調(diào)用和遞歸調(diào)用。 對(duì)于“中斷”技術(shù),堆棧更是不可缺少的,保存 “斷點(diǎn)”和“現(xiàn)場(chǎng)”。 ( 3)堆棧的操作 設(shè)數(shù)據(jù)進(jìn)棧方向?yàn)閺母叩刂废虻偷刂钒l(fā)展,當(dāng)向堆棧壓入數(shù)據(jù)時(shí), 內(nèi)容先自動(dòng)遞減而指向一個(gè)新的空棧頂單元,再把數(shù)據(jù)寫入此棧頂單元;當(dāng)數(shù)據(jù)彈出堆棧時(shí),立即讀出指向的棧頂單元內(nèi)容,再把 容自動(dòng)遞增而指向新的棧頂位置。即 X; (1X)( X; (X (12. 答: ( 1)雙字長二地址 指令,用于訪問存儲(chǔ)器; ( 2)操作碼字段 六位,可以指定 64 種操作; ( 3)一個(gè)操作數(shù)在源寄存器(共 16 個(gè)),另一個(gè)操作數(shù)在存儲(chǔ)器中(由基址寄存器和位移量決定)。 13. 答: 指令長度與機(jī)器字長沒有固定關(guān)系,指令長度可以等于機(jī)器字長,也可以大于或小于機(jī)器字長。通常,把指令長度等于機(jī)器字長的指令稱為單字長指令;指令長度等于半個(gè)機(jī)器字長的指令稱為半字長指令;指令長度等于兩個(gè)機(jī)器字長的指令稱為雙字長指令。 14. 答: 4 條三地址指令 000 000 條二地址指令 100 000 100 111 80 條單地址指令 101 000 000 101 110 011 5. 答: 主存容量越大,所需的地址碼位數(shù)就越大。對(duì)于相同容量來說,最小尋址單位越小,地址碼的位數(shù)就越長。 16. 答: 解:條指令需占用操作碼字 段 ()位,這樣指令字下余長度為位。為了覆蓋主存的地址空間,設(shè)尋址模式位 ()位,形式地址 ()位,其指令格式如下: 尋址模式定義如下: 直接尋址 有效地址 (單元) 間接尋址 有效地址 ()() 變址尋址 有效地址 ()() 相對(duì)尋址 有效地址 ()() 其中, R 為 16 位的變址寄存器, 16 位的程序計(jì)數(shù)器。在變址和相對(duì)尋址時(shí),位移量 D 可正可負(fù) 。 17. 答: ( 1)返回指令通常為零地址指令。返回地址保存在堆棧中,執(zhí)行返回指令時(shí)自動(dòng)從堆棧中彈出。而且前返回地址是保存在子程序的第一個(gè)單元中,故此時(shí)指令不能再是零地址指令了,而應(yīng)當(dāng)是地址指令。 ( 2)在這種情況下,可利用寄存器或主存單元進(jìn)行主、子程序間的參數(shù)傳遞。 ( 3)可以用于子程序的嵌套(多重轉(zhuǎn)子)。 因?yàn)槊總€(gè)返回地址都放在調(diào)用的子程序的第一個(gè)單元中。 ( 4)不可以用于子程序的遞歸,因?yàn)楫?dāng)某個(gè)子程序自己調(diào)用自己時(shí),子程序第一個(gè)單元的內(nèi)容將被破壞。 ( 5)如果改用堆棧方法,可以實(shí)現(xiàn)子程序的 遞歸 ,因堆棧具有后進(jìn)先出的功能。 18. 答 : ( 1)地址碼域 =14 位, 214=16384 操作碼域 =7 位 指令字長度 =14+7+3=24 位 ( 2)此時(shí)指定的通用寄存器用作基址寄存器( 12 位),但 12 位長度不足以覆蓋 16K 地址空間,為此可將通用寄存器內(nèi)容( 12 位)左移 2 位低位補(bǔ) 0 形成 14 位基地址,然后與形式地址相加得一地 址,該地址可訪問主存 16K 地址空間中的任一單元。 ( 3)可采用間接尋址方式來解決這一問題,因?yàn)椴辉试S改變硬件結(jié)構(gòu)。 19. 答: ( 1)直接尋址,操作數(shù)在有效地址 E=D 的存儲(chǔ)單元中。 ( 2)相對(duì)尋址。 ( 3)變址尋址,操作數(shù)在 E=( + D 的存儲(chǔ)單元中。 ( 4)寄存器間接尋址,通用寄存器的內(nèi)容指明操作數(shù)在主存中的地址。 ( 5)間接尋址,用偏移量做地址訪問主存得到操作數(shù)的地址指示器,再按地址指示器訪問主存的操作數(shù),因此間接尋址需兩次訪問主存。 ( 6)基值尋址,操作數(shù)在 E=( + D 的存儲(chǔ)單元中。 20. 答: ( 1) 采用 16 位字長的指令,優(yōu)點(diǎn)是節(jié)省硬件(包括 的通用寄存器組 、 存儲(chǔ)器與 缺點(diǎn)是指令字長較短,操作碼字段不會(huì)很長,所以指令條數(shù)受到限制。另一方面,為了在有限的字段內(nèi)確定操作數(shù)地址,可能要采用較復(fù)雜的尋址方式,從而使指令執(zhí)行的速度降低,當(dāng)采用 24 位字長的指令結(jié)構(gòu)時(shí),其優(yōu)缺點(diǎn)正好相反。具體講,按所給條件, 16 位字長的指令格式方案如 下 圖所示 : 圖 16 位字長指令格式 其中 段可指定 64 條指令。 尋址模式,與 用寄存器組一起,形成一個(gè)操作數(shù)。具體定義如下 : 0, 寄存器直接尋址 , E=1=01, 寄存器間接尋址 , E=( 0, 基地址方式 0, E=( +( 1, 基地址方式 1, E=( +( 其中 別為兩個(gè) 20 位的基地址寄存器。 24 位字長指令格式方案如 下圖 所示 : 圖 24 位字長指令格式 其中 6 位, 64 位條指令。 別為兩組尋址模式,分別與 用寄存器組組成雙操作數(shù)字段。由于 占 3 位,可指定 8 種尋址方式,其指令格式結(jié)構(gòu)類似于 雙操作數(shù)指令格式。 比較兩種方案,從性能價(jià)格比衡量, 16 位字長指令的方案較優(yōu)。 ( 2)如果選用 24 位的指令字長,基地址寄存器沒有必要保留。因?yàn)橥ㄓ眉拇嫫鏖L度為24 位,足以覆蓋 1M 字的空間。 21. 答 : 由已知條件,機(jī)器字長 16 位,主存容量 1286b = 64K 字,因此 8 位,共 128條指令,故 段占 7 位。采用單字長和雙字長兩種指令格式,其中單字長指令用于算術(shù)邏輯和 I/O 指令,雙字長用于訪問主存的指令。 如 下 圖所示。 圖 計(jì)算機(jī)指令格式 尋址方式由尋址模式 X 定 義如下: X=00 直接尋址 E=D( 64K) X=01 立即數(shù) D=操作數(shù) X=10 相對(duì)尋址 E= 6 位 X=11 基值尋址 E= 6 位 位的兩數(shù)相減,其可表示數(shù)的范圍為:帶符號(hào)數(shù) 128127( 80H7無符號(hào)數(shù) 0255( 0運(yùn)算結(jié)果超出可表示數(shù)范圍即為溢出,說明結(jié)果錯(cuò)誤。 ( 1) 66H=62H 1100 1000 1100 1000 條件碼設(shè)置: 0110 0110 + 1001 1010 110 0010 1 0110 0010 說明:如果是無符號(hào)數(shù)的運(yùn)算,被減數(shù)夠減無借位,所以 0,表明結(jié)果有效。如果操作數(shù)是帶符號(hào)數(shù),且被減數(shù)與減數(shù)符號(hào)相反,而結(jié)果符號(hào)與減數(shù)符號(hào)相同,所以 1,表明結(jié)果無效。 ( 2) 54101 0100 0101 0100 條件碼設(shè)置: 0111 0110 + 1000 1010 101 1110 1101 1110 說明:如果是無符號(hào)數(shù)的運(yùn)算,本例中被減數(shù)減數(shù),減運(yùn)算向高位有借位(或加運(yùn)算無進(jìn)位),則 1,表明結(jié)果無效。如果是帶符號(hào)數(shù)的運(yùn)算,同符號(hào)數(shù)相減, 0,結(jié)果有效。 ( 3) 40100 1011 0100 1011 條件碼設(shè)置: 1011 0110 + 0100 1010 001 0101 1001 0101 說明:如果是無符號(hào)數(shù)的運(yùn)算,本例中被減數(shù)減數(shù),減運(yùn)算向高位有借位(或加運(yùn)算無進(jìn)位),則 1,表明結(jié)果無效。如果是帶符號(hào)數(shù)的運(yùn)算,不同符號(hào)數(shù)相減,且結(jié)果符號(hào)與減數(shù)符號(hào)相同, 1,結(jié)果也是無效的。 23. 已知 (0給出分別用邏輯左移和右移指令移動(dòng) 1 位后,寄存器 內(nèi)容 。 解:用算術(shù)左移和右移指令移動(dòng) 1 位后,寄存器 結(jié)果如下表所示。 操作數(shù)的初值 執(zhí)行的指令 執(zhí)行后操作數(shù)的內(nèi)容 (01 (52H (01 (54H 24. 已知 (0給出分別用算術(shù)左移和右移指令移動(dòng) 1 位后,寄存器 解:用算術(shù)左移和右移指令移動(dòng) 1 位后,寄存器 結(jié)果如下表所示。 操作數(shù)的初值 執(zhí)行的指令 執(zhí)行后操作數(shù)的內(nèi)容 (01 (52H (01 (05.( 0012H, ( 0034H,把它們裝配成 ( 1234H。 8 6.(= 841) (為無符號(hào)數(shù),求 (, 1 ; (= 4278H (2) (為帶符號(hào)數(shù),求 ( 2 1 ; (= 09 (3) (為帶符號(hào)數(shù),求 (, 2 ; (= 04) 把 (中的 16 位數(shù)每 4 位壓入堆棧 的 500 個(gè)字節(jié),找出第一個(gè)不相同的字節(jié),如果找到,則將的這個(gè)數(shù)送 。 500 I 環(huán)移位執(zhí)行結(jié)果。 循環(huán)移位指令 指令操作數(shù)的初值 指令執(zhí)行后的結(jié)果 1 (6789H (03 (6789H (32 (6789H (594 (6789H (9678H 29. 補(bǔ)全下列 帶進(jìn)位循環(huán)移位 指令的 執(zhí)行結(jié)果。 雙精度移動(dòng)指令 指令操作數(shù)的初值 指令執(zhí)行后的結(jié)果 1 , (05791 , (05792 , (02 , (00. 假設(shè)程序進(jìn)行兩個(gè)帶符號(hào)數(shù)的比較,并根據(jù)比較結(jié)果轉(zhuǎn)移,其中 (80H, (01,請(qǐng)指出下面兩組指令 能否實(shí)現(xiàn) 轉(zhuǎn)向。 L, L, Y Y 答: 轉(zhuǎn)向目標(biāo)地址 不能實(shí)現(xiàn)轉(zhuǎn)移。 執(zhí)行 令時(shí), ( (80 01=7F,條件碼設(shè)置為: , , 。執(zhí)行 令時(shí),測(cè)試轉(zhuǎn)移條件: 0 1 =1,說明滿足 ( (轉(zhuǎn)移條件,因此,(偏移地址,程序即轉(zhuǎn)移到 元執(zhí)行新的指令。 令的轉(zhuǎn)移條件為 ,而 執(zhí)行結(jié)果使 ,所以不能引起轉(zhuǎn)移。 第 4 章 習(xí)題參考答案 1. 下列語句在存儲(chǔ)器中分別為變量分配多少字節(jié)空間?并畫出存儲(chǔ)空間的分配圖。 10, 2 5), 0 , $ 1, 0 2. 假定 字變量, 標(biāo)號(hào),試指出下列指令的錯(cuò)誤之處。 ( 1) ( 2) L, 3) I ( 4) . 對(duì)于下面的符號(hào)定義,指出下列指令的錯(cuò)誤。 0 1024 ( 1) ( 2) 1, 3) ( 4) 2048 4. 數(shù)據(jù)定義語句如下所示 : 90H, 5669H B 5 ) 5 ) 5 ) 自 元開始存放的是一個(gè)四字節(jié)的十六進(jìn)制數(shù) (低位字節(jié)在前 ), 要求 : ( 1)編一段程序?qū)⑦@個(gè)數(shù)左移兩位、右移兩位后存放到自 始的單元 (注意保留移出部分 )。 ( 2)編一段程序?qū)⑦@個(gè)數(shù)求補(bǔ)以后存放到自 始的單元。 5. 試編程序?qū)?nèi)存從 40000H 到 4每個(gè)單元中均寫入 55H,并再逐個(gè)單元讀出比較,看寫入的與讀出 的是否一致。若全對(duì),則將 7要有錯(cuò),則將 81H。 6. 在當(dāng)前數(shù)據(jù)段 4000H 開始的 128 個(gè)單元中存放一組數(shù)據(jù),試編程序?qū)⑺鼈冺樞虬嵋频?始的順序 128 個(gè)單元中,并將兩個(gè)數(shù)據(jù)塊逐個(gè)單元進(jìn)行此較;若有錯(cuò)將 0H;全對(duì)則將 編程序。 7. 將內(nèi)存中某一區(qū)域的原數(shù)據(jù)塊傳送到另一區(qū)域中。 分析 這種程序若源數(shù)據(jù)塊與目的數(shù)據(jù)塊之間地址沒有重疊,則可直接用傳送或串操作實(shí)現(xiàn);若地址重疊,則要先判斷源地址 +數(shù)據(jù)塊長度是否小于目的地址,若是,則可按增量方式進(jìn)行,否則要修改指針指向數(shù)據(jù)塊底部 ,采用減量方式傳送。程序如下: 000) 5 0 100) S: S X, X X, S, S, X, S, X, I, I, I I, I, L I, I, K: . 內(nèi)存中 始存放 0 9 的平方值,通過人機(jī)對(duì)話,當(dāng)任給定一個(gè)數(shù) x(0 9),查表得 X 的平方值,放在 ,并將結(jié)果顯示到屏幕。 386 00H B 0,1,4,9,16,25,36,49,64,81 9):,0$ 按十進(jìn)制形式 I,10 X,X,X,00 I X X X,0 ;商為 0 則完成轉(zhuǎn)換 X X L,30H H,2 1H ;說明程序起點(diǎn) ,設(shè)置 S ;9 號(hào)功能調(diào)用 ,提示輸入一個(gè)數(shù) 21H ; 1 號(hào)功能調(diào)用 ,鍵入數(shù)送入 21H bl, ;功能調(diào)用,顯示 對(duì)應(yīng)的字符 3 21H ;輸出回車符 0 21H ;輸出換行符 al, ;查表得輸入數(shù)得平方值 X ;保存查表結(jié)果 到 AL bx,bx bx, 十進(jìn)制形式顯示的過程 計(jì)的解釋: 首先要完成二進(jìn)制到十進(jìn)制數(shù)的轉(zhuǎn)換,一般采用“除 10 取余”法來完成,其大致過程如下:將待轉(zhuǎn)換的數(shù)(在 )除以 10,得到第一個(gè)商和余數(shù),此第一個(gè)余數(shù)就是所求的十進(jìn)制數(shù)的個(gè)位;再用第一個(gè)商除以 10,得到第二個(gè)商和余數(shù),此第二個(gè)余數(shù)就是所求十進(jìn)制數(shù)的十位;重復(fù)這一過程直至商為 0,此時(shí)的余數(shù)就是所求十進(jìn)制數(shù)的最高位。 在內(nèi)存中分配一緩沖區(qū) ,用來存放以上分離出來的十進(jìn)制數(shù)的每一位,然后再逐個(gè)轉(zhuǎn)換成 ,轉(zhuǎn)換成 的過程很簡單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論