微型計算機原理習題解答_第1頁
微型計算機原理習題解答_第2頁
微型計算機原理習題解答_第3頁
微型計算機原理習題解答_第4頁
微型計算機原理習題解答_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、20微性計算機原理習題解答習題11.1 馮·諾依曼型計算機的設計方案有哪些特點?【解答】馮·諾依曼型計算機的設計方案是“存儲程序”和“程序控制”,有以下5方面特點:(1)用二進制數(shù)表示數(shù)據(jù)和指令;(2)指令和數(shù)據(jù)存儲在內(nèi)部存儲器中,按順序自動依次執(zhí)行指令;(3)由運算器、控制器、存儲器、輸入設備和輸出設備組成基本硬件系統(tǒng);(4)由控制器來控制程序和數(shù)據(jù)的存取及程序的執(zhí)行;(5)以運算器為核心。1.2 微處理器和微型計算機的發(fā)展經(jīng)歷了哪些階段?各典型芯片具備哪些特點?【解答】經(jīng)歷了6代演變,各典型芯片的特點如表1-1所示。表1-1 微處理器的發(fā)展及典型芯片的特點發(fā)展時代類別典

2、型芯片及性能特點第一代(19711973年)4、8位低檔微處理器Intel 4004集成2300多個晶體管,主頻108KHz,尋址640Byte,指令系統(tǒng)簡單;Intel 8008采用PMOS工藝,集成3500晶體管,基本指令48條,主頻500KHz。 第二代(19741977年)8位中高檔微處理器Intel 8080采用NMOS工藝,集成6000晶體管,主頻2MHz,指令系統(tǒng)較完善,尋址能力增強,運算速度提高了一個數(shù)量級。第三代(19781984年)16位微處理器Intel 8086采用HMOS工藝,集成29000晶體管,主頻5MHz/8MHz/10MHz ,尋址1MB。Intel 8028

3、6集成度達到13.4萬晶體管,主頻20MHz。第四代(19851992年)32位微處理器Intel 80386集成27.5萬個晶體管,主頻33MHz,4GB物理尋址。有分段存儲和分頁存儲部件,可管理64TB虛擬存儲空間。Intel 80486集成120萬個晶體管,包含浮點運算部件和8KB的一級高速緩沖存儲器Cache。第五代(19931999年)超級32位微處理器Intel Pentium、Pentium Pro、Pentium MMX、Pentium II、 Pentium III、Pentium 4微處理器等,采用新式處理器結(jié)構(gòu),數(shù)據(jù)加密、視頻壓縮和對等網(wǎng)絡等方面性能有較大幅度提高。第六代

4、(2000年以后)64位微處理器Merced由Intel公司與HP公司聯(lián)手開發(fā)的Merced采用全新的IA-64結(jié)構(gòu)設計,是一種采用長指令字、指令預測、分支消除、推理裝入和其他一些先進技術(shù)的全新結(jié)構(gòu)微處理器。1.3 微型計算機的特點和主要性能指標有那些?【解答】除具有運算速度快、計算精度高、有記憶能力和邏輯判斷能力、可自動連續(xù)工作等基本特點以外,還具有功能強、可靠性高、價格低廉、結(jié)構(gòu)靈活、適應性強、體積小、重量輕、功耗低、使用和維護方便等。微型計算機的性能指標與系統(tǒng)結(jié)構(gòu)、指令系統(tǒng)、硬件組成、外部設備以及軟件配備等有關。常用的微型計算機性能指標主要有:字長、主頻、內(nèi)存容量、指令數(shù)、基本指令執(zhí)行時

5、間、可靠性、兼容性、性能價格比等。1.4 常見的微型計算機硬件結(jié)構(gòu)由哪些部分組成?各部分的主要功能和特點是什么?【解答】微型計算機硬件一般由微處理器、內(nèi)存儲器、外存儲器、系統(tǒng)總線、接口電路、輸入/輸出設備等部件組成。主要組成部件的功能和特點分析如下:(1)微處理器:是微型計算機的核心部件,由運算單元ALU、控制單元、寄存器組以及總線接口部件等組成,其功能是負責統(tǒng)一協(xié)調(diào)、管理和控制系統(tǒng)中的各個部件有機地工作。(2)內(nèi)存儲器:用來存放計算機工作過程中需要的操作數(shù)據(jù)和程序??煞譃殡S機存儲器RAM和只讀存儲器ROM。RAM存放當前參與運行的各種程序和數(shù)據(jù),特點是信息可讀可寫,存取方便,但信息斷電后會丟

6、失;ROM用于存放各種固定的程序和數(shù)據(jù),特點是信息固定不變,關機后原存儲的信息不會丟失。(3)系統(tǒng)總線:是CPU與其它部件之間傳送數(shù)據(jù)、地址和控制信息的公共通道??煞殖蓴?shù)據(jù)總線DB、地址總線AB、控制總線CB。(4)輸入/輸出接口電路:完成微型計算機與外部設備之間的信息交換。由寄存器組、專用存儲器和控制電路等組成。(5)主機板:由CPU插座、芯片組、內(nèi)存插槽、系統(tǒng)BIOS、CMOS、總線擴展槽、串行/并行接口、各種跳線和一些輔助電路等硬件組成。(6)外存儲器: 使用最多的是磁盤存儲器(軟盤、硬盤)和光盤存儲器。外存儲器容量大,保存的信息不會丟失。(7)輸入/輸入設備:是微型計算機系統(tǒng)與外部進行

