微型計算機原理與應用技術(shù)部分復習題答案(新)

上傳人:沈*** 文檔編號:199852392 上傳時間:2023-04-12 格式:DOC 頁數(shù):37 大?。?11KB
收藏 版權(quán)申訴 舉報 下載
微型計算機原理與應用技術(shù)部分復習題答案(新)_第1頁
第1頁 / 共37頁
微型計算機原理與應用技術(shù)部分復習題答案(新)_第2頁
第2頁 / 共37頁
微型計算機原理與應用技術(shù)部分復習題答案(新)_第3頁
第3頁 / 共37頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《微型計算機原理與應用技術(shù)部分復習題答案(新)》由會員分享,可在線閱讀,更多相關(guān)《微型計算機原理與應用技術(shù)部分復習題答案(新)(37頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、《微型計算機原理及應用技術(shù)》習題答案 為了配合《計算機原理及硬件技術(shù)》課程的學習,特編制此部分習題答案,以便對廣大同學的學習能有所幫助。 但由于時間倉促,難免有錯誤之處,請同學們在學習中發(fā)現(xiàn)錯誤盡快找老師聯(lián)系進行更正,可以通過email 郵箱聯(lián)系: gongdajixi@ 第一章 微機基礎知識 一、選擇題 1.一臺完整的微機系統(tǒng)應包括( )。 A A.硬件和軟件 B.運算器、控制器和存儲器 C.主機和外部設備 D.主機和實用程序 2.微機硬件中最核心的部件是( )。 C A.運算器 B.主存儲器 C.CPU

2、 D.輸入/輸出設備 3.微機的性能主要取決于( )。 A A.CPU B.主存儲器 C.硬盤 D.顯示器 4. 帶符號數(shù)在計算機中通常采用( )來表示。 C A.原碼 B.反碼 C.補碼 D.BCD碼 5.已知某數(shù)為-128,其機器數(shù)為10000000B,則其機內(nèi)采用的是( )表示。 C A.原碼 B.反碼 C.補碼 D.真值 6.在8位二進制數(shù)中,采用補碼表示時數(shù)的真值范圍是( )。 C A.-127~+127 B.-127~+128 C.

3、-128~+127 D.-128~+128 7.大寫字母“B”的ASCII碼是( )。 B A. 41H B. 42H C. 61H D. 62H 8.某數(shù)在計算機中用8421-BCD碼表示為10010011,其真值為( )。 C A.10010011B B.93H C.93 D.147 二、填空題: 1. 微機的硬件主要包括主機和外設等部分。 2. 系統(tǒng)軟件主要包括操作系統(tǒng)、語言處理程序和各種實用程序等。 3. 任何計數(shù)制都可以采用基數(shù)和位權(quán)來表示,二進制的基數(shù)為2,其中第n位的

4、位權(quán)為2n-1。 4. 計算機中的數(shù)有_數(shù)值型和非數(shù)值型_兩種表示方法,前者的特點是_表示數(shù)值大小,進行算術(shù)運算等處理操作_;后者的特點是_表示字符編碼,在計算機中描述某種特定的信息。 5. 計算機中參加運算的數(shù)及運算結(jié)果都應在用原碼表示的-2n-1 ≤ X < +2n-1范圍內(nèi),若參加運算的數(shù)及運算結(jié)果-2n-1 > X±Y ≥ +2n-1,稱為數(shù)據(jù)溢出。注:其中n為計算機的字長 6. 計算機中帶符號的數(shù)在運算處理時通常采用補碼表示,其好處在于簡化機器數(shù)的運算。 7. ASCII碼可以表示_128_種字符,其中起控制作用的稱為_功能碼_;供書寫程序和描述命令使用的稱為_信息碼_。

5、8. 已知某數(shù)為61H,若為無符號數(shù)代表 97D ;若為帶符號數(shù)代表 +97D ;若為ASCII碼代表a;若為BCD碼代表 61 。 三、判斷題 1.由于物理器件的性能,決定了微機內(nèi)部的所有信息仍以二進制方式表示。 ( )√ 2.微機中數(shù)據(jù)的表示范圍不受計算機字長的限制。 ( ) × 3.微機地址總線的寬度決定內(nèi)存容量的大小。 ( ) √ 4.“0”的原碼和反碼各有不同表示,而“0”的補碼表示是唯一的。 ( )√ 5.微機在運算中產(chǎn)生數(shù)據(jù)溢出,其原因是運算過程中最高位產(chǎn)生了進位。 ( )× 6.微機鍵盤輸入的各類符號在計算機內(nèi)部均表示

6、為ASCII碼。 ( ) × 四、數(shù)制轉(zhuǎn)換題 1.將下列十進制數(shù)分別轉(zhuǎn)換為二進制數(shù)、十六進制數(shù)和壓縮BCD碼。 (1)26 (2)47 (3)125 (4)228 答: (1) (2) (3) (4) 十進制數(shù) 26 47 125 228 二進制數(shù) 11010 101111 1111101 11100100 十六進制數(shù) 1AH 2FH 7DH E4H 壓縮BCD碼 00100110 01000111 000100100101 001000101000 方法: 轉(zhuǎn)換為二進制數(shù):用“除R取余”法 轉(zhuǎn)換為十六

7、進制數(shù):將二進制數(shù)采用“四合一”法(即每四位分為一段) 轉(zhuǎn)換為壓縮BCD碼:將十進制數(shù)采用“一分四”法(即每一位用四位二進制數(shù)表示)例如: 26D=0010 0110=26BCD 2.將下列二進制數(shù)或十六進制數(shù)分別轉(zhuǎn)換為十進制數(shù)。 (1)10110110B (2)10100101B (3)A8H (4)B5.62H 答:按位權(quán)展開法進行求解。 (1) (2) (3) (4) 10110110B 10100101B A8H B5.62H 十進制數(shù) 182 165 168 181.3828125 例如: (1) 10110110B =

8、1×27+1×25+1×24+1×22+1×21 = 182D (3) A8H = A×16+8 = 10×16+8 = 168 D 3.寫出下列帶符號十進制數(shù)的原碼、反碼、補碼表示(采用8位二進制數(shù))。 (1)+28 (2)+75 (3)-38 (4)-119 答:(1) +28 [28]原=0001 1100 ; [28]反=0001 1100 ; [28]補=0001 1100 (2) +75 [75]原=0100 1011 ; [75]反=0100 1011 ; [75]補=0100 1011

9、 (3) -38 [-38]原=1010 0110 ; [-38]反=1101 1001 ; [-38]補=1101 1010 (4) -119 [-119]原=1111 0111 ; [-119]反=1000 1000 ; [-119]補=1000 1001 4. 已知下列補碼求出其真值。 (1)97H (2)3FH (3)3C2AH (4)8B4CH 答:解法:先用[X]補 最高位確定真值的符號,然后求[X]反,再加1得出X,最后若需要將其轉(zhuǎn)換為十進制數(shù),可以將十六進制數(shù)轉(zhuǎn)換為十進制數(shù)。 (1) [X]補 = 97H =

10、 10010111B,符號位為1,X是負數(shù),[X]反 =[0010111] 補= [1101000]反,[X] 原=-([X]反+1) = -([1101000]反+1) =([1101001] 原) ,X = -69H = -105D (2) [X]補 = 3FH = 00111111B,符號位為0,X是正數(shù),X =[X]補 = 3FH = 63D (3) [X]補 = 3C2AH = 0011110000101010B,符號位為0,X是正數(shù),X = 3C2A H (4) [X]補 = 8B4CH = 1000101101001100B,符號位為1,X是負數(shù), [X]原 = -111

11、010010110011B, X = -74B4H 5. 按照字符所對應的ASCII碼值,查表寫出下列字符的ASCII碼。 K、b、good、*、$、 ESC、LF、CR、 答: K b good * $ ESC LF CR 4BH 62H 676F6F64H 2AH 24H 1BH 0AH 0DH 五、簡答題 1. 常見的微機硬件結(jié)構(gòu)由哪些部分組成?各部分主要功能和特點是什么? 答:常見的微機硬件結(jié)構(gòu)組成部分有:中央處理機、存儲器、系統(tǒng)總線、接口電路、主機板及I/O設備等部件。 主要組成部件的功能和特點分析如下: (1) 中央處理器CPU:是微

12、型計算機部件,它包含運算器、控制器、寄存器組及總線接口等部件。它負責對系統(tǒng)的各模塊進行統(tǒng)一的協(xié)調(diào)和控制。 (2) 主存儲器:是微型計算機中存儲程序、原始程序、中間結(jié)果和最終結(jié)果等各種信息的部件??煞譃殡S機存儲器(RAM)和只讀存儲器(ROM)。 (3) 系統(tǒng)總線:是CPU與其他部件之間傳輸數(shù)據(jù)、地址和控制信息的公共通道。各部件直接用系統(tǒng)總線相連,信號通過總線相互傳輸。根據(jù)傳輸內(nèi)容不同,可以分成數(shù)據(jù)總線、地址總線和控制總線。 (4) 輸入/輸出接口電路:也成為I/O電路。是微型計算機與外部設備交換信息的橋梁。由寄存器組、專用存儲器和控制電路等組成。 (5) 主機板:由CPU、RAM、RO

13、M、I/O接口電路及系統(tǒng)總線等部件組成的計算機裝置稱為主機。主機的主體是主機板,CPU就安裝在它上面,主機板上有內(nèi)存插槽、總線擴展槽、串行/并行接口、各種跳線和一些輔助電路等硬件。 (6) 外存儲器:使用最多的是磁盤存儲器(軟盤、硬盤)和光盤存儲器。外存儲器容量大,保存的信息不會丟失。 (7) 輸入/輸入設備:是微型計算機系統(tǒng)與外部進行通信聯(lián)系的主要裝置。常用的有鍵盤、鼠標、顯示器、打印機和掃描儀等。 2. 計算機中有哪些常用的計數(shù)制?如何進行數(shù)制之間的轉(zhuǎn)換? 答:數(shù)值數(shù)據(jù)經(jīng)常用二進制、十進制、八進制和十六進制;字符數(shù)據(jù)使用ASCII碼;表示十進制數(shù)字用BCD碼。 (1) 十進制轉(zhuǎn)換

14、為二進制:整數(shù)部分連續(xù)除以2后“倒取余”,小數(shù)部分連續(xù)乘以2后“正取整”。 (2) 二進制轉(zhuǎn)換為十進制:將二進制數(shù)按權(quán)展開即可。 (3) 二進制與八進制之間的轉(zhuǎn)換:將3位二進制一組對應1位八進制數(shù)。 (4) 二進制與十六進制之間的轉(zhuǎn)換:將4位二進制一組對應1位十六進制數(shù)。 3.如何判斷數(shù)據(jù)運算的溢出? 答:“溢出”的概念:當運算結(jié)果超出了結(jié)果單元所能表示的數(shù)值范圍(即用原碼表示的-2n-1 > X±Y ≥ +2n-1范圍)時,會產(chǎn)生錯誤結(jié)果。這種現(xiàn)象稱為“溢出”。 “溢出”與數(shù)的表示方法有關(guān),因而“溢出”的判別方法也不同。在補碼運算中,有符號數(shù)常用“雙進位位”法判別(即:最高位與

15、次高位都產(chǎn)生進位表明運算有“溢出”),無符號數(shù)值要運算有進位或借位就表明運算有“溢出”。 4. ASCII碼和BCD碼有哪些特點?其應用場合是什么? 答:ASCII碼的特點為:每個字符用7位二進制數(shù)表示,總共有128個字符;ASCII碼表中的英文字母和數(shù)字都是按順序排列;128個字符包含94種信息碼和34種功能碼兩大類; ASCII碼用于表示英文字母的大小寫、數(shù)字、專用字符和控制字符,ASCII碼的最高位用于奇偶校驗等場合。 BCD碼有壓縮BCD碼和非壓縮BCD碼的兩種表示形式。其特點為:它是一種有權(quán)碼,BCD碼采用4位二進制數(shù)表示1位十進制數(shù),自左至右每一位對應的位權(quán)是:8、4、2、1

16、;簡單直觀,每個代碼符合二進制和十進制的轉(zhuǎn)換規(guī)則;不允許出現(xiàn)1010B~1111B 中的任一種6個代碼。用于進行十進制數(shù)的表示和計算等場合。 本章重點題目: 一、4.;2.;6.; 8. 二、3.;7. 三、1.;2.;3.; 6. 四、2.(1).(2).(3).(4);3.(2).(3);4.(1).(2) 五、2. 第2章 典型微處理器 一、選擇題 1. 在執(zhí)行部件EU中實現(xiàn)數(shù)據(jù)加工與處理的功能部件是( )。 C A. 數(shù)據(jù)暫存器 B. 數(shù)據(jù)寄存器 C. ALU D.EU控制電路 2. 以下不屬于總線接口部件BIU中功能部件的是

17、( )。 A A. 地址寄存器 B. 地址加法器 C.段寄存器 D.指令隊列緩沖器 3. 可用作堆棧指針寄存器的是( )。 C A. SI B. DI C. SP D. DX 4. 堆棧操作中用于指示棧頂基址的寄存器是( )。 C A. SS B. SP C. BP D. CS 5. 指令指針寄存器IP中存放的內(nèi)容是( )。 C A. 指令 B. 操作數(shù) C. 指令地址

18、 D. 操作數(shù)地址 6. 8086最大和最小工作模式的主要差別是( )。 D A.數(shù)據(jù)總線的位數(shù)不同 B.地址總線的位數(shù)不同 C.I/O端口數(shù)的不同 D.單處理器與多處理器的不同 二、填空題: 1. 8086的內(nèi)部結(jié)構(gòu)由_EU_和_BIU_組成,前者功能是_執(zhí)行指令_,后者功能是_總線操作_。 2. 8086有 20 條地址線,可直接尋址 1MB 容量的內(nèi)存空間,其物理地址范圍是00000H~FFFFFH 。 3. 8086的指令隊列作用是 預取指令 ,其長度是 6個 字節(jié)。 4. 8086標志寄存器共有_9_個標志位,分為_6_個_

19、狀態(tài)_標志位和_3_個_控制_標志位。 5. 8086為訪問1MB內(nèi)存空間,將存儲器進行_分段_管理;其_物理_地址是唯一的;偏移地址是指_相對段基地址的偏移量_;邏輯地址常用于_程序中_。 6. 邏輯地址為2100H:0180H時,其物理地址是_21180H_,段地址是_2100H_,偏移量是_0180H_。 7. 時鐘周期是指_CPU基本時間計量單位_,總線周期是指_一次總線操作時間_,總線操作是指_CPU經(jīng)外部總線對存儲器或I/O端口進行一次信息輸入和輸出的過程_。 8. 8086工作在最大方式時CPU引腳MN/-MX應接_地_;最大和最小工作方式的應用場合分別是_多處理器和單處

20、理器系統(tǒng)_。 三、判斷題 1. 8086訪問內(nèi)存的20位物理地址是在BIU中由地址加法器實現(xiàn)的。 ( )√ 2. 若計算結(jié)果為0,則標志寄存器的ZF=0. ( )× 3. IP中存放的是正在執(zhí)行的指令偏移地址。 ( )× 4. 邏輯地址是在書寫匯編程序中用到的操作數(shù)存儲地址。 ( )√ 5. 從內(nèi)存單元偶地址開始存放的數(shù)據(jù)稱為規(guī)則字。 ( ) √ 6. 指令執(zhí)行中插入T1和TW是為了解決CPU與外設之間的速度差異。 ( )× 7. 8086系統(tǒng)復位后重新啟動時從內(nèi)存的FFFF0H地址處開始執(zhí)行。 ( )√ 四、

21、簡答題 1. 8086系統(tǒng)中的存儲器分為幾個邏輯段?每個段寄存器的作用是什么? 答:8086CPU將1MB的存儲空間分成若干個邏輯段來進行管理:每個邏輯段最小為16B,最大為64KB。最多可分成64K個邏輯段,最少可分成16個邏輯段。 4個16位的段寄存器用來存放每一個邏輯段的段起始地址:CS中為代碼段的起始地址;DS中為數(shù)據(jù)段的起始地址;SS中為堆棧段的起始地址;ES中為附加段的起始地址。 2. I/O端口有哪兩種編址方式?8086最大I/O尋址空間是多少? 答:I/O端口的兩種編址方式分別為:統(tǒng)一編址和獨立編址。8086最大I/O尋址空間是64KB。 3. 8086的最大和最小

22、工作模式的主要區(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)處于最大工作模式。 5. 簡述Pentium微處理器的內(nèi)部主要部件的功能。 答:Pentium微處理器的主要部件包括總線接口部件、指令高速緩存器、數(shù)據(jù)高速緩存器、指令預取部件與轉(zhuǎn)移目標緩

23、沖器、寄存器組、指令譯碼部件、具有兩條流水線的整數(shù)處理部件(U流水線和V流水線)、以及浮點處理部件FPU等。 各主要部件的功能分析如下: (1)整數(shù)處理部件:U流水線和V流水線都可以執(zhí)行整數(shù)指令,U流水線還可執(zhí)行浮點指令。因此能夠在每個時鐘周期內(nèi)同時執(zhí)行兩條整數(shù)指令。 (2)浮點處理部件FPU:高度流水線化的浮點操作與整數(shù)流水線集成在一起。微處理器內(nèi)部流水線進一步分割成若干個小而快的級段。 (3)獨立的數(shù)據(jù)和指令高速緩存Cache:兩個獨立的8KB指令和8KB數(shù)據(jù)Cache可擴展到12KB,允許同時存取,內(nèi)部數(shù)據(jù)傳輸效率更高。兩個Cache采用雙路相關(guān)聯(lián)的結(jié)構(gòu),每路128個高速緩存行,

24、每行可存放32B。數(shù)據(jù)高速緩存兩端口對應U、V流水線。 (4)指令集與指令預?。褐噶铑A取緩沖器順序地處理指令地址,直到它取到一條分支指令,此時存放有關(guān)分支歷史信息的分支目標緩沖器BTB將對預取到的分支指令是否導致分支進行預測。 (5)分支預測:指令預取處理中增加了分支預測邏輯,提供分支目標緩沖器來預測程序轉(zhuǎn)移。 五、分析設計題 1. 在內(nèi)存有一個由10個字節(jié)組成的數(shù)據(jù)區(qū),起始地址為1200H:0010H。計算出該數(shù)據(jù)區(qū)在內(nèi)存的首末單元的實際地址。 答:邏輯地址1200H:0010H對應的物理地址為PA=1200H×10H+0010H= 12010H,即該數(shù)據(jù)區(qū)在內(nèi)存中的首單元的物理地

25、址為12010H;因為存儲空間中每個字節(jié)單元對應一個地址,所以10個字節(jié)對應10個地址,則該數(shù)據(jù)區(qū)在內(nèi)存中的末單元的物理地址PA = 12010H+10D = 12010H+0AH = 1201AH。 2. 有兩個16位的字數(shù)據(jù)32D7H和2E8FH,在存儲器中的物理地址分別為10210H和10212H,試畫出它們的存儲示意圖。 地址 存儲空間 10210H D7H 10211H 32H . . . 10212H 8FH 10213H 2EH 答: 3. 內(nèi)存中有一個程序段,保存位置為(CS)=13A0H,(IP)=0110H

26、,當計算機執(zhí)行該程序段指令時,實際啟動的物理地址是多少? 答:邏輯地址(CS):(IP)= 13A0H:0110H,計算出對應物理地址PA= (CS)×10H+(IP)= 13A0H×10H+0110H = 13B10H 本章重點題目: 一、2.;3.;5.;6. 二、4.;8. 四、2. 五、1. 三、2.;3.;5.;6.; 7. 第3章 指令系統(tǒng)和尋址方式 一、選擇題 1. 寄存器間接尋址方式中,要尋找的操作數(shù)位于( )中。 C A.通用寄存器 B. 段寄存器 C. 內(nèi)存單元 D.堆棧區(qū) 2. 下列傳送指令中正

27、確的是( )。 C A. MOV AL,BX B. MOV CS,AX C. MOV AL,CL D. MOV [BX],[SI] 3. 下列指令中錯誤的是( )。 C A. MOV AX,1234H B. INC BX C. SAL AX,2 D. PUSH DX 4. 設(SP)=1010H,執(zhí)行PUSH AX后,SP中的內(nèi)容為( )。 C A. 1011H B. 1012H C. 1OOEH D. 100FH 5. 將AX清零并使CF位清

28、零,下面指令錯誤的是( )。 A A. SUB AX,BX B. XOR AX,AX C. MOV AX,0 D.AND AX,0OOOH 6. 對兩個帶符號數(shù)A和B進行比較,要判斷A是否大于B,應采用指令( )。 B A. JA B. JG C. JNB D. JNA 7. 已知(AL)=80H,(CL)=02H,執(zhí)行指令SHR AL,CL執(zhí)行后的結(jié)果是( )。 B A. (AL)=40H B. (AL)=20H C. (AL)=C0H

29、 D.(AL)=E0H 二、填空題: 1. 計算機指令通常由_操作碼字段_和_操作數(shù)字段_兩部分組成;指令對數(shù)據(jù)操作時.按照數(shù)據(jù)的存放位置可分為_立即數(shù)、寄存器操作數(shù)、存儲器操作數(shù)_。 2. 尋址的含義是指_尋找操作數(shù)的過程_;8086指令系統(tǒng)的尋址方式按照大類可分為_立即數(shù)尋址方式、寄存器尋址方式、存儲器尋址方式和I/O端口尋址方式_;其中尋址速度最快的是_立即數(shù)尋址_。 3. 若指令操作數(shù)保存在存儲器中,操作數(shù)的段地址隱含在 數(shù)據(jù)段 DS寄存器或堆棧段SS寄存器 中;可以采用的尋址方式有 直接尋址方式、寄存器間接尋址方式、寄存器相對尋址方式、基址變址尋址方式、相對基址變址尋址方式

30、 。 4. 指令MOV AX,ES:[BX+O1OOH]中,源操作數(shù)位于_物理地址為ES*10H+BX+0100H的存儲單元;讀取的是_附加數(shù)據(jù)ES_段的存儲單元內(nèi)容。 5. 堆棧是一個特殊的_存儲器區(qū)域_,其操作是以_2字節(jié)單元_為單位按照_先進后出_原則來處理;采用_SP_指向棧頂?shù)刂?,入棧時地址變化為_SP←(SP)-2_。 6. I/O端口的尋址有_直接端口尋址和間接端口尋址_兩種方式;采用8位數(shù)時,可訪問的端口地址為_0~255_;采用16位數(shù)時,可訪問的端口地址為_0~65535_。 三、分析計算題 1. 設(DS)=2000H,(ES)= 2100H,(SS)=

