版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《微機(jī)原理與接口技術(shù)》習(xí)題解答
習(xí)題1
1.1馮?諾依曼型計(jì)算機(jī)的設(shè)計(jì)方案有哪些特點(diǎn)?
【解答】馮?諾依曼型計(jì)算機(jī)的設(shè)計(jì)方案是“存儲(chǔ)程序''和“程序控制”,有以下5方面特點(diǎn):
(1)用二:進(jìn)制數(shù)表示數(shù)據(jù)和指令;
(2)指令和數(shù)據(jù)存儲(chǔ)在內(nèi)部存儲(chǔ)器中,按順序自動(dòng)挨次執(zhí)行指令;
(3)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備組成基本硬件系統(tǒng);
(4)由控制器來(lái)控制程序和數(shù)據(jù)的存取及程序的執(zhí)行;
(5)以運(yùn)算器為核心。
1.4常見(jiàn)的微型計(jì)算機(jī)硬件結(jié)構(gòu)由哪些部份組成?各部份的主要功能和特點(diǎn)是什么?
【解答】微型計(jì)算機(jī)硬件普通由微處理器、內(nèi)存儲(chǔ)器、外存儲(chǔ)器、系統(tǒng)總線、接口電路、輸入/輸出
設(shè)備等部件組成。
主要組成部件的功能和特點(diǎn)分析如下:
(1)微處理器:是微型計(jì)算機(jī)的核心部件,由運(yùn)算單元ALU、控制單元、寄存器組以及總線接口
部件等組成,其功能是負(fù)責(zé)統(tǒng)一協(xié)調(diào)、管理和控制系統(tǒng)中的各個(gè)部件有機(jī)地工作。
(2)內(nèi)存儲(chǔ)器:用來(lái)存放計(jì)算機(jī)工作過(guò)程中需要的操作數(shù)據(jù)和程序??煞譃殡S機(jī)存儲(chǔ)器RAM和只讀
存儲(chǔ)器ROM°RAM存放當(dāng)前參預(yù)運(yùn)行的各種程序和數(shù)據(jù),特點(diǎn)是信息可讀可寫(xiě),存取方便,但信息
斷電后會(huì)丟失:ROM用于存放各種固定的程序和數(shù)據(jù),特點(diǎn)是信息固定不變,關(guān)機(jī)后原存儲(chǔ)的信息
不會(huì)丟失。
(3)系統(tǒng)總線:是CPU與其它部件之間傳送數(shù)據(jù)、地址和控制信息的公共通道??煞殖蓴?shù)據(jù)總線
DB、地址總線AB、控制總線CB。
(4)輸入/輸出接口電路:完成微型計(jì)算機(jī)與外部設(shè)備之間的信息交換。由寄存器組、專用存儲(chǔ)器
和控制電路等組成。
(5)主機(jī)板:由CPU插座、芯片組、內(nèi)存插槽、系統(tǒng)BIOS、CMOS、總線擴(kuò)展槽、串行/并行接
口、各種跳線和一些輔助電路等硬件組成。
(6)外存儲(chǔ)器:使用最多的是磁盤(pán)存儲(chǔ)器(軟盤(pán)、硬盤(pán))和光盤(pán)存儲(chǔ)器。外存儲(chǔ)器容量大,保存的
信息不會(huì)丟失。
(7)輸入/輸入設(shè)備:是微型計(jì)算機(jī)系統(tǒng)與外部進(jìn)行通信聯(lián)系的主要裝置。常用的有鍵盤(pán)、鼠標(biāo)、
顯示器、打印機(jī)和掃描儀等。
1.5什么是微型計(jì)算機(jī)的系統(tǒng)總線?說(shuō)明數(shù)據(jù)總線、地址總線、控制總線各自的作用。
【解答】系統(tǒng)總線是CPU號(hào)其它部件之間傳送數(shù)據(jù)、地址和控制信息的公共通道。
(I)數(shù)據(jù)總線:用來(lái)傳送數(shù)據(jù),主要實(shí)現(xiàn)CPU與內(nèi)存儲(chǔ)器或者I/O設(shè)備之間、內(nèi)存儲(chǔ)器與I/O設(shè)備
或者外存儲(chǔ)器之間的數(shù)據(jù)傳送。
(2)地址總線:用來(lái)傳送地址。主要實(shí)現(xiàn)從CPU送地址至內(nèi)存儲(chǔ)器和I/O設(shè)備,或者從外存儲(chǔ)器傳
送地址至內(nèi)存儲(chǔ)器等。
(3)控制總線:用于傳送控制信號(hào)、時(shí)序信號(hào)和狀態(tài)信息等。
1.7計(jì)算機(jī)中有哪些常用的數(shù)制和碼制?如何進(jìn)行數(shù)制之間的轉(zhuǎn)換?
【解答】數(shù)值數(shù)據(jù)時(shí)常用.二進(jìn)制、十進(jìn)制、八進(jìn)制和十六進(jìn)制:字符數(shù)據(jù)使用ASCII碼;表示十進(jìn)
2制數(shù)字用BCD碼。
(1)十進(jìn)制到二進(jìn)制:整數(shù)部份連續(xù)除以2后“倒取余”,小數(shù)部份連續(xù)乘以2后“正取整”;
(2)二進(jìn)制到十進(jìn)制:將二進(jìn)制數(shù)按權(quán)展開(kāi)即可。
(3)二進(jìn)制到八進(jìn)制:將3位二進(jìn)制一組對(duì)應(yīng)1位八進(jìn)制數(shù)碼。
(4)八進(jìn)制到二進(jìn)制:將1位八進(jìn)制數(shù)碼對(duì)應(yīng)3位二進(jìn)制數(shù)碼。
十六進(jìn)制與二進(jìn)制間轉(zhuǎn)換與八進(jìn)制與二進(jìn)制間轉(zhuǎn)換類似,只是比例關(guān)系為1位十六進(jìn)制數(shù)碼對(duì)應(yīng)4
位二進(jìn)制數(shù)碼。
1.8將下列十進(jìn)制數(shù)分別轉(zhuǎn)化為二進(jìn)制數(shù)、十六進(jìn)制數(shù)和壓縮BCD碼。
(1)15.32(2)325.16(3)68.31(4)214.126
【解答】:
(1)15.32=1111.O1O1B=F.5H=(XX)1()1()1.(X)1lOOlOBCoD
(2)325.16=10000101.0001B=85.1H=0011(X)100101.00010110BoCD
(3)68.31=1000100.0100B=64.4H=01101000.00110001BoCD
(4)214.126=11010110.0010B=D6.2H=001000010100.0001001001lOBCoD
1.9將下列二進(jìn)制數(shù)分別轉(zhuǎn)化為十進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)。
(1)1(X)10101(2)11(X)1010(3)10111.1101(4)111(X)1.0101
【解答】
(1)11001010=202=312Q=CAH
(2)10111.1101=23.8125=27.64Q=17.DH
(3)111(X)1.0101=57.625=7I.24Q=39.5H
1.10將下列十六進(jìn)制數(shù)分別轉(zhuǎn)化為二進(jìn)制數(shù)、十進(jìn)制數(shù)。
(l)FAH(2)12B8H(3)5A8.62H(4)2DF.2H
【解答】
(1)FAH=111110108=250
(2)12B8H=0001001010111000B=4792
(3)5A8.62H=010110101000.01100010B=1448.3828125
(4)2DF.2H=(X)1()11O11111.(X)1()B=735.0078125
習(xí)題2
2.18086CPU具有20條地址線,可直接尋址1MB容量的內(nèi)存空間,在訪問(wèn)I/O端口時(shí),
便用地址線16條,最多可尋址64K個(gè)I/O端口。
2.28O86CPU的內(nèi)部結(jié)構(gòu)有何特點(diǎn)?由哪兩部份組成?它們的主要功能是什么?
【解答】8086微處理器是典型的16位微處理器,HMOS工藝創(chuàng)造,集成為了2.9萬(wàn)只晶體管,使用
單一的+5V電源,有16根數(shù)據(jù)線和20根地址線;通過(guò)其16位的內(nèi)部數(shù)據(jù)通路與設(shè)苴指令預(yù)取隊(duì)列的流
水線結(jié)構(gòu)結(jié)合起來(lái)而獲得較高的性能。
8086微處理器內(nèi)部安排了兩個(gè)邏輯單元,即執(zhí)行部件EU和總線接I」部件BIUoEU主要負(fù)責(zé)指令
語(yǔ)碼、執(zhí)行和數(shù)據(jù)運(yùn)算,包括計(jì)算有效地址;BIU主要完成計(jì)算物理地址、從內(nèi)存中取指令、實(shí)現(xiàn)指令
3
規(guī)定的讀/寫(xiě)存儲(chǔ)器或者外部設(shè)備等信息傳輸類操作。
2.38086CPU中的指令隊(duì)列的作用是預(yù)取指令,其長(zhǎng)度是6字節(jié)。
2.48086CPU內(nèi)部寄存器有哪幾種?各自的特點(diǎn)和作用是葉么?
【解答】CPU有14個(gè)內(nèi)部寄存器,可分為3大類:通用寄存器、控制寄存器和段寄存器。
通用寄存器是一種面向寄存器的體系結(jié)構(gòu),操作數(shù)可以直接存放在這些寄存器中,既可:就少訪問(wèn)存
儲(chǔ)器的次數(shù),又可縮短程序的長(zhǎng)度,提高了數(shù)據(jù)處理速度,占用內(nèi)存空間少。
控制寄存器包括指令指針寄存器IP和標(biāo)志寄存器FLAG:IP用來(lái)指示當(dāng)前指令在代碼段的偏移位
置:FLAG用于反映指令執(zhí)行結(jié)果或者控制指令執(zhí)行的形式。
為了實(shí)現(xiàn)尋址1MB存儲(chǔ)器空間,8086CPU將1MB的存儲(chǔ)空間分成若干個(gè)邏輯段進(jìn)行管理,4個(gè)
16位的段寄存器來(lái)存放每一個(gè)邏輯段的段起始地址。
2.58086的標(biāo)志寄存器分為6個(gè)狀態(tài)_標(biāo)志/和3個(gè)控制標(biāo)志位,它們各自的含義和作用是什么?
【解答】標(biāo)志寄存器各標(biāo)志位的含義和作用如下表:
表2-1標(biāo)志寄存器FLAG中標(biāo)志位的含義和作用
標(biāo)志位含義作用
CF=1,指令執(zhí)行結(jié)果在最高位上產(chǎn)生一個(gè)進(jìn)位或者借位;CF=0,則無(wú)
CF進(jìn)位標(biāo)志進(jìn)
位或看借位產(chǎn)生
PF奇偶標(biāo)志
PF=1,結(jié)果低8位含偶數(shù)個(gè)1:PF=O,表本結(jié)果低8位含奇數(shù)個(gè)1
AF輔助進(jìn)位標(biāo)志AF=1,運(yùn)算結(jié)果的低4位產(chǎn)生了一個(gè)進(jìn)位或者借位:AF=O,則無(wú)此進(jìn)位
或者?借位
ZF零標(biāo)志
ZF=1,運(yùn)算結(jié)果為零:ZF=O,則運(yùn)舁結(jié)果不為軍
SF符號(hào)標(biāo)志
SF=1,運(yùn)算結(jié)果為負(fù)數(shù):SF=O,則結(jié)果為止數(shù)
OF溢出標(biāo)志
5
TFOF=1,帶付號(hào)數(shù)在近仃足舁11r產(chǎn)生J?就出:OF=0,則尤流出
陷阱標(biāo)志
1F=I,8(用6CPU處十單步_1_作方式;1卜=0,&)X6CPU正,吊執(zhí)行程序
IF
中斷允許標(biāo)志IF=1,允許CPU接受外部從1NTR引腳上發(fā)來(lái)的可屏蔽中斷請(qǐng)求信號(hào):
尸=0,則禁止接受叫摩敝中甌請(qǐng)求
DF
方向標(biāo)志DF=1,字符串操作指令按遞減的順序?qū)ψ址M(jìn)行處理:DF=O,字符
2.6已知堆棧段寄存器(SS)=2400H,堆棧指針(SP)=1200H,計(jì)算該堆枝棧頂?shù)膶?shí)際地址,并畫(huà)出
堆棧示意圖。
【解答】(SS)=2M)H,(SP)=120()H:PA=(SS)x10H+(SP)=24(X)Hx1()H+12(X)H=252(X)Ha
圖2-1堆棧示意圖
4
2.78086的存儲(chǔ)器采用奇偶存儲(chǔ)體結(jié)構(gòu),數(shù)據(jù)在內(nèi)存中的存放規(guī)定是低字節(jié)存放在低地址中,
高字節(jié)存放在高地址中,以低地址為字的地址,規(guī)則字是指低字節(jié)地址為偶地址的字,非規(guī)則字是指低
字節(jié)的地址為奇地址的字。
2.8解釋邏輯地址、偏移地址、有效地址、物理地址的含義,8086存儲(chǔ)器的物理地址是如何形成
的?怎樣進(jìn)行計(jì)算?
【解答】邏輯地址:表示為段地址:偏移地址,書(shū)寫(xiě)程序時(shí)用到,一個(gè)存儲(chǔ)單元可■對(duì)應(yīng)H多個(gè)邏輯
地址;
偏移地址:是某一存儲(chǔ)單元距離所在邏輯段的開(kāi)始地址的字節(jié)個(gè)數(shù)。
有效地址:是指令中計(jì)算出的要訪問(wèn)的存儲(chǔ)單元的偏移地址。
物理地址:是CPU訪問(wèn)存儲(chǔ)器時(shí)用到的20位地址,是存儲(chǔ)單元的惟一的編號(hào)。
物理地址計(jì)算公式:物理地址=段地址xlOH+有效地址(或者偏移地址)
2.98086系統(tǒng)中的存儲(chǔ)器分為幾個(gè)邏輯段?各段之間的關(guān)系如何?每一個(gè)段寄存器的作用是什么?
【解答】8086CPU將IMB的存儲(chǔ)空間分成邏輯段來(lái)進(jìn)行管理:每一個(gè)邏輯段最小為I6B。所以最
多
可分成64K個(gè)段;每一個(gè)邏輯段最大為64KB,至少可分成16個(gè)邏輯段。各段的起始位置由程序員指出,
可以彼此分離,也可以首尾相連、重疊或者部份重疊。
4個(gè)16位的段寄存器用來(lái)存放每?個(gè)邏輯段的段起始地址:CS中為代碼段的起始地址;DS中為數(shù)
據(jù)段的起始地址:SS中為堆棧段的起始地址;ES中為附加段的起始地址。
2.10I/O端口有哪兩種編址方式,各自的優(yōu)缺點(diǎn)是什么?
【解答】I/O端口有兩種編址方式:統(tǒng)一編址和獨(dú)立編址。
統(tǒng)一編址方式是將I/O端口與內(nèi)存單元統(tǒng)一起來(lái)進(jìn)行編號(hào),即包括在1MB的存儲(chǔ)器空間中,看做存
儲(chǔ)器單元,每一個(gè)端I」占用一個(gè)存儲(chǔ)單元地址。該方式主要優(yōu)點(diǎn)是不需要專門(mén)的I/O指令,對(duì)I/O端口操
作的指令類型多;缺點(diǎn)是端口要占用部份存儲(chǔ)器的地域空間,不容易區(qū)分是訪問(wèn)存儲(chǔ)器還是外部設(shè)備。
獨(dú)立編址的端口單獨(dú)構(gòu)成I/O地址空間,不占用存儲(chǔ)器地址。優(yōu)點(diǎn)是地址空間獨(dú)立,控制電路和地
址譯碼電路簡(jiǎn)單,采用專用的I/O指令,使得端口操作的指令在形式上與存儲(chǔ)器操作指令有明顯區(qū)別,
程序容易閱讀;缺點(diǎn)是指令類別少,普通只能進(jìn)行傳送操作。
2.118086的最大工作模式和最小各種模式的主要區(qū)別是什么?如何進(jìn)行控制?
【解答】?jī)煞N模式的主要區(qū)別是:
8086工作在最小模式時(shí),系統(tǒng)惟獨(dú)一個(gè)微處理器,且系統(tǒng)所有的控制信號(hào)全部由8086CPU提供;
在最大模式時(shí),系統(tǒng)由多個(gè)微處理器/協(xié)處理器構(gòu)成的多機(jī)系統(tǒng),控制信號(hào)通過(guò)總線控制器產(chǎn)生,且系統(tǒng)
資源由各處理器共享。
8086CPU工作在哪種模式下通過(guò)CPU的第33條引腳MN/京來(lái)控制:MN/^~=1,系統(tǒng)就處于最
小工作模式;MN/嬴=0,系統(tǒng)處于最大工作模式。
2.12在內(nèi)存有一個(gè)由2()個(gè)字節(jié)組成的數(shù)據(jù)區(qū),其起始地址為U00H:0020H。計(jì)算出該數(shù)據(jù)區(qū)在內(nèi)
存的首末單元的實(shí)際地址。
【解答】邏輯地址1100H:0020H對(duì)應(yīng)的物理地址為PA=1100HxlOH+0020H=11020H,即該數(shù)據(jù)區(qū)
在內(nèi)存中的首單元的物理地址為I1020H;因?yàn)榇鎯?chǔ)空間中每一個(gè)字節(jié)單元對(duì)應(yīng)一個(gè)地址,所以20個(gè)字
節(jié)對(duì)應(yīng)20個(gè)地址,則該數(shù)據(jù)區(qū)在內(nèi)存中的末單元的物理地址PA=11020H+20D=11020H+14H=
1I034H.
5
2.13已知兩個(gè)16位的字?jǐn)?shù)據(jù)268AH和357EH,它們?cè)?086存儲(chǔ)器中的地址分別為OO12OH和
00124H,試畫(huà)出它們的存儲(chǔ)示意圖。
【解答】存儲(chǔ)示意圖參見(jiàn)圖2-2。
8AH00120H50H()050H
26H(MI121H65H00511H
00122H6EH00512H
(XII23H74H00513H
7EH00124H69H0054H
35H00125H75H00515H
6DH00516H
圖2-2數(shù)據(jù)的存儲(chǔ)示意圖2-3字符的存儲(chǔ)示意
2.14找出字符串“Pentium”的ASCII碼,將它們挨次存入從OO51OH開(kāi)始的字節(jié)單元中,畫(huà)出它們存
放的內(nèi)存單元示意圖。
【解答】存儲(chǔ)示意圖參見(jiàn)圖2?3。
2.15在內(nèi)存中保存有?個(gè)程序段,其位置為(CS)=33AOH,(1P)=O13OH,當(dāng)計(jì)算機(jī)執(zhí)行該程序
段指令時(shí),分析實(shí)際啟動(dòng)的物理地址是多少。
【解答】邏輯地址(CS):(IP)=33AOH:OI3OH,計(jì)算出對(duì)應(yīng)物理地址PA=(CS)x1OH+(陰
=33AOHx1()H+()13()H=33B3()H
2.16什么是總線周期?8086CPU的讀/寫(xiě)總線周期各包含多少個(gè)時(shí)鐘周期?什么情況下需要插入
等待周期T也什么情況下會(huì)浮秘空暇狀態(tài)T?
【解答】8O86CPU經(jīng)外部總線對(duì)存儲(chǔ)器或者I/O端口進(jìn)行一次信息的輸入或者輸出過(guò)程所需要的時(shí)
間,
稱為總線周期。8O86CPU的讀/寫(xiě)總線周期通常包括T「T,、T3、T,狀態(tài)4個(gè)時(shí)鐘周期。
在高速的CPU與慢速的存儲(chǔ)器或者I/O接口交換信息討,為了防止丟失數(shù)據(jù),會(huì)由存儲(chǔ)器或者外設(shè)通
過(guò)
READY信號(hào)線,在總線周期的TR和4T之間插入1個(gè)或者多個(gè)必要的等待狀態(tài)T,用來(lái)進(jìn)行必要的時(shí)間
補(bǔ)償。
在BIU不執(zhí)行任何操作的法個(gè)總線周期之間會(huì)浮現(xiàn)空暇狀態(tài)T
2.178O286CPU的內(nèi)部結(jié)構(gòu)與8086相比,有哪些增加的部件?其主要特點(diǎn)和功能是什么?
【解答】80286CPU的可編程寄存器在8086寄存器結(jié)構(gòu)的基礎(chǔ)上,增加了一個(gè)16位的機(jī)器狀態(tài)字寄
存器MSW。而且為適應(yīng)80286性能的提高,在8086的狀態(tài)標(biāo)志寄存器F中,又增加使用了3個(gè)位,即
IOPL—I/O特權(quán)層標(biāo)志(占用12、13位)和NT—嵌套任務(wù)標(biāo)志(日用14位)。NT標(biāo)志位表示當(dāng)前執(zhí)行的任
務(wù)嵌套于另一任務(wù)中,IOPL用來(lái)定義當(dāng)前任務(wù)的I/O特權(quán)層。
2.18簡(jiǎn)述Pentium微處理器的內(nèi)部組成結(jié)構(gòu)和主要部件的功能,Pentium微處理器的主要特點(diǎn)有哪
些?
【解答】Pcniium微處理器的主要部件包括總線接II部件、指令高速緩存器、數(shù)據(jù)高速緩存器、指
令預(yù)取部件與轉(zhuǎn)移目標(biāo)緩沖器、寄存器組、指令譯碼部件、具有兩條流水線的整數(shù)處理部件(U流水線
和V流水線)、以及浮點(diǎn)處理部件FPU等。
各主要部件的功能分析如下:
6
(1)整數(shù)處理部件:U流水線和V流水線都可以執(zhí)行整數(shù)指令,U流水線還可執(zhí)行浮點(diǎn)指令。因
此能夠在每一個(gè)時(shí)鐘周期內(nèi)同時(shí)執(zhí)行兩條整數(shù)指令。
(2)浮點(diǎn)處理部件FPU:高度流水線化的浮點(diǎn)操作與整數(shù)流水線集成在一起。微處理器內(nèi)部流水
線進(jìn)一步分割成若干個(gè)小而快的級(jí)段。
(3)獨(dú)立的數(shù)據(jù)和指令高速緩存Cache:兩個(gè)獨(dú)立的8KB指令和8KB數(shù)據(jù)Cache可擴(kuò)展到12KB,允
許同時(shí)存取,內(nèi)部數(shù)據(jù)傳輸效率更高。兩個(gè)Cache采用雙路相關(guān)聯(lián)的結(jié)構(gòu),每路128個(gè)高速緩存行,每
行可存放32B。數(shù)據(jù)高速緩存兩端口對(duì)應(yīng)U、V流水線。
(4)指令集與指令預(yù)?。褐噶铑A(yù)取緩沖器順序地處理指令地址,宜到它取到一條分支指令,此時(shí)
存放有關(guān)分支歷史信息的分支目標(biāo)緩沖器BTB將對(duì)預(yù)取到的分支指令是否導(dǎo)致分支進(jìn)行預(yù)測(cè)。
(5)分支預(yù)測(cè):指令預(yù)取處理中增加了分支預(yù)測(cè)邏輯,提供分支目標(biāo)緩沖器來(lái)預(yù)測(cè)程序轉(zhuǎn)移。
Pentium微處理器的主要特點(diǎn)如下:
(1)采用超標(biāo)量雙流水線結(jié)構(gòu);
(2)采用兩個(gè)彼此獨(dú)立的高速緩沖存儲(chǔ)器;
(3)采用全新設(shè)計(jì)的增強(qiáng)型浮點(diǎn)運(yùn)算器(FPU);
(4)可工作在實(shí)地址方式、保護(hù)方式、虛擬8086方式以及SMM系統(tǒng)管理方式;
(5)常用指令進(jìn)行了固化及微代碼改進(jìn),一些常用的指令用硬件實(shí)現(xiàn)。
2.19什么是虛擬存儲(chǔ)技術(shù)?該技術(shù)的主要優(yōu)點(diǎn)有那些?
【解答】虛擬存儲(chǔ)技術(shù)是一種存儲(chǔ)管理技術(shù),采用硬件、軟件相結(jié)合的方法,由系統(tǒng)自動(dòng)分批將程
序調(diào)入內(nèi)存,不斷地用新的程序段來(lái)覆蓋內(nèi)存中暫時(shí)不用的老程序段。
虛擬存儲(chǔ)技術(shù)的主要優(yōu)點(diǎn)有:(1)擴(kuò)大了程序可訪問(wèn)的存儲(chǔ)空間;(2)便于實(shí)施多任務(wù)的保護(hù)和隔
離;(3)便于操作系統(tǒng)實(shí)現(xiàn)內(nèi)存管理。
2.20簡(jiǎn)要分析Pentium系列微處理器的4種工作方式具備的特點(diǎn)。[
解答】
(I)實(shí)地址方式:系統(tǒng)加電或者復(fù)位時(shí)進(jìn)入實(shí)地址方式,使用16位80X86的尋址方式、存儲(chǔ)器管
理和中斷管理;使用20位地址尋址1MB空間,可用32位寄存器執(zhí)行大多數(shù)指令。
(2)保護(hù)方式:支持多任務(wù)運(yùn)行環(huán)境,對(duì)任務(wù)進(jìn)行隔離和保護(hù),進(jìn)行虛擬存儲(chǔ)管理能夠充分發(fā)揮
Pentium微處理器的優(yōu)良性能。
(3)虛擬8086方式:是保護(hù)噗式下某個(gè)任務(wù)的工作方式,允許運(yùn)行多個(gè)8086程序,使用8086的尋址
方式,每一個(gè)任務(wù)使用IMB的內(nèi)存空間。
(4)系統(tǒng)管理方式:主要用于電源管理,可使處理器和外設(shè)部件進(jìn)入“休眠”,在有鍵盤(pán)按下或者鼠
標(biāo)挪移時(shí)“喚醒”系統(tǒng)使之繼續(xù)工作:利用SMM可以實(shí)現(xiàn)軟件關(guān)機(jī)。
習(xí)題3
3.1簡(jiǎn)要分析8086的指令格式由哪些部份組成,什么是操作碼?什么是操作數(shù)?尋址和尋址方式
的含義是什么?8086指令系統(tǒng)有哪些尋址方式?
【解答】8086的指令格式由操作碼和操作數(shù)字段組成。
操作碼:要完成的操作。
7
操作數(shù):參預(yù)操作的對(duì)象。
尋址:尋覓操作數(shù)或者操作數(shù)地址的過(guò)程。
尋址方式:指令中給出的找到操作數(shù)或者操作數(shù)地址采用的方式。
8086指令系統(tǒng)的尋址方式主要有即將數(shù)尋址、寄存器尋址、存儲(chǔ)器尋址和I/O端口尋址。其中,存
儲(chǔ)器尋址可進(jìn)一步分為直接尋址、寄存器間接尋址、寄存器相對(duì)尋址、基址變址尋址、相對(duì)基址變址尋
址:I/O端口指令I(lǐng)N和OUT使用的端口尋址方式有直接尋址和間接尋址。
3.2設(shè)(DS)=2(XX)H,(ES)=2100H,(SS)=15(X)H,(SI)=00A0H,(BX)=0KX)H,(BP)=(X)10H,數(shù)據(jù)
變量VAL的偏移地址為0050H,請(qǐng)指出下列指令的源操作數(shù)字段是什么尋址方式?它的物理地址是
多少?
(l)MOVAX,21H(2)MOVAX,BX(3)MOVAX,(I000H1
(4)MOVAX,VAL(5)MOVAX,|BX|(6)MOVAX,ES:|BX]
(7)MOVAX,IBP](8)MOVAX,[SI](9)MOVAX,1BX+10J
(10)MOVAX,VAL[BX](11)MOVAX,(BX][SI](12)MOVAX,VAL[BX](SI]
【解答】
(I)MOVAX,21H
即將尋址,源操作數(shù)直接放在指令中
(2)MOVAX,BX
寄存器尋址,源操作數(shù)放在寄存器BX中
(3)MOVAX,(lOOOH]
直接尋址,EA=l(XX)H,PA=(DS)x10H+EA=200()Hxl0H+1000H=21(XX)H
(4)MOVAX,VAL
直接尋址,EA=[\LJ=(X)50H,PA=(DS)x1()H+EA=2(XX)Hx10H+(X)5()H=2(X)50H
(5)MOVAX,[BX]
寄存器間接尋址,EA=(BX)=OIOOH,PA=(DS)x10H+EA=2000Hx10H+0100H=20220H(6)
MOVAX,ES:[BX]
寄存器間接尋址,F(xiàn)A=(RX)=OIOOH.PA=(ES)xI0H+FA=2100HXIOH+0100H=7.1IOOH(7)
MOVAX,|BP|
寄存器間接尋址,EA=(BP)=0010H,PA=(SS)x10H+EA=1500HX10H+(X)IOH=1501OH(8)MOV
AX,[SI]
寄存器間接尋址,EA=(Sl)=00A0H,PA=(DS)x10H+EA=2OOOHxlOH+00A0H=200A0H(9)
MOVAX,[BX+10]
相對(duì)寄存器尋址,EA=(BX)+10D=01(X)H+(XX)AH=OIOAH,PA=(DS)x10H+EA=2(XX)H
x10H+010AH=2022AH
(10)MOVAX,VAL(BX]
相對(duì)寄存器尋址,EA=(BX)+[VAL]=OI(X)H+(X)50H=0I50H,PA=(DS)x1()H+EA=2(XX)Hx|()H
+0150H=20220H
(11)MOVAX,[BX||SI]
基址變址尋址,EA=(BX)+(SI)=0100H+(X)AOH=01A0H,PA=(DS)x1()H+EA=2(XX)HX10H+
(HA0H=201A0H
(12)MOVAX,VAL(BX][SI]
相對(duì)基址變址尋址,EA=(BX)4-(SI)+[VAL]=()1(X)H+(K)AOH+(X)5()H=01F0H,PA=(DS)xIOH
4-EA=2000Hx10H+0IF0H=201F0H
8
3.3給定寄存器及存儲(chǔ)單元的內(nèi)容為:(DS)=2000H,(BX)=0100H,(SI)=0002,H(20220)=32,H
(20221)=51,H(20222)=26,H(20223)=83,H(21200)=1AH,(21201)=B6H,(21202)=D1H,(21203)=29Ho
試說(shuō)明下列各條指令執(zhí)行完后,AX寄存器中保存的內(nèi)容是什么。
(l)MOVAX,1200H(2)MOVAX,BX(3)MOVAX,[1200H]
(4)MOVAX,[BX](5)MOVAX,1100H[BX](6)MOVAX,[BX]|SI]
【解答】
(1)MOVAX,1200H:執(zhí)行后,(AX)=1200H
(2)MOVAX,BX:執(zhí)行后,(AX)=(BX)=01OOH
(3)MOVAX,[1200H]
直接尋址,EA=[XL]=1200H,PA=(DS)xIOH+EA=2(KM)HxlOH+12(X)H=2I2(X)H,執(zhí)行后,(
AX)=B61AH
(4)MOVAX,[BX]
EA=(BX)=0100H,PA=(DS)x10H+EA=2OOOHxlOH-F0100H=20220H,執(zhí)行后,(AX)=
5I32H
(5)MOVAX,1100HIBX]
EA=(BX)+1100H=0100H+1IOOH=1200H,PA=(DS)x10H+EA=2000Hx]0H+1200H=
21200H,執(zhí)行后,(AX)=B61AH
(6)MOVAX,[BX][SI]
EA=(BX)+(SI)=0100H+0002H=0102H,PA=(DS)x10H+EA=2000Hx10H+0102H=20222H,
執(zhí)行后,(AX)=29D1H
3.4分析下列指令的正誤,對(duì)于錯(cuò)誤的指令要說(shuō)明原因并加以改正。
(l)MOVAH,BX(2)MOV[BX],[SI)
(3)MOVAX,[SIHDI](4)MOVMYDAT[BX][SI],ES:AX
(5)MOVBYTEPTR(BX],1000(6)MOVBX,OFFSETMAYDAT[SI)
(7)MOVCS,AX(8)MOVDS,BP
【解答】
(l)MOVAH,BX
錯(cuò)誤,寄存器類型不匹配,可改為MOVAX,BX
(2)MOV|BX1,(SI]
錯(cuò)誤,兩個(gè)操作數(shù)不能都為存儲(chǔ)單元,可改為MOVBX,[SI]或者M(jìn)OV[BX],SI
(3)MOVAX,(SIHDI]
錯(cuò)誤,尋址方式中只能浮現(xiàn)一個(gè)變址寄存器,可改為MOVAX,
(4)MOVMYDAT|BX][SIJ,ES:AX
錯(cuò)誤,AX簽不能有段看越前綴,去掉ES:,改為MOVMYDAT[BX][SI],AX
(5)MOVBYTEPTRIBX],1000
錯(cuò)誤,1(XX)超出字節(jié)空間存儲(chǔ)范圍
(6)MOVBX,OFFSETMAYDAT[SI]:正確
(7)MOVCS,AX
錯(cuò)誤,MOV指令CS不能做目的操作數(shù),可改為MOVDS.AX
(8)MOVDS,BP:正確
注:本題錯(cuò)誤改正部份有的答案并不惟一,可參考原題題意改成合法形式。
3.5設(shè)VARI、VAR2為字變量,LAB為標(biāo)號(hào),分析下列指令的錯(cuò)誤之處并加以改正。
(1)ADDVARI,VAR2(2)MOVAL,VAR2
(3)SUBAL,VARI(4)JMPLAB|SI|
(5)JNZVARI(6)JMPNEARLAB
9
【解答】
(1)ADDVARI,VAR2
錯(cuò)誤,兩個(gè)操作數(shù)不能都為存儲(chǔ)單元,可改為MOVBX,VAR2
ADDVARI,BX
(2)MOVAL,VAR2
錯(cuò)誤,數(shù)據(jù)類型不匹配,可改為MOVAX,VAR2
(3)SUBAL,VARI
錯(cuò)誤,數(shù)據(jù)類型小匹配,可改為SUBAX,VARI
(4)JMPLAB[SI]
錯(cuò)誤,寄存器相對(duì)尋址形式中不能用標(biāo)號(hào)做位移量,可改為JMPVARHSI]
(5)JNZVARI
錯(cuò)誤,條件跳轉(zhuǎn)指令只能達(dá)行段內(nèi)短跳轉(zhuǎn),所以后面只能跟短標(biāo)號(hào)??筛臑镴NZLAB
⑹JMPNEARLAB
錯(cuò)誤,缺少運(yùn)算符PTR,可改為JMPNEARPTRLAB
注:本題錯(cuò)誤改正部份有的答案并不惟一,可參考原題題意改成合法形式。
3.6寫(xiě)出能夠完成下列操作的8086CPU指令。
⑴把4629H傳送給AX寄存器;
(2)從AX寄存器中減去3218H;
⑶把BUF的偏移地址送入BX中。
【解答】
(l)MOVAX,4629H
(2)SUBAX,3218H
(3)LEABX,BUF
3.7根據(jù)以下要求寫(xiě)出相應(yīng)的匯編語(yǔ)言指令。
(1)把BX和DX寄存器的內(nèi)容相加,結(jié)果存入DX寄存器中;
⑵用BX和SI的基址變址尋址方式,把存儲(chǔ)器中的一個(gè)字節(jié)與AL內(nèi)容相加,并保存在AL寄存
器中;
(3)用寄存器BX和位移量21B5H的變址尋址方式把存儲(chǔ)器中的一個(gè)字和(CX)相加,并把結(jié)果送
回存儲(chǔ)器單元中;
(4)用位移量2158H的直接尋址方式把存儲(chǔ)器中的一個(gè)字與數(shù)3160H相加,并把結(jié)果送回該存儲(chǔ)
器中;
(5)把數(shù)25H與(AL)相加,結(jié)果送回寄存器AL中。
【解答】
⑴ADDDX,BX
(2)ADDAL,[BX][SI]
(3)ADD21B5H|BX],CX
(4)ADDWORDPTR[2158H],3160H
(5)ADDAL25H
3.8寫(xiě)出將首地址為BLOCK的字?jǐn)?shù)組的第6個(gè)字送到CX寄存器的指令序列,要求分別使用以下
幾種尋址方式:
10
(I)以BX的寄存器間接尋址
(2)以BX的寄存器相對(duì)尋址
(3)以BX、SI的基址變址尋址
【解答】
(l)LEA
BX,BLOCK+10
MOVCX,[BX]
(2)LEABX,BLOCK
MOVCXJOIBX]
(3)LEABX,BLOCK
MOVSI,1()
MOVCX,[BXJ[SI]
3.9執(zhí)行下列指令后,AX寄存器中的內(nèi)容是什么?
TABLEDB10,20,30,40,50
ENTRYDW3
MOVBX,OFFSETTABLE
ADDBX,ENTRY
MOVAX,[BX]
AX=_______
【解答】AX=3228H
3.10下面是將內(nèi)存一字節(jié)數(shù)據(jù)高4位和低4位互換并放回原位置的程序,找出錯(cuò)誤并改正。
DATASEGMENT
DDIDB23H
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:MOVAX,DATA
MOVDS,AX
LEASI,OFFSETDDI
MOVAL,[SI]
MOVCL,4
RCRAL,CL
MOV[SI],AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
【解答】程序第8行錯(cuò)誤:LEASI,OFFSETDDI,應(yīng)去掉OFFSET;
程序第10行錯(cuò)誤:RCRAL,CL,應(yīng)使用ROR或者ROL,改為RORAL,CL3.H已知用寄存
器BX作地址指針,自BUF所指的內(nèi)存單元開(kāi)始連續(xù)存放著3個(gè)無(wú)符號(hào)數(shù)字?jǐn)?shù)據(jù),編程序求它們的和,
并將結(jié)果存放在這3個(gè)數(shù)之后。
【解答】參考程序如下:
LEABX.BUF
MOVAX.|BX|
ADDAXJBX+2]
ADDAXJBX+4]
MOV|BX+6].AX
3.12分析匯編語(yǔ)言源程序應(yīng)該由哪些邏輯段組成?各段的作用是什么?語(yǔ)句標(biāo)號(hào)和變量應(yīng)具備哪
3種屬性?
【解答】匯編語(yǔ)言源程序應(yīng)該由若干個(gè)邏輯段組成”可以有若干個(gè)數(shù)據(jù)段、代碼段、堆棧段和附加
數(shù)據(jù)段,至少要有一個(gè)代碼段。各段的作用如下:
(1)代碼段用來(lái)存放程序和常數(shù)。
(2)數(shù)據(jù)段用于數(shù)據(jù)的保存.
(3)堆棧段用于保護(hù)數(shù)據(jù),特別在子程序調(diào)用、中斷過(guò)程中進(jìn)行現(xiàn)場(chǎng)信息保護(hù)。
(4)附加數(shù)據(jù)段用于數(shù)據(jù)的保存。
語(yǔ)句標(biāo)號(hào)和變量應(yīng)具備的3種屬性:段屬性、偏移屬性和類型屬性。
3.13執(zhí)行完下列程序后,回答指定的問(wèn)題。
MOVAX,0
MOVBX,2
MOVCX,50
LP:ADDAX,BX
ADDBX,2
LOOPLP
問(wèn):(1)該程序的功能是O
(2)程序執(zhí)行完成后,(AX)=:■
【解答】
(I)完成0到l(x)間所有偶數(shù)求利的功能。
(2)2550
3.14編寫(xiě)程序,計(jì)算下面函數(shù)的值。
2x(x0)
s3x(0x10)
4xx10
【解答】
DATSEGMENT
AXDW34
SDW?
TENDS
DASEGMENT
g°D
ASSUMECSrCODE,DS:DATA
START:MOVAX,DATA
MOVDS,AX
MOVAX,X:將X送到AX中
CMPAX,0;(AX)>0嗎?
JLDOUB:是,轉(zhuǎn)向doub
CMPAX,10:否,(ax)<10嗎?
JLETRIB;是,轉(zhuǎn)向(rib
12
SALAX,1:古,乘以4
SALAX,1
JMEXIT
PDOUB:AX,1;乘以2
SALEXIT
JM
AX,1;乘以3
PTRIB:AX,X
SAI.
S,AX:保存結(jié)果
AD
AH,4CH
DEXIT:;結(jié)束
MOV
MOV
INT2IH
CODEENDS
ENDSTART
注意,在比較的過(guò)程中使用的是針對(duì)帶符號(hào)數(shù)的跳轉(zhuǎn)指令,斕該看做帶符號(hào)數(shù)。程序中還用了移
位指令代替了乘法指令。
3.15從鍵盤(pán)輸入?系列字符,以回車(chē)符結(jié)束,編程統(tǒng)計(jì)其中非數(shù)字字符的個(gè)數(shù)。
【解答】
DATASEGMENT
BLOCKDB100DUP(?)
COUNTDB?
DATAENDS
CODESEGMENT
ASSUMEDS:DATA,CS:CODE
START:MOVAX,DATA
MODS.AX
VDL,0
MOSI,
VBLOCK
LEA
LP:MOAH,I
V
INT21H
CMPAL.0DH
JZEXIT
MOV[SI],AL
CMPAL,30H
JAENEXT
CMPAL.39
H
JBENEXT
INCD
L
NEXT:INCSI
JMP卜
EXIT:MOVCOUNT,DL
MOVAH,
4CHINT
21H
CODENDS
E
ENDSTART
3.16已知在內(nèi)存中從BLOCK單元起存放有20個(gè)帶符號(hào)字節(jié)數(shù)據(jù),統(tǒng)計(jì)其中負(fù)數(shù)的個(gè)數(shù)并放入
COUNT單元。
【解答】
DATASEGMENT
BLOCKDB-7,I,12,-90,-70,34,-1,56,45,-12
DB-3,-4,23,0,12,II,-9,-8,67,-56
CNEQUS-BLOCK
COUNTDB?
DATAENDS
CODESEGMENT
ASSUMEDS:DATA,CS:CODE
START:MOVAX,DATA
MODS,AX
V
MODL,0
V
LEASI.
BLOCK
MOVCX,CN
LP:MOVAL,[SI]
TESTAL,80H
JZNEXT
INCDL
NEXT:INCSI
LOOPLP
MOVCOUNT,DL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3.17從鍵盤(pán)輸入一個(gè)大寫(xiě)英文字母,將其轉(zhuǎn)換為小寫(xiě)字母并顯示山來(lái),要求輸入其它字符時(shí),能
夠有出錯(cuò)提示信息。
【解答】
DATASEGMENT
MESSDB'INPUPERROR!,,OAH,ODH,
DATAENDS
CODESEGMENT
ASSUMEDS:DATA,CS:CODE
START:MyOVAX,DATA
DS,AX
MvOAH,
01H
INT21H
CMAL,'A'
P
JBERR
CMAL,Z
P
JAERR
ADAL,
D20H
MODL,AL
V
MOAH,
V02H
INT21H
JMPEXIT
ERR:MDX,OFFSET
OVMESSAH,09H
MO21H
V
INT
EXIT:MOVAH,02H
INT21H
CODEENDS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度大數(shù)據(jù)分析處理個(gè)人勞務(wù)合同3篇
- 2025年浙江嘉興市海寧市城投集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 二零二五年度鞋類產(chǎn)品回收與再利用技術(shù)研究合同3篇
- 2025年度個(gè)人健康保險(xiǎn)連帶擔(dān)保協(xié)議4篇
- 2025年遼寧鞍山國(guó)家高新技術(shù)產(chǎn)業(yè)開(kāi)發(fā)區(qū)國(guó)有企業(yè)招聘筆試參考題庫(kù)附帶答案詳解
- 2025年度個(gè)人果園生態(tài)旅游開(kāi)發(fā)與承包經(jīng)營(yíng)合同4篇
- 二零二五年度綠色能源貸款擔(dān)保服務(wù)協(xié)議4篇
- 二零二五年度門(mén)窗五金件行業(yè)人才培養(yǎng)與引進(jìn)合同4篇
- 二零二五年度民辦學(xué)校學(xué)生宿舍維修與設(shè)施更新合同4篇
- 2025年度智能門(mén)禁系統(tǒng)節(jié)能環(huán)保改造合同文檔4篇
- 第22單元(二次函數(shù))-單元測(cè)試卷(2)-2024-2025學(xué)年數(shù)學(xué)人教版九年級(jí)上冊(cè)(含答案解析)
- 藍(lán)色3D風(fēng)工作總結(jié)匯報(bào)模板
- 安全常識(shí)課件
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末聯(lián)考化學(xué)試題(含答案)
- 2024年江蘇省導(dǎo)游服務(wù)技能大賽理論考試題庫(kù)(含答案)
- 2024年中考英語(yǔ)閱讀理解表格型解題技巧講解(含練習(xí)題及答案)
- 新版中國(guó)食物成分表
- 浙江省溫州市溫州中學(xué)2025屆數(shù)學(xué)高二上期末綜合測(cè)試試題含解析
- 2024年山東省青島市中考生物試題(含答案)
- 保安公司市場(chǎng)拓展方案-保安拓展工作方案
- GB/T 15843.2-2024網(wǎng)絡(luò)安全技術(shù)實(shí)體鑒別第2部分:采用鑒別式加密的機(jī)制
評(píng)論
0/150
提交評(píng)論