7、通信聯(lián)系的主要裝置。常用的有鍵盤、鼠標、顯示器、打印機和掃描儀等。1.5 什么是微型計算機的系統(tǒng)總線?說明數(shù)據(jù)總線、地址總線、控制總線各自的作用。【解答】系統(tǒng)總線是CPU與其它部件之間傳送數(shù)據(jù)、地址和控制信息的公共通道。(1)數(shù)據(jù)總線:用來傳送數(shù)據(jù),主要實現(xiàn)CPU與內(nèi)存儲器或I/O設備之間、內(nèi)存儲器與I/O設備或外存儲器之間的數(shù)據(jù)傳送。(2)地址總線:用來傳送地址。主要實現(xiàn)從CPU送地址至內(nèi)存儲器和I/O設備,或從外存儲器傳送地址至內(nèi)存儲器等。(3)控制總線:用于傳送控制信號、時序信號和狀態(tài)信息等。1.6 什么是系統(tǒng)的主機板?由哪些部件組成?【解答】CPU、RAM、ROM、I/O接口電路以及系

8、統(tǒng)總線組成的計算機裝置稱為“主機”,主機的主體則是主機板。主機板上主要有CPU插座、芯片組、內(nèi)存插槽、系統(tǒng)BIOS、CMOS、總線擴展槽、串行/并行接口、各種跳線和一些輔助電路等硬件。1.7 計算機中有哪些常用的數(shù)制和碼制?如何進行數(shù)制之間的轉(zhuǎn)換?【解答】數(shù)值數(shù)據(jù)經(jīng)常用二進制、十進制、八進制和十六進制;字符數(shù)據(jù)使用ASCII碼;表示十進制數(shù)字用BCD碼。(1)十進制到二進制:整數(shù)部分連續(xù)除以2后“倒取余”,小數(shù)部分連續(xù)乘以2后“正取整”;(2)二進制到十進制:將二進制數(shù)按權(quán)展開即可。(3)二進制到八進制:將3位二進制一組對應1位八進制數(shù)碼。(4)八進制到二進制:將1位八進制數(shù)碼對應3位二進制數(shù)

9、碼。十六進制與二進制間轉(zhuǎn)換與八進制與二進制間轉(zhuǎn)換類似,只是比例關系為1位十六進制數(shù)碼對應4位二進制數(shù)碼。1.8 將下列十進制數(shù)分別轉(zhuǎn)化為二進制數(shù)、十六進制數(shù)和壓縮BCD碼。(1)15.32 (2)325.16 (3)68.31 (4)214.126 【解答】:(1)15.32 = 1111.0101B = F.5H=00010101.00110010BCD。(2)325.16 = 10000101.0001B = 85.1H= 001100100101.00010110BCD。(3)68.31 = 1000100.0100B = 64.4H= 01101000.00110001BCD。(4)2

10、14.126 = 11010110.0010B = D6.2H= 001000010100.000100100110BCD。1.9 將下列二進制數(shù)分別轉(zhuǎn)化為十進制數(shù)、八進制數(shù)和十六進制數(shù)。(1)10010101 (2)11001010 (3)10111.1101 (4)111001.0101【解答】(1) 11001010 = 202 = 312Q = CAH(2) 10111.1101 = 23.8125 = 27.64Q = 17.DH(3) 111001.0101 = 57.625 = 71.24Q = 39.5H1.10 將下列十六進制數(shù)分別轉(zhuǎn)化為二進制數(shù)、十進制數(shù)。(1)FAH (2

11、)12B8H (3)5A8.62H(4)2DF.2H【解答】(1) FAH = 11111010B = 250(2) 12B8H = 0001001010111000B = 4792(3) 5A8.62H = 010110101000.01100010B = 1448.3828125(4) 2DF.2H = 001011011111.0010B = 735.00781251.11 寫出下列帶符號十進制數(shù)的原碼、反碼、補碼表示(采用8位二進制數(shù))。(1)+38 (2)+82 (3)57 (4)115【解答】(1)X =+38,X補 = 00100110B(2)X =+82,X補 = 010100

12、10B(3)X =57,X補 = 11000111B(4)X =115,X補 = 10001101B1.12 寫出下列二進制數(shù)的補碼表示。(1)+1010100 (2)+1101101 (3) 0110010 (4) 1001110【解答】(1)X = +1010100,X補 = 01010100B(2)X = +1101101,X補 = 01101101B(3)X = 0110010,X補 = 11001110B(4)X = 1001110,X補 = 10110010B1.13 已知下列補碼求出其真值。(1)87H (2)3DH (3)0B62H (4)3CF2H【解答】(1) X補 =87

13、H = 10000111B,符號位為1,X是負數(shù),X原 =11111001B,X =-79H(2) X補 =3DH = 00111101B,符號位為0,X是正數(shù),X = 3DH(3) X補 =0B62H =0000101101100010B,符號位為0,X是正數(shù),X = +B62H(4) X補 =3CF2H = 0011110011110010B,符號位為0,X是正數(shù),X =3CF2H1.14 按照字符所對應的ASCII碼表示,查表寫出下列字符的ASCII碼。A 、g 、W、*、ESC、LF、CR 、%【解答】A的ASCII碼為41H;G的ASCII碼為47H;W的ASCII碼為57H;*的A