31、 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,數(shù)據(jù)段ARY的位移量為0050H,試指出下列各指令中源操作數(shù)的尋址方式,對于內(nèi)存單元的操作數(shù)計算出其物理地址。 (1) MOV AX,2345H (2) MOV AX,BX (3) MOV AX,[1000H] (4) MOV AX,ARY (5) MOV AX,[BX] (6) MOV AX,ES:[BX] (7) MOV AX,[BP] (8) MOV AX,20H[BX] (9) MOV AX,[

32、SI] (10) MOV AX,[BX][SI] (11) MOV AX,ARY[BP][SI] (12) MOV AX,ES:[BX][SI] (13) MOV AX,ES:ARY[BX] (14) MOV AX,[BP][SI] 答: (1) MOV AX,2345H 立即尋址,源操作數(shù)直接放在指令中 (2) MOV AX,BX 寄存器尋址,源操作數(shù)放在寄存器BX中 (3) MOV AX,[0100H] 直接尋址,EA = 0100H, PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H (

33、4) MOV AX,ARY 直接尋址,EA = [ARY] = 0050H, PA =(DS)×10H+EA = 2000H×10H+0050H = 20050H (5) MOV AX,[BX] 寄存器間接尋址,EA =(BX)= 0100H, PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H (6) MOV AX,ES:[BX] 寄存器間接尋址,EA =(BX)= 0100H, PA =(ES)×10H+EA = 2100H×10H+0100H = 21100H (7) MOV AX,[BP] 寄存器間接尋址,EA =(BP)=