14、SCII碼為2AH;ESC的ASCII碼為1BH;LF的ASCII碼為0AH;CR的ASCII碼為DH;%的ASCII碼為25H。1.15 把下列英文單詞轉(zhuǎn)換成ASCII編碼的字符串。(1)How(2)Great (3)Water (4)Good 【解答】(1)How的ASCII碼為486F77H;(2)Great的ASCII碼為4772656174H;(3)Water的ASCII碼為5761746572H;(4)Good的ASCII碼為476F6F64H。習題22.1 8086CPU具有 20 條地址線,可直接尋址 1MB 容量的內(nèi)存空間,在訪問I/O端口時,使用地址線 16條 ,最多可尋址

15、 64K 個I/O端口。 2.2 8086CPU的內(nèi)部結(jié)構(gòu)有何特點?由哪兩部分組成?它們的主要功能是什么?【解答】8086微處理器是典型的16位微處理器,HMOS工藝制造,集成了2.9萬只晶體管,使用單一的+5V電源,有16根數(shù)據(jù)線和20根地址線;通過其16位的內(nèi)部數(shù)據(jù)通路與設置指令預取隊列的流水線結(jié)構(gòu)結(jié)合起來而獲得較高的性能。8086微處理器內(nèi)部安排了兩個邏輯單元,即執(zhí)行部件EU和總線接口部件BIU。EU主要負責指令譯碼、執(zhí)行和數(shù)據(jù)運算,包括計算有效地址;BIU主要完成計算物理地址、從內(nèi)存中取指令、實現(xiàn)指令規(guī)定的讀/寫存儲器或外部設備等信息傳輸類操作。2.3 8086CPU中的指令隊列的作用

16、是 預取指令 ,其長度是 6 字節(jié)。2.4 8086CPU內(nèi)部寄存器有哪幾種?各自的特點和作用是什么?【解答】CPU有14個內(nèi)部寄存器,可分為3大類:通用寄存器、控制寄存器和段寄存器。通用寄存器是一種面向寄存器的體系結(jié)構(gòu),操作數(shù)可以直接存放在這些寄存器中,既可減少訪問存儲器的次數(shù),又可縮短程序的長度,提高了數(shù)據(jù)處理速度,占用內(nèi)存空間少??刂萍拇嫫靼ㄖ噶钪羔樇拇嫫鱅P和標志寄存器FLAG:IP用來指示當前指令在代碼段的偏移位置;FLAG用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行的形式。為了實現(xiàn)尋址1MB存儲器空間,8086CPU將1MB的存儲空間分成若干個邏輯段進行管理,4個16位的段寄存器來存放每一

17、個邏輯段的段起始地址。2.5 8086的標志寄存器分為 6 個 狀態(tài) 標志位和 3 個 控制 標志位,它們各自的含義和作用是什么?【解答】標志寄存器各標志位的含義和作用如下表:表2-1 標志寄存器FLAG中標志位的含義和作用標志位含義作用CF進位標志CF=1,指令執(zhí)行結(jié)果在最高位上產(chǎn)生一個進位或借位;CF=0,則無進位或借位產(chǎn)生PF奇偶標志PF=1,結(jié)果低8位含偶數(shù)個1;PF=0,表示結(jié)果低8位含奇數(shù)個1AF輔助進位標志AF=1,運算結(jié)果的低4位產(chǎn)生了一個進位或借位;AF=0,則無此進位或借位ZF零標志ZF=1,運算結(jié)果為零;ZF=0,則運算結(jié)果不為零SF符號標志SF=1,運算結(jié)果為負數(shù);SF

18、=0,則結(jié)果為正數(shù)OF溢出標志OF=1,帶符號數(shù)在進行運算時產(chǎn)生了溢出;OF=0,則無溢出TF陷阱標志TF=1,8086CPU處于單步工作方式;TF=0,8086CPU正常執(zhí)行程序IF中斷允許標志IF=1,允許CPU接受外部從INTR引腳上發(fā)來的可屏蔽中斷請求信號;IF=0,則禁止接受可屏蔽中斷請求DF方向標志DF=1,字符串操作指令按遞減的順序?qū)ψ址M行處理;DF=0,字符串操作指令按遞增的順序進行處理2.6 已知堆棧段寄存器(SS)=2400H,堆棧指針(SP)=1200H,計算該堆棧棧頂?shù)膶嶋H地址,并畫出堆棧示意圖?!窘獯稹浚⊿S)=2400H,(SP)=1200H圖2-1 堆棧示意圖

19、SP堆棧段棧底;PA=(SS)×10H(SP)= 2400H×10H1200H = 25200H。2.7 8086的存儲器采用 奇偶存儲體 結(jié)構(gòu),數(shù)據(jù)在內(nèi)存中的存放規(guī)定是 低字節(jié)存放在低地址中,高字節(jié)存放在高地址中,以低地址為字的地址,規(guī)則字是指 低字節(jié)地址為偶地址的字,非規(guī)則字是指 低字節(jié)的地址為奇地址的字。2.8 解釋邏輯地址、偏移地址、有效地址、物理地址的含義,8086存儲器的物理地址是如何形成的?怎樣進行計算?【解答】邏輯地址:表示為段地址:偏移地址,書寫程序時用到,一個存儲單元可對應出多個邏輯地址;偏移地址:是某一存儲單元距離所在邏輯段的開始地址的字節(jié)個數(shù)。有效地