34、 0010H, PA =(SS)×10H+EA = 1500H×10H+0010H = 15010H (8) MOV AX,20H[BX] 寄存器相對尋址,EA =(BX+20H)= 0100H+20H=0120H, PA =(DS)×10H+EA = 2000H×10H+0120H = 20120H (9) MOV AX,[SI] 寄存器間接尋址,EA =(SI)= 00A0H, PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H (10) MOV AX, [BX][SI] 基址變址尋址,EA =(BX)+(SI) = 0100H+0

35、0A0H = 01A0H, PA =(DS)×10H+EA = 2000H×10H+01A0H = 201A0H (11) MOV AX,ARY[BP][SI] 相對基址變址尋址,EA = [ARY]+(BP)+(SI)= 0050H+0010H+00A0H = 0100H, PA =(SS)×10H+EA = 1500H×10H+0100H = 15100H (12) MOV AX,ES:[BX][SI] 相對基址變址尋址,EA =(BX)+(SI)= 0100H+00A0H = 01A0H, PA =(ES)×10H+EA = 2100H×10H+01A0H = 211A

36、0H (13) MOV AX,ES:ARY[BX] 相對基址變址尋址,EA =[ARY]+(BX)=0050H+0100H=0150H, PA =(ES)×10H+EA =2100H×10H+0150H = 21150H (14) MOV AX,[BP][SI] 基址變址尋址,EA =(BP)+(SI)= 0010H+00A0H = 00B0H, PA = (SS)×10H+EA = 1500H×10H+0100H = 15100H 2. 已知寄存器及存儲器單元內(nèi)容:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(2010lH)=