20、址:是指令中計算出的要訪問的存儲單元的偏移地址。物理地址:是CPU訪問存儲器時用到的20位地址,是存儲單元的唯一的編號。物理地址計算公式:物理地址 = 段地址×10H有效地址(或偏移地址)2.9 8086系統(tǒng)中的存儲器分為幾個邏輯段?各段之間的關系如何?每個段寄存器的作用是什么?【解答】8086CPU將1MB的存儲空間分成邏輯段來進行管理:每個邏輯段最小為16B。所以最多可分成64K個段;每個邏輯段最大為64KB,最少可分成16個邏輯段。各段的起始位置由程序員指出,可以彼此分離,也可以首尾相連、重疊或部分重疊。4個16位的段寄存器用來存放每一個邏輯段的段起始地址:CS中為代碼段的起始

21、地址;DS中為數(shù)據(jù)段的起始地址;SS中為堆棧段的起始地址;ES中為附加段的起始地址。2.10 I/O端口有哪兩種編址方式,各自的優(yōu)缺點是什么?【解答】I/O端口有兩種編址方式:統(tǒng)一編址和獨立編址。統(tǒng)一編址方式是將I/O端口與內(nèi)存單元統(tǒng)一起來進行編號,即包括在1MB的存儲器空間中,看作存儲器單元,每個端口占用一個存儲單元地址。該方式主要優(yōu)點是不需要專門的I/O指令,對I/O端口操作的指令類型多;缺點是端口要占用部分存儲器的地址空間,不容易區(qū)分是訪問存儲器還是外部設備。獨立編址的端口單獨構(gòu)成I/O地址空間,不占用存儲器地址。優(yōu)點是地址空間獨立,控制電路和地址譯碼電路簡單,采用專用的I/O指令,使得

22、端口操作的指令在形式上與存儲器操作指令有明顯區(qū)別,程序容易閱讀;缺點是指令類別少,一般只能進行傳送操作。2.11 8086的最大工作模式和最小各種模式的主要區(qū)別是什么?如何進行控制?【解答】兩種模式的主要區(qū)別是:8086工作在最小模式時,系統(tǒng)只有一個微處理器,且系統(tǒng)所有的控制信號全部由8086 CPU提供;在最大模式時,系統(tǒng)由多個微處理器/協(xié)處理器構(gòu)成的多機系統(tǒng),控制信號通過總線控制器產(chǎn)生,且系統(tǒng)資源由各處理器共享。8086CPU工作在哪種模式下通過CPU的第33條引腳MN/來控制:MN/=1,系統(tǒng)就處于最小工作模式;MN/=0,系統(tǒng)處于最大工作模式。2.12 在內(nèi)存有一個由20個字節(jié)組成的數(shù)

23、據(jù)區(qū),其起始地址為1100H:0020H。計算出該數(shù)據(jù)區(qū)在內(nèi)存的首末單元的實際地址?!窘獯稹窟壿嫷刂?100H:0020H對應的物理地址為PA=1100H×10H0020H= 11020H,即該數(shù)據(jù)區(qū)在內(nèi)存中的首單元的物理地址為11020H;因為存儲空間中每個字節(jié)單元對應一個地址,所以20個字節(jié)對應20個地址,則該數(shù)據(jù)區(qū)在內(nèi)存中的末單元的物理地址PA = 11020H20D = 11020H14H = 11034H。2.13 已知兩個16位的字數(shù)據(jù)268AH和357EH,它們在8086存儲器中的地址分別為00120H和00124H,試畫出它們的存儲示意圖?!窘獯稹看鎯κ疽鈭D參見圖2-

24、2。8AH00120H50H00510H26H00121H65H00511H00122H6EH00512H00123H74H00513H7EH00124H69H00514H35H00125H75H00515H6DH00516H圖2-2 數(shù)據(jù)的存儲示意 圖2-3 字符的存儲示意2.14 找出字符串“Pentium”的ASCII碼,將它們依次存入從00510H開始的字節(jié)單元中,畫出它們存放的內(nèi)存單元示意圖。 【解答】存儲示意圖參見圖2-3。2.15 在內(nèi)存中保存有一個程序段,其位置為(CS)=33A0H,(IP)=0130H,當計算機執(zhí)行該程序段指令時,分析實際啟動的物理地址是多少?!窘獯稹窟壿嫷?/p>

25、址(CS):(IP)= 33A0H:0130H,計算出對應物理地址PA= (CS)×10H(IP)= 33A0H×10H0130H = 33B30H2.16 什么是總線周期?8086CPU的讀/寫總線周期各包含多少個時鐘周期?什么情況下需要插入等待周期TW,什么情況下會出現(xiàn)空閑狀態(tài)TI?【解答】8086CPU經(jīng)外部總線對存儲器或I/O端口進行一次信息的輸入或輸出過程所需要的時間,稱為總線周期。8086CPU的讀/寫總線周期通常包括T1、T2、T3、T4狀態(tài)4個時鐘周期。在高速的CPU與慢速的存儲器或I/O接口交換信息時,為了防止丟失數(shù)據(jù),會由存儲器或外設通過READY信號線

26、,在總線周期的T3和T4之間插入1個或多個必要的等待狀態(tài)TW,用來進行必要的時間補償。在BIU不執(zhí)行任何操作的兩個總線周期之間會出現(xiàn)空閑狀態(tài)TI。習題33.1 簡要分析8086的指令格式由哪些部分組成,什么是操作碼?什么是操作數(shù)?尋址和尋址方式的含義是什么?8086指令系統(tǒng)有哪些尋址方式?【解答】8086的指令格式由操作碼和操作數(shù)字段組成。操作碼:要完成的操作。操作數(shù):參與操作的對象。尋址:尋找操作數(shù)或操作數(shù)地址的過程。尋址方式:指令中給出的找到操作數(shù)或操作數(shù)地址采用的方式。8086指令系統(tǒng)的尋址方式主要有立即數(shù)尋址、寄存器尋址、存儲器尋址和I/O端口尋址。其中,存儲器尋址可進一步分為直接尋址

27、、寄存器間接尋址、寄存器相對尋址、基址變址尋址、相對基址變址尋址;I/O端口指令IN和OUT使用的端口尋址方式有直接尋址和間接尋址。3.2 設(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,數(shù)據(jù)變量VAL的偏移地址為0050H,請指出下列指令的源操作數(shù)字段是什么尋址方式?它的物理地址是多少?(1) MOV AX,21H (2) MOV AX,BX (3) MOV AX,1000H(4) MOV AX,VAL (5) MOV AX,BX (6) MOV AX,ES:BX(7) MOV AX,BP (8)

28、 MOV AX,SI (9) MOV AX,BX+10(10) MOV AX,VALBX (11) MOV AX,BXSI (12) MOV AX,VALBXSI【解答】(1) MOV AX,21H立即尋址,源操作數(shù)直接放在指令中(2) MOV AX,BX寄存器尋址,源操作數(shù)放在寄存器BX中(3) MOV AX,1000H直接尋址,EA = 1000H,PA =(DS)×10HEA = 2000H×10H1000H = 21000H(4) MOV AX,VAL直接尋址,EA = VAL = 0050H,PA =(DS)×10HEA = 2000H×10H

29、0050H = 20050H(5) MOV AX,BX寄存器間接尋址,EA =(BX)= 0100H,PA =(DS)×10HEA = 2000H×10H0100H = 20100H(6) MOV AX,ES:BX寄存器間接尋址,EA =(BX)= 0100H,PA =(ES)×10HEA = 2100H×10H0100H = 21100H(7) MOV AX,BP寄存器間接尋址,EA =(BP)= 0010H,PA =(SS)×10HEA = 1500H×10H0010H = 15010H(8) MOV AX,SI寄存器間接尋址,E

30、A =(SI)= 00A0H,PA =(DS)×10HEA = 2000H×10H00A0H = 200A0H(9) MOV AX,BX+10相對寄存器尋址,EA =(BX)10D = 0100H000AH= 010AH,PA =(DS)×10HEA = 2000H×10H010AH = 2010AH(10) MOV AX,VALBX相對寄存器尋址,EA =(BX)VAL= 0100H0050H= 0150H,PA =(DS)×10HEA = 2000H×10H0150H = 20150H(11) MOV AX,BXSI基址變址尋址,

31、EA = (BX)(SI)= 0100H00A0H = 01A0H,PA = (DS)×10HEA = 2000H×10H01A0H = 201A0H(12) MOV AX,VALBXSI相對基址變址尋址,EA = (BX)(SI)VAL= 0100H00A0H0050H = 01F0H,PA =(DS)×10HEA = 2000H×10H01F0H = 201F0H3.3 給定寄存器及存儲單元的內(nèi)容為:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) =