37、34H,(20102H)=56H,(20103H)=78H,(21200H)=90H,(21201H)=2AH,(21202H)=3BH,(21203H)=4CH。 分析下列指令中源操作數(shù)字段的尋址方式,計算操作數(shù)存放的物理地址及指令執(zhí)行后AX寄存器中保存的內(nèi)容: (1) MOV AX,12O0H (2) MOV AX,BX (3) MOV AX,[1200H] (4) MOV AX,[BX] (5) MOV AX,1100H[BX] (6) MOV AX,[BX][SI] 答: (1) MOV AX,1200H

38、 ;立即數(shù)尋址。指令執(zhí)行后,(AX)= 1200H (2) MOV AX,BX ;寄存器尋址。指令執(zhí)行后,(AX)=(BX)= 0100H (3) MOV AX,[1200H] ;存儲器直接尋址。 EA = 1200H,PA =(DS)×10H+EA = 2000H×10H+1200H = 21200H, 執(zhí)行后,(AX)= 2A90H (4) MOV AX,[BX] ;寄存器間接尋址。 EA =(BX)= 0100H, PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H, 執(zhí)行后,(AX)= 3412

39、H (5) MOV AX,1100H[BX] ;寄存器相對尋址。 EA =(BX)+1100H = 0100H+1100H = 1200H, PA =(DS)×10H+EA = 2000H×10H+1200H = 21200H,執(zhí)行后,(AX)=2A90H (6) MOV AX,[BX][SI] ;基址變址尋址。 EA =(BX)+(SI)= 0100H+0002H = 0102H, PA =(DS)×10H+EA = 2000H×10H+0102H = 20102H,執(zhí)行后,(AX)= 7856H 4. 下列程序段執(zhí)行完后,BX寄存器中的內(nèi)容是多少? MOV C