32、 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。試說明下列各條指令執(zhí)行完后,AX寄存器中保存的內(nèi)容是什么。(1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,1200H(4) MOV AX,BX (5) MOV AX,1100HBX (6) MOV AX,BXSI【解答】(1) MOV AX,1200H ;執(zhí)行后,(AX)= 1200H(2) MOV AX,BX ;執(zhí)行后,(AX)= (BX)= 0100H(3) MOV AX,1200H 直接尋址,EA = V

33、AL = 1200H,PA =(DS)×10HEA = 2000H×10H1200H = 21200H,執(zhí)行后,(AX)= B61AH(4) MOV AX,BXEA = (BX)= 0100H,PA =(DS)×10HEA = 2000H×10H0100H = 20100H,執(zhí)行后,(AX)= 5132H(5) MOV AX,1100HBXEA =(BX)1100H = 0100H1100H = 1200H,PA =(DS)×10HEA = 2000H×10H1200H = 21200H,執(zhí)行后,(AX)= B61AH(6) MOV

34、AX,BXSIEA =(BX)(SI)= 0100H0002H = 0102H,PA =(DS)×10HEA = 2000H×10H0102H = 20102H,執(zhí)行后,(AX)= 29D1H3.4 分析下列指令的正誤,對于錯誤的指令要說明原因并加以改正。(1) MOV AH,BX (2) MOV BX,SI(3) MOV AX,SIDI (4) MOV MYDATBXSI,ES:AX(5) MOV BYTE PTRBX,1000 (6) MOV BX,OFFSET MAYDATSI (7) MOV CS,AX (8) MOV DS,BP【解答】(1) MOV AH,BX

35、錯誤,寄存器類型不匹配,可改為MOV AX,BX(2) MOV BX,SI錯誤,兩個操作數(shù)不能都為存儲單元,可改為MOV BX,SI或MOV BX,SI(3) MOV AX,SIDI錯誤,尋址方式中只能出現(xiàn)一個變址寄存器,可改為MOV AX,BXDI。(4) MOV MYDATBXSI,ES:AX錯誤,AX簽不能有段跨越前綴,去掉ES:,改為MOV MYDATBXSI,AX(5) MOV BYTE PTRBX,1000錯誤,1000超出字節(jié)空間存儲范圍(6) MOV BX,OFFSET MAYDATSI ;正確(7) MOV CS,AX錯誤,MOV指令CS不能做目的操作數(shù),可改為MOV DS,

36、AX(8) MOV DS,BP ;正確注:本題錯誤改正部分有的答案并不唯一,可參考原題題意改成合法形式。3.5 設VAR1、VAR2為字變量,LAB為標號,分析下列指令的錯誤之處并加以改正。(1) ADD VAR1,VAR2 (2) MOV AL,VAR2(3) SUB AL,VAR1 (4) JMP LABSI(5) JNZ VAR1 (6) JMP NEAR LAB【解答】(1) ADD VAR1,VAR2錯誤,兩個操作數(shù)不能都為存儲單元,可改為 MOV BX,VAR2ADD VAR1,BX(2) MOV AL,VAR2錯誤,數(shù)據(jù)類型不匹配,可改為MOV AX,VAR2(3) SUB AL

37、,VAR1錯誤,數(shù)據(jù)類型不匹配,可改為SUB AX,VAR1(4) JMP LABSI錯誤,寄存器相對尋址形式中不能用標號做位移量,可改為JMP VAR1SI(5) JNZ VAR1錯誤,條件跳轉(zhuǎn)指令只能進行段內(nèi)短跳轉(zhuǎn),所以后面只能跟短標號??筛臑镴NZ LAB(6) JMP NEAR LAB錯誤,缺少運算符PTR,可改為JMP NEAR PTR LAB注:本題錯誤改正部分有的答案并不唯一,可參考原題題意改成合法形式。3.6 寫出能夠完成下列操作的8086CPU指令。(1) 把4629H傳送給AX寄存器;(2) 從AX寄存器中減去3218H;(3) 把BUF的偏移地址送入BX中?!窘獯稹?1)

38、 MOV AX,4629H(2) SUB AX,3218H(3) LEA BX,BUF3.7 根據(jù)以下要求寫出相應的匯編語言指令。 (1) 把BX和DX寄存器的內(nèi)容相加,結(jié)果存入DX寄存器中; (2) 用BX和SI的基址變址尋址方式,把存儲器中的一個字節(jié)與AL內(nèi)容相加,并保存在AL寄存器中; (3) 用寄存器BX和位移量21B5H的變址尋址方式把存儲器中的一個字和(CX)相加,并把結(jié)果送回存儲器單元中; (4) 用位移量2158H的直接尋址方式把存儲器中的一個字與數(shù)3160H相加,并把結(jié)果送回該存儲器中; (5) 把數(shù)25H與(AL)相加,結(jié)果送回寄存器AL中。【解答】(1) ADD DX,B

39、X(2) ADD AL,BXSI(3) ADD 21B5HBX,CX(4) ADD WORD PTR 2158H,3160H(5) ADD AL,25H3.8 分析匯編語言源程序應該由哪些邏輯段組成?各段的作用是什么?語句標號和變量應具備哪3種屬性?【解答】匯編語言源程序應該由若干個邏輯段組成,可以有若干個數(shù)據(jù)段、代碼段、堆棧段和附加數(shù)據(jù)段,至少要有一個代碼段。各段的作用如下:(1)代碼段用來存放程序和常數(shù)。(2)數(shù)據(jù)段用于數(shù)據(jù)的保存。(3)堆棧段用于保護數(shù)據(jù),尤其在子程序調(diào)用、中斷過程中進行現(xiàn)場信息保護。(4)附加數(shù)據(jù)段用于數(shù)據(jù)的保存。語句標號和變量應具備的3種屬性:段屬性、偏移屬性和類型屬

40、性。3.9 執(zhí)行完下列程序后,回答指定的問題。MOV AX,0MOV BX,2MOV CX,50LP:ADD AX,BXADD BX,2LOOP LP問:(1) 該程序的功能是 。(2) 程序執(zhí)行完成后,(AX)= ?!窘獯稹浚?)完成0到100間所有偶數(shù)求和的功能。(2)25503.14 編寫程序,計算下面函數(shù)的值?!窘獯稹緿ATA SEGMENT X DW 34 S DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AX,X ;將X送到AX中 CMP AX,0 ;(AX)0嗎? J

41、L DOUB ;是,轉(zhuǎn)向doub CMP AX,10 ;否,(ax)10嗎? JLE TRIB ;是,轉(zhuǎn)向trib SAL AX,1 ;否,乘以4 SAL AX,1 JMP EXITDOUB: SAL AX,1 ;乘以2 JMP EXITTRIB: SAL AX,1 ;乘以3 ADD AX,XEXIT: MOV S,AX ;保存結(jié)果 MOV AH,4CH ;結(jié)束 INT 21HCODE ENDS END START注意,在比較的過程中使用的是針對帶符號數(shù)的跳轉(zhuǎn)指令,應該看作帶符號數(shù)。程序中還用了移位指令代替了乘法指令。3.16 已知在內(nèi)存中從BLOCK單元起存放有20個帶符號字節(jié)數(shù)據(jù),統(tǒng)計其中

42、負數(shù)的個數(shù)并放入COUNT單元?!窘獯稹緿ATA SEGMENT BLOCK DB -7,1,12,-90,-70,34,-1,56,45,-12 DB -3,-4,23,0,12,11,-9,-8,67,-56 CN EQU $-BLOCK COUNT DB ?DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV DL,0 LEA SI,BLOCK MOV CX,CNLP: MOV AL,SI TEST AL,80H JZ NEXT INC DLNEXT: INC SI LOOP LP MOV

43、COUNT,DL MOV AH,4CH INT 21HCODE ENDS END START習題44.1 半導體存儲器有哪些優(yōu)點?SRAM、DRAM各自有何特點?【解答】特點是容量大、存取速度快、體積小、功耗低、集成度高、價格便宜。SRAM存放的信息在不停電的情況下能長時間保留不變,只要不掉電所保存的信息就不會丟失。而DRAM保存的內(nèi)容即使在不掉電的情況下隔一定時間后也會自動消失,因此要定時對其進行刷新。4.2 ROM、PROM、EPROM、E2PROM、Flash Memory各有何特點?用于何種場合?【解答】掩膜式ROM中的信息是在生產(chǎn)廠家制造時寫入的。制成后,信息只能讀出不能改寫。PRO

44、M中晶體管的集電極接VCC,基極連接行線,發(fā)射極通過一個熔絲與列線相連。出廠時,晶體管陣列的熔絲完好。寫入信息時,選中某個晶體管,輸入高低電平保留或燒斷熔絲對應1和0。燒斷熔絲不能再復原,因此只能進行一次編程。EPROM芯片的頂部開有一石英窗口,通過紫外線的照射可擦除片內(nèi)原有信息,一塊芯片可多次使用,缺點是只能進行整片寫。E2PROM是可用電擦除和編程的只讀存儲器,能在線讀寫,斷電情況信息不丟失,能隨機改寫;其擦寫次數(shù)可達1萬次以上,數(shù)據(jù)可保存10年以上??勺鳛橄到y(tǒng)中可靠保存數(shù)據(jù)的存儲器。Flash Memory是新型的半導體存儲器,可實現(xiàn)大規(guī)模電擦除,擦除功能可迅速清除整個存儲器的所有內(nèi)容;

45、可高速編程;閃速存儲器可重復使用,適用于文件需要經(jīng)常更新的可重復編程應用中。對于需要實施代碼或數(shù)據(jù)更新的嵌入性應用是一種理想的存儲器。4.3 動態(tài)RAM為什么需要經(jīng)常刷新?微機系統(tǒng)如何進行動態(tài)RAM的刷新?【解答】動態(tài)RAM是利用電容存儲電荷的原理來保存信息的,由于電容會泄漏放電,所以,為保持電容中的電荷不丟失,必須對動態(tài)RAM不斷進行刷新。DRAM的刷新常采用兩種方法:一是利用專門的DRAM控制器實現(xiàn)刷新控制,如Intel 8203控制器;二是在每個DRAM芯片上集成刷新控制電路,使存儲器件自身完成刷新,如Intel 2186/2187。4.4 常用的存儲器地址譯碼方式有哪幾種?各自的特點是

46、什么?【解答】線選譯碼:連接簡單,無須專門的譯碼電路;缺點是地址不連續(xù),CPU尋址能力的利用率太低,會造成大量的地址空間浪費。全譯碼:將低位地址總線直接連至各芯片的地址線,余下的高位地址總線全部參加譯碼,譯碼輸出作為各芯片的片選信號。可以提供對全部存儲空間的尋址能力。部分譯碼:該方法只對部分高位地址總線進行譯碼,以產(chǎn)生片選信號,剩余高位線可空閑或直接用作其它存儲芯片的片選控制信號。4.5 半導體存儲器在與微處理器連接時應注意哪些問題?【解答】半導體存儲器與CPU連接前,要確定內(nèi)存容量的大小并選擇存儲器芯片的容量大小,要考慮存儲器地址分配問題;在進行存儲器地址分配時,要將ROM和RAM分區(qū)域安排

47、。4.6 計算機在什么情況下需要擴展內(nèi)存?擴展內(nèi)存需要注意哪些問題?【解答】單個存儲芯片的存儲容量是有限的,因此常常需要將多片存儲器按一定方式組成具有一定存儲單元數(shù)的存儲器。4.7 已知某微機系統(tǒng)的RAM容量為4K×8位,首地址為2600H,求其最后一個單元的地址?!窘獯稹縍AM的容量為4K×8位=4KB,對應的地址有4K個,首地址為2600H,則其最后一個單元的地址為2600H(4K1)= 2600H4095 = 2600HFFFH = 35FFH4.8 已知一個具有14位地址和8位數(shù)據(jù)的存儲器,回答下列問題:(1)該存儲器能存儲多少字節(jié)的信息?(2)如果存儲器由8K&#

48、215;4位RAM芯片組成,需要多少片?(3)需要多少位地址作芯片選擇?【解答】(1)該存儲器能存儲的字節(jié)個數(shù)是214= 24×210 = 16K。(2)該存儲器能存儲的總?cè)萘渴?6KB,若由8K×4位RAM芯片組成,需要的片數(shù)為(16K×8)/(8K×4)= 4片(3)因為該存儲器中讀寫數(shù)據(jù)的寬度為8位,所以4片8K×4位RAM芯片要分成兩組,用一位地址就可區(qū)分;另一方面,每一組的存儲容量為8K×8位 = 213×8位,只需要13位地址就可完全訪問。4.9 用16K×1位的DRAM芯片組成64K×8位的