40、L, 3 MOV BX,0B7H ROL BX,1 ROR BX,CL 答:程序段執(zhí)行中 MOV CL, 3 ;(CL)=3 MOV BX,0B7H ; (BX) = 0B7H = 10110111 ROL BX,1 ; 循環(huán)左移一次,(BX) = 01101111 ROR BX,CL ; 循環(huán)右移三次,(BX) = 11101101 = EDH 程序段執(zhí)行完后,BX寄存器中的內(nèi)容為(BX)=EBH 4. 已知(AX)=75A4H,標志位CF=1,分別寫出下列指令執(zhí)行后的結(jié)果: (1) ADD AX,08FFH (2) I

41、NC AX (3) SUB AX,4455H (4) AND AX,OFFFH (5) OR AX,0101H (6) SAR AX,1 (7) ROR AX,1 (8) ADC AX,5 答: (1) ADD AX,08FFH ; (AX)= 7EA3H CF=0 (2) INC AX ; (AX)= 75A5H CF=1 (3) SUB AX,4455H ; (AX)= 314FH CF=0 (4) AND AX,

42、0FFFH ; (AX)= 05A4H CF=0 (5) OR AX,0101H ; (AX)= 75A5H CF=0 (6) SAR AX,1 ; (AX)= 3AD2H CF=0 (7) ROR AX,1 ; (AX)= 3AD2H CF=0 (8) ADC AX,5 ; (AX)= 75AAH CF=0 …… 78H 56H 34H 12H …… 5. 給定(SS)=3000H,(SP)=1020H,(AX)=1234H,(DX)=5678H

43、。執(zhí)行下列程序段,分析每條指令執(zhí)行后寄存器的內(nèi)容和堆棧存儲內(nèi)容的變化情況: SP=101CH SP=101EH SP=1020H DX 5678 AX 1234 BX 5678 CX 1234 PUSH AX PUSH DX POP BX POP CX 答: 壓入堆棧指令PUSH完成的操作是“先移后入”,即先將堆棧指針 SP 減2,然后將操作數(shù)壓入 SP 指定的棧頂中。 彈出堆棧指令 POP完成的操作是“先出后移”,即先將堆棧指針 SP 所指示的棧頂存儲單元的地址彈出到操作數(shù)中,然后將堆棧指針 SP加2

44、。 PUSH AX ;(AX)=1234H,(SP)=101EH,(3101EH)=1234H PUSH DX ;(DX)=5678H,(SP)=101CH,(3101CH)= 5678H POP BX ;(BX)=5678H,(SP)=101EH POP CX ;(CX)=1234H,(SP)=1020H 6. 分析下面程序段的功能,執(zhí)行該程序段后 AX 寄存器中的內(nèi)容是多少? MOV AX,0102H MOV BX,0010H MOV CL,2 SHL BX,CL ADD AX,BX 答: MOV AX,0102H

45、 ; (AX) = 0102H MOV BX,0010H ; (BX) = 0010H = 0000 0000 0001 0000 MOV CL,2 ; (CL) = 02H SHL BX,CL ; 邏輯左移二次,(BX) = 0000 0000 0100 0000 =0040H ADD AX,BX ; (AX) ← (AX)+(BX) =0102H + 0040H =0142H 執(zhí)行該程序段后 AX 寄存器中的內(nèi)容是0142H。 四、分析設計題: 1. 根據(jù)以下要求寫出相應的8086指令。 (1)把內(nèi)存區(qū)域BUF數(shù)據(jù)區(qū)的偏移地址送入BX寄存器中。 (2

46、)把BX和AX寄存器的內(nèi)容相加,結(jié)果存入AX寄存器中。 (3)用位移量1200H的直接尋址方式把存儲器中的一個字數(shù)據(jù)與立即數(shù)3210H相加,結(jié)果送回該存儲器中。 (4)用寄存器BX和位移量2100H的變址尋址方式把存儲器中的一個字數(shù)據(jù)和CX寄存器中的內(nèi)容相加,結(jié)果送回存儲器。 (5)用BX和SI的基址變址尋址方式,把存儲器中的一個字節(jié)數(shù)據(jù)與AL內(nèi)容相加,結(jié)果保存在AL寄存器中。 答: (1) LEA BX,BUF (2) ADD AX,BX (3) ADD WORD PTR [1200H],3210H (4) ADD 2100[BX],CX (5) ADD AL

47、,[BX][SI] 2. 設堆棧寄存器(SS)=2250H。堆棧指示器(SP)=0140H,若在堆棧中存入5個字數(shù)據(jù),則SS、SP的內(nèi)容各是多少? 如果又取出2個字數(shù)據(jù),SS、SP的內(nèi)容各是多少? 答:堆棧中存入5個數(shù)據(jù):(SS)=2250H、(SP)=0136H 又取出2個字數(shù)據(jù):(SS)=2250H、(SP)=013AH 3. 設寄存器AX、BX中保存帶符號數(shù),寄存器CX、DX中保存無符號數(shù),寫出實現(xiàn)以下功能的指令或程序段。 (1) 若(CX)<(DX),程序轉(zhuǎn)移到NEXT1處。 (2) 若(AX)>(BX),程序轉(zhuǎn)移到NEXT2處。 (3) 若(CX)=0,程序

48、轉(zhuǎn)移到NEXT3處。 (4) 若AX中內(nèi)容為負,程序轉(zhuǎn)移到NEXT4處。 答:(1)CMP CX,DX ;將CX中數(shù)據(jù)與DX中數(shù)據(jù)進行比較 JB NEXT1 ;若低于則轉(zhuǎn)移到NEXT1 (2)CMP AX,BX ;將AX中數(shù)據(jù)與BX中數(shù)據(jù)進行比較 JG NEXT2 ;若大于則轉(zhuǎn)移到NEXT2 (3)CMP CX,0 ;將CX中數(shù)據(jù)與0進行比較 JE NEXT3 ;若結(jié)果為0則轉(zhuǎn)移到NEXT3 (或用 JCXZ NEXT3 指令實現(xiàn)) (4)TEST AX,8000H ;測試符號位

49、 JNZ NEXT4 ;若結(jié)果為負則轉(zhuǎn)移到NEXT4 (或 ADD AX,0 JS NEXT4 實現(xiàn))實現(xiàn)方法不唯一。 4. 現(xiàn)有兩個雙倍精度字數(shù)據(jù)1234FEDCH和11238765H,分別存放在數(shù)據(jù)段中從1000H和2000H開始的存儲單元中,低位在前,高位在后。要求兩數(shù)相加之后所得的和放在從1000H開始的內(nèi)存單元中,設計該程序段。 答: 程序段設計如下: ;3_4_1.ASM MOV SI,2000H ;SI指向2000H MOV DI,1000H ;DI指向1000H CLC