49、存儲器,要求畫出該存儲器組成的邏輯框圖?!窘獯稹靠?cè)萘繛?4K×8位,由16K×1位的DRAM芯片組成:(64K×8位)/(16K×1位)= 32片既要進行位擴展又要進行字擴展:由8片組成一組進行位擴展,由這樣的4組進行字擴展。每一組的存儲容量為16K×8位 = 16KB = 214B,需要14位地址做片內(nèi)尋址;4組芯片需要2位地址做片組選擇,即片選信號。邏輯框圖見圖4-1。為清楚起見,圖中只畫出了各個芯片的部分連線。4.10 若用4K×1位的RAM芯片組成16K×8位的存儲器,需要多少芯片?A19A0地址線中哪些參與片內(nèi)尋

50、址?哪些作為芯片組的片選信號?【解答】(16K×8位)/(4K×1位)= 32片每8片一組,分成4組。每組的存儲容量為4KB = 212B,片內(nèi)尋址需要12位地址線,即A11A0;4組芯片可用2位地址線進行區(qū)分,即可用A13A12做片選信號,A19A14可浮空或做其他用途。4.11 若用2114芯片組成2KB RAM,地址范圍為3000H37FFH,問地址線應如何連接?(假設CPU有16條地址線、8條數(shù)據(jù)線)【解答】2114芯片單片容量為1K×4位,組成2K×8位RAM需要:(2K×8位)/(1K×4位)= 4片每2片一組,分成2組。

51、每組的存儲容量為1KB = 210B,片內(nèi)尋址需要10位地址線。對應的地址范圍為3000H37FFH = 0011000000000000B 0011011111111111B,可見,CPU的16條地址線中A9A0用于片內(nèi)尋址,A10用做片選信號,A13A12接高電平,A15A14、A11接地。4.12 簡述計算機中為什么要采用高速緩存器Cache?分析其工作原理。習題55.1 什么是接口?其作用是什么?【解答】連接外部設備與微型計算機的接口電路。作用:(1)解決CPU與外設工作速度不匹配的問題;(2)解決CPU與外設工作時序配合問題;(3)實現(xiàn)信息格式轉(zhuǎn)換;(4)解決信息類型與信號電平匹配的

52、問題。5.2 輸入/輸出接口電路有哪些寄存器,各自的作用是什么?【解答】通常有數(shù)據(jù)輸入、數(shù)據(jù)輸出、控制和狀態(tài)寄存器等。在CPU與外部設備之間進行數(shù)據(jù)傳輸時,各類信息寫入接口中相應的寄存器,或從相應寄存器讀出。CPU從數(shù)據(jù)輸入寄存器和狀態(tài)寄存器中讀出數(shù)據(jù)和狀態(tài),但不能向其中寫內(nèi)容; CPU往數(shù)據(jù)輸出寄存器和控制寄存器中寫數(shù)據(jù)和控制信息,但不能從其中讀內(nèi)容。5.3 什么叫端口?I/O端口的編址方式有哪幾種?各有何特點? 【解答】端口指輸入/輸出接口中的寄存器。I/O端口有兩種編址方式:統(tǒng)一編址方式是將I/O端口與內(nèi)存單元統(tǒng)一起來進行編號。該方式優(yōu)點是不需要專門的I/O指令,對I/O端口操作的指令類

53、型多;缺點是端口要占用部分存儲器的地址空間,不容易區(qū)分是訪問存儲器還是外部設備。獨立編址的端口單獨構(gòu)成I/O地址空間,不占用存儲器地址。優(yōu)點是地址空間獨立,控制電路和地址譯碼電路簡單,采用專用的I/O指令,使得端口操作的指令在形式上與存儲器操作指令有明顯區(qū)別,程序容易閱讀;缺點是指令類別少,一般只能進行傳送操作。5.4 CPU與輸入輸出設備之間傳送的信息由哪幾類?相應的端口稱為什么端口?【解答】CPU與輸入/輸出設備交換的信息有3類:數(shù)據(jù)信息、狀態(tài)信息和控制信息。數(shù)據(jù)信息相應的端口稱為數(shù)據(jù)端口;狀態(tài)信息相應的端口稱為狀態(tài)端口;控制信息相應的端口稱為控制端口。5.5 CPU和外設之間的數(shù)據(jù)傳送方式有哪幾種?無條件傳送方式通常用在哪些場合?【解答】CPU和外設之間的數(shù)據(jù)傳送方式通常有四種:程序傳送方式、中斷傳送方式、DMA傳送方式和I/O處理機方式。5.6 相對于條件傳送方式,中斷方式有什么優(yōu)點?和DMA方式比較,中斷傳送方式又有什么不足之處?【解答】中斷傳送方式下,當外設要求交換數(shù)據(jù)時,向CPU發(fā)中斷請求,CPU在執(zhí)行完當前指令后,即可中斷當前任務的執(zhí)行,并根據(jù)中斷源轉(zhuǎn)入相應的中斷處理服務程序

溫馨提示

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

評論

0/150

提交評論