50、 ;CF=0 MOV CX,4 ;CX=4,循環(huán)相加4次 LL: MOV AL,[SI] ;取數(shù) ADC AL,[DI] ;相加 MOV [DI],AL ;保存 INC SI ;SI增1 INC DI ;DI增1 LOOP LL ;CX減1,不為0,轉(zhuǎn)LL MOV AX,0 ADC AX,0 MOV [DI],AX (答案不唯一) 本章重點題目: 一、3.;7. 二、5.;6. 三、1.(3).(4).(6).(7);2.

51、(3).(4).(5).(6) 四、3. 第4章 匯編語言程序設計 一、選擇題 1. 匯編語言程序中可執(zhí)行的指令位于( )中。 D A. 數(shù)據(jù)段 B. 附加數(shù)據(jù)段 C. 堆棧段 D. 代碼段 2. 匯編語言語句中標號和變量有規(guī)定的屬性,以下內(nèi)容不是屬性的是( )。 B A. 段屬性 B. 地址屬性 C. 偏移屬性 D. 類型屬性 4. DOS系統(tǒng)功能調(diào)用的子功能號存放在寄存器( )中。 C A. AL B. AH C. DL D.

52、DH 5. DOS系統(tǒng)功能調(diào)用中,從鍵盤讀取一個字符并回顯的是( )。 A A. 01H B. 02H C. 09H D. 0AH 6. 循環(huán)程序設計的核心問題是( )。 D A. 循環(huán)的控制 B. 循環(huán)結(jié)構(gòu)的選擇 C. 循環(huán)參數(shù)初始的設置 D. 循環(huán)控制參數(shù)的修改 二、填空題 1. 完整的匯編語句包括_名字、操作符、操作數(shù)、和注釋_4個字段。 2. 標號和變量應具備的3個屬性分別是段屬性、偏移屬性和類型屬性。 3. 計算機中的指令通??煞譃?/p>

53、 CPU指令 、 偽指令 和 宏指令 。 4. DOS功能調(diào)用可完成對_文件、設備、內(nèi)存_的管理;BIOS的主要功能是_外設的控制;如系統(tǒng)加電自檢、引導裝入及對鍵盤、磁盤、顯示器、打印機、異步串行通信口等的控制_。 5. 給定以下程序段,在每條指令的右邊寫出指令的含義和操作功能,指出該程序段完成的功能及運行結(jié)果: MOV AX,0 ;AX賦值0 MOV BX,1 ;BX賦值1 MOV CX,5 ;CX賦值5 LP: ADD AX,BX ;AX+BX,結(jié)果送AX

54、 ADD BX,2 ;BX+2,結(jié)果送BX LOOP LP ;CX-1送CX;若CX≠0,轉(zhuǎn)LP (1) 程序段完成的功能是_ _。 (2) 程序運行后:(AX)=_25_;(BX)= _11_;(CX)= _0_。 三、判斷題 1. 偽指令是在匯編中用于管理和控制計算機相關(guān)功能的指令。 ( )× 2. 程序中的“$”可指向下一個所能分配存儲單元的偏移地址。 ( )√ 3. 宏指令的引入是為了增加匯編程序的功能。 ( )√ 4. 多重循環(huán)的內(nèi)循環(huán)要完整地包含在外循環(huán)中,可

55、嵌套和并列。 ( )√ 5. 子程序結(jié)構(gòu)縮短了程序的長度,節(jié)省了程序的存儲空間。 ( )√ 四、簡答題 1. 完整的匯編源程序應該由哪些邏輯段組成?各邏輯段的主要作用是什么? 答: 完整的匯編源程序應該由數(shù)據(jù)段、堆棧段、代碼段邏輯段組成。各邏輯段的主要作用是存放數(shù)據(jù)變量及其預置初值、保存中斷和子程序的斷點和參數(shù)傳遞、存放程序執(zhí)行的代碼。 2.簡述在機器上建立、編輯、匯編、連接、運行、調(diào)試匯編語言源程序的過程和步驟。 答: 在機器上建立:為源程序起一個有意義的文件名字,并創(chuàng)建成文本文件;匯編:通過匯編程序ASM.EXE或MASN.EXE,將源程序會變成機器語言目標程

56、序.OBJ;連接:運用連接程序LINK.EXE,將目標程序.OBJ連接生成執(zhí)行程序.EXE;運行:在DOS狀態(tài)下,直接運行執(zhí)行程序;調(diào)試:運用調(diào)試程序DEBUG.EXE將執(zhí)行程序跳入調(diào)試界面狀態(tài),并進行斷點設置調(diào)試運行或單步調(diào)試運行操作。 3.什么是偽指令?程序中經(jīng)常使用的偽指令有哪些?簡述其主要功能。 答:偽指令是發(fā)送給匯編程序的命令。 程序中經(jīng)常使用的偽指令有:數(shù)據(jù)定義、符號定義、段定義、過程定義、結(jié)構(gòu)定義、模塊定義與連接、程序計數(shù)器$和起點定義ORG。 其主要功能:數(shù)據(jù)定義為變量及其類型分配存儲單元,并賦予初值;符合定義給一個符號重新命名;段定義指定邏輯段的名稱、范圍、斷的定位類

57、型、組合類型和類別;過程定義為程序段定義成過程,并賦予過程名字,以便用CALL指令調(diào)用;結(jié)構(gòu)定義用于相互關(guān)聯(lián)的數(shù)據(jù)定義;模塊定義與連接用NAME為源程序匯編后的目標程序指定模塊名,以便連接該目標模塊,并生成執(zhí)行程序文件;$在匯編過程中,用于存儲單元分配計數(shù)器,該計數(shù)器可在指令操作數(shù)表達式中引用;ORG為數(shù)據(jù)變量和程序段指定起始位置。 4.什么是宏指令?宏指令在程序中如何被調(diào)用? 答: 宏指令是代表某功能的一段源程序。宏指令在程序中在源程序中,通過宏名字(即宏指令名)進行調(diào)用。 五、分析設計題 1. 內(nèi)存BUF單元中定義有10個字數(shù)據(jù),找出其中的最大值和最小值,并將最大值和最小值存放到指

58、定的存儲單元max和min中,畫出流程圖并編程實現(xiàn)。 答:按照本題要求,10個字數(shù)據(jù)的首址為BUF內(nèi)存單元,數(shù)據(jù)個數(shù)為10用CN指向,然后找出其中最大值并保存在max單元中,找出其中最小值并保存在min單元中,采用循環(huán)程序來完成該功能。 主程序流程圖: START 初始化DS 數(shù)組首地址送SI 數(shù)組元素個數(shù)送CX 調(diào)用過程QZDZXS(求最大最小數(shù)) END QZDZXS子程序流程圖: QZDZXS 保護現(xiàn)場 取一個數(shù)組元素送DX 較大數(shù)存入ZD 數(shù)組指針加

59、2調(diào)整 (AX)>(DX) (AX)<(DX) 較小數(shù)存入ZX 恢復現(xiàn)場 數(shù)組元素 全部完成? 返回 N Y ZDZX2 ZDZX1 Y ZDZX0 Y N N 參考程序設計如下: 主程序: DATA SEGMENT ARR DW 123,456,67,0,34,90,89,67,0,256 CN EQU ($-ARR)/2 ZD DW 0 ;最大(數(shù)組中任何數(shù)均大于AX內(nèi)容) ZX DW

60、 0FFFFH ;最小(數(shù)組中任何數(shù)均小于BX內(nèi)容) DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX ;初始化DS MOV SI,OFFSET ARR ;數(shù)組首地址送SI MOV CX,CN ;數(shù)組元素個數(shù)送CX CALL QZDZXS ;調(diào)用近過程QZDZXS(求最大最

61、小數(shù)) MOV AH,4CH INT 21H ;返回DOS 過程子程序: ;求最大最小數(shù)子程序名:QZDZXS ;子程序功能:求一組字數(shù)據(jù)中的最大最小數(shù) ;入口參數(shù):數(shù)組首地址在SI中,數(shù)組個數(shù)在CX中 ;出口參數(shù):最大數(shù)在ZD中,最小數(shù)在ZX中 ;使用寄存器:CX、DX、SI及PSW QZDZXS PROC NEAR PUSH SI PUSH DX PUSH CX

62、 ;保護現(xiàn)場 ZDZX0: MOV DX,[SI] ;取一個數(shù)組元素送DX CMP ZD,DX ;AX中內(nèi)容和DX中內(nèi)容比較 JNB ZDZX1 ;(ZD)>(DX),轉(zhuǎn)ZDZX1 MOV ZD,DX ;較大數(shù)存入ZD ZDZX1: CMP ZX,DX ;AX中內(nèi)容和DX中內(nèi)容比較 JNA ZDZX2 ;(ZX)<(DX),轉(zhuǎn)ZDZX2

63、 MOV ZX,DX ;較小數(shù)存入ZX ZDZX2: ADD SI,2 ;數(shù)組指針加2調(diào)整 LOOP ZDZX0 ;循環(huán)控制 POP CX POP DX POP SI ;恢復現(xiàn)場 RET ;返回主程序 QZDZXS ENDP ;子程序定義結(jié)束 CODE ENDS

64、 ;代碼段結(jié)束 END START ;匯編結(jié)束 2. 編寫程序,計算下面函數(shù)的值: 答:此程序可采用分支結(jié)構(gòu)實現(xiàn)。根據(jù)X的取值范圍,來確定轉(zhuǎn)向那個分支。判斷過程可使用CMP指令與0和10分別進行比較,根據(jù)結(jié)果實現(xiàn)跳轉(zhuǎn)。 X和S是兩個需要定義的變量,X中是要處理的數(shù)據(jù),S中是要保存運算結(jié)果。參考程序段編寫如下: DATA SEGMENT ;定義數(shù)據(jù)段 X DB 15 S DB ? DATA ENDS CODE SEGMENT ;定義代碼段 ASSUME

65、DS:DATA, CS:CODE START: MOV AX,DATA MOV DS,AX MOV AL,X ;將X送到AL中 TEST AL,80H ;(AL)<0嗎? JZ LL0 ; X ≥ 0 轉(zhuǎn)LL0 SAL AL,1 ; X乘以2 JMP LL10 ;無條件轉(zhuǎn)移 LL0: CMP AL,10 ;否,(AX)<10嗎? JG LL1 ; X ≥ 10 轉(zhuǎn)LL1 MOV

66、 BL,AL SAL AL,1 ; X乘以3 ADD AL,BL JMP LL10 ;無條件轉(zhuǎn)移 LL1: SAL AL,1 ; X乘以4 SAL AL,1 LL10: MOV S,AL ;將結(jié)果保存至S中 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START ;匯編結(jié)束 注意,在比較的過程中使用的是針對帶符號數(shù)的跳轉(zhuǎn)指令,將變量χ應該看作帶符號數(shù)。程序中還用了移位指令代替了乘法指令實現(xiàn)乘2的運算。 3. 已知內(nèi)存數(shù)據(jù)區(qū)BLOCK單元起存放有20個帶符號字節(jié)數(shù)據(jù),分別找出其中正、負數(shù)放入指定單元保存,并統(tǒng)計正、負數(shù)的個數(shù)。 答: 此程序可采用循環(huán)與分支結(jié)合的結(jié)構(gòu)。再循環(huán)體中完成對數(shù)據(jù)區(qū)中數(shù)字的判斷,為正數(shù)時,使計數(shù)器統(tǒng)計其個數(shù),而負數(shù)的個數(shù)就是數(shù)據(jù)區(qū)的數(shù)據(jù)總數(shù)減去證書的個數(shù);程序中循環(huán)次數(shù)與數(shù)據(jù)區(qū)中的

展開閱讀全文
溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