微機原理期中自測試題及參考答案_第1頁
微機原理期中自測試題及參考答案_第2頁
微機原理期中自測試題及參考答案_第3頁
微機原理期中自測試題及參考答案_第4頁
微機原理期中自測試題及參考答案_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理自測試題參考答案

一、填空題(每空1分,共40分)

1、宏匯編語言程序被匯編時,指令語句產(chǎn)生代碼指令,偽指令語句不產(chǎn)生代碼指令,宏

指令語句可能產(chǎn)生也可能不產(chǎn)生代碼指令。

2、調(diào)用程序、子程序傳送參數(shù)的方法通常有寄存器、內(nèi)存和堆棧三種方法。

3、偽指令EQU、DB、DW、MACRO的標(biāo)號名字域必須有名字或標(biāo)號的偽指令為EQU、

MACRO。

4、雖在本模塊無定義,卻可以被單獨引用的名字或標(biāo)號,必須用EXTRN偽指令給以說明。

注:講義中由于疏忽誤將EXTRN寫為EXTERN,請更正過來。

5、PENTIUM的工作模式有實模式、保護模式、虛擬8086模式。

6、下述機器數(shù)形式可表示的數(shù)值范圍是(請用十進制形式寫出):單字節(jié)無符號整數(shù)0~255;

單字節(jié)有符號整數(shù)/28~+127。

注:微型計算機的有符號整數(shù)機器碼采用補碼表示,單字節(jié)有符號整數(shù)的范圍為-128~+127。

7、在匯編語言中,END偽指令有兩種格式。主模塊中的格式為END啟動指令標(biāo)號;非

主模塊中的格式為END。

8、乘法指令MUL的指令格式只有一個源操作數(shù),若源操作數(shù)的類型屬性為字節(jié),則目的

操作數(shù)在AX中,若源操作數(shù)的類型屬性為字,則目的操作數(shù)在DX:AX中。

注:將題中的目的操作數(shù)改為乘積更確切一些。

9、請給出標(biāo)志寄存器中標(biāo)志位OF、IF、SF、ZF、PF、CF的說明:OF溢出、IF中斷、

SF符號、ZF零、PF奇偶、CF進位。

10、堆棧是按照先進后出原則組織的一片連續(xù)的存儲區(qū)域。

11、變址尋址的有效地址是變址寄存器的內(nèi)容與地址位移量代數(shù)和。

12、指令XLAT通常用于查表操作,在使用該指令前,應(yīng)把表首的偏移首地址送入瑟,待

轉(zhuǎn)換的代碼在表中的序號送AL?

13、若要求不產(chǎn)生匯編錯誤,則字符串‘ABC,只能出現(xiàn)在偽指令DB中。

14,100.25轉(zhuǎn)換成單精度格式為01000010110010001000000000000000B。

15、若x的單精度格式為11000001110010010000000000000000B,則x=-25.125。

16、保護模式下,描述符表分為全局描述符表GDT、局部描述符表LDT、中斷描述

符表IDT。

17、實模式下,對于指令MOVAX,DS:[BXJ

執(zhí)行前DS=1000H,BX=11H,

則操作數(shù)DS:IBX1的有效地址為0011H。

注:有效地址指段內(nèi)的偏移量。

18、對于指令PADDSWMM0,MM1;

執(zhí)行前MM0=000000008000FFFFH,MM1=00000000FFFF8000H,

執(zhí)行后,MMO0000000080008000H。

注:MMX的運算有飽和處理和環(huán)繞式處理兩種方式。

環(huán)繞式處理運算結(jié)果上溢或下溢后,溢出的高位被舍棄。

如果將指令PADDSW改為PADDW,則得到結(jié)果000000007FFF7FFFH,因為PADDW采用

環(huán)繞式處理。

飽和處理運算結(jié)果上溢或下溢后,運算結(jié)果按該數(shù)據(jù)類型的邊界進行截取。也就是說高于該

數(shù)據(jù)類型上限的結(jié)果被置為該類型的最大值,低于該數(shù)據(jù)類型下限的結(jié)果被置為該類型的最

小值。

因為有符號數(shù)與無符號數(shù)的取值范圍不同,所以飽和運算對于有符號數(shù)和無符號數(shù)分別有不

同的指令。

PADDSW是有符號字?jǐn)?shù)據(jù)組飽和加法指令,對于試題而言結(jié)果應(yīng)為OOOOOOOO8OOO8OOOH?

如果換成PADDUSB,則為飽和方式無符號字?jǐn)?shù)據(jù)組加法,結(jié)果為OOOOOOOOFFFFFFFFH。

PADDUSB中,P表示成組(PACKED)數(shù)據(jù)(字節(jié)包裝、字包裝……),ADD為加法,U為

無符號(Unsigned),S為飽和(Saturation),B為字節(jié)(Byte)。

19、為下述情況各舉一例。

⑴寄存器與存儲單元內(nèi)容相加送寄存器ADDALJBX1。

⑵寄存器互送MOVAX,BX。

⑶將標(biāo)志寄存器進棧PUSHFo

⑷立即數(shù)與寄存器內(nèi)容和加送寄存器ADDAX,1234H。

⑸將48H、5AH存入字節(jié)數(shù)據(jù)區(qū)ARRAYBARRAYBDB48H,5AH。

二、指出下列指令所用到的尋址方式(10分)

指令目的操作數(shù)尋址方式源操作數(shù)尋址方式

MOVAX,1000H

MOVAX,DS:[1000H]直接尋址

MOVAX,DX

MOV[BX],AL

MOV[BX+SI+5],AX基址加變址尋址

MOV[BP],BX

MOVAX,[DI+10]

MOVAX,[SI]變址尋址

MOVEAX,[ESI*4+50|

MOVEAX,[EDX*2+EBP+0FH]

注:根據(jù)操作數(shù)的存放方式,可以把尋址方式分為立即數(shù)尋址、寄存器尋址和存儲器尋址三

類,存儲器的尋址方式分為直接尋址和間接尋址兩種,間接尋址再細分乂包括基址尋址、變

址尋址和基址加變址尋址。不同的書可能有不同的分類,掌握大的分類就可以了。

三、(10分)閱讀如下程序段,回答提出的問題。

MOVAX,3456

XCHGAX,BX

MOVAX,3456

SUBAX,BX

JEDONE

KK:ADDAX,BX

DONE:

該程序段執(zhí)行完JEDONE語句后,AX=00H,ZF=LIP=DONE的偏移地址。

四、(10分)

請在程序段的每一空框內(nèi)填入一語句(不得修改其它語句),以實現(xiàn)下述功能:將字變量

VARM1中的非零數(shù)據(jù)左移到最高位為“1”止,左移次數(shù)存入字節(jié)變量VARB中,左移后的

結(jié)果存入字變量VARW中。

MOVBL,0

MOVAX,VARW1

ANDAX,AX

JSDONE

GOON:INCBL

ADDAX,AX

JNSGOON

DONE:MOVVARW.AX

MOVVARB,BL

一、單項選擇題

?pc機是(c)

A、單片機B、單板機C、微型計算機D、微型計算機系統(tǒng)

2.CPU中運算器的主要功能是(D)

A、算術(shù)運算B、邏輯運算

C、函數(shù)運算D、算術(shù)運算和邏輯運算

3.8086CPU中的段寄存器用來存放(C)

A、存儲段的物理地址B、存儲器的邏輯地址

C、存儲器的段基值D、存儲器的起始地址

4.8086系統(tǒng)中內(nèi)存儲器的地址空間為1M,而在進行I/O讀寫時,有效的地址線是(B)

A、高16位B、低16位C、高8位D、低8位

5.8086CPU在進行寫內(nèi)存操作時,控制信號M/IO和DT/R是(D)

A、00B、01C、10D、11

6.芯片8288在8086CPU系統(tǒng)中用作(C)

A、總線鎖存器B、總線驅(qū)動器C、總線控制器D、總線仲裁器

7.有一靜態(tài)RAM芯片的地址線為A。?A9,數(shù)據(jù)線為Do?D3,則該存儲器芯片的存儲

容量為(D)

A、2KX4位B、1KB(B:字節(jié))C、2KBD、1KX4位

8.在16位存儲系統(tǒng)中,為了(C),存儲字最好存放在偶地址。

A、便于快速尋址B、節(jié)省所占的內(nèi)存空間C、減少執(zhí)行指令的總線周期D、減

少讀寫錯誤

9.有一8086系統(tǒng)的中斷向量表,在003CH:003FH單元開始依次存放34H、FEH、00H

和F0H四個字節(jié),該向量對應(yīng)的中斷類型碼和中斷服務(wù)程序的入口地址分別為(C)

A、OEH,34FE:00F0HB、OEH,0F000:0FE34H

C、OFH,0F000:0FE34HD、OFH,00F0H:34FEH

10.8259A可編程中斷控制器中的中斷服務(wù)寄存器ISR用于(A)

A、記憶正在處理中的中斷B、存放從外設(shè)來的中斷請求信號

C、允許向CPU發(fā)中斷請求D、禁止向CPU發(fā)中斷請求

11.當(dāng)8255A工作在方式1的輸入狀態(tài)時,8255A與外設(shè)之間的聯(lián)絡(luò)信號為(C)

A、IBF、ACKB、OBF、ACKC、IBF、STBD、OBF、STB

12.8253可編程定時/計數(shù)器的計數(shù)范圍是(D)

A、0-255B、1-256C、0-32768D、1-65536

13.可編程定時器/計數(shù)器8253的6種工作方式中,既可軟件啟動,乂可硬件啟動的是

(B)

A、方式1,2;B、方式2,3;C、方式3,5;D、方式2,5

14.根據(jù)串行通信規(guī)程規(guī)定,收發(fā)雙方的(B)必須保持相同。

A、外部時鐘周期;B、波特率因子;C、波特率;D、以上都正確

15.8251A用作異步串行通信接口,如果設(shè)定波特率因子為16,而發(fā)送器與接收器時鐘頻

率為19200Hz,則波特率為(A)o

A、1200波特;B,2400波特;C、9600波特;D、19200波特

16、10進制數(shù)一127的補碼為(A)

A、10000001B、10000000C、00000001D、11111111

17、指令MOVBX,DATA[BX]采用的尋址方式是(D)。

A、立即尋址B、寄存器間接尋址C、直接尋址D、寄存器相對?間接

尋址

18、已知AL=7EH,DL=8AH,執(zhí)行CMPAL,DL指令后,標(biāo)志寄存器中C、O、S、Z四標(biāo)

志的狀態(tài)分別為(C)。

A、0、0、1、0B、0、1、1、0C、1,0、1、0D、1、0、0、0

19、已知BL=08H,DL=0E2H,執(zhí)行XORDL,BL指令后,DL寄存器中的數(shù)為(D)

A、132B、20HC、OOHD、0EAH

20、CPU響應(yīng)中斷后得到中斷類型碼是9,則從(C)單元取出中斷服務(wù)子程序的入口地

A、0009HB、00009HC、00024HD、0024H

21十進制數(shù)66轉(zhuǎn)換成二進制數(shù)為(D)

A.11000010B.01100110C.11100110D.01000010

22下列數(shù)中最小的是A

A.(101001)2B.(52)8C.(2B)16D.(50)10

23設(shè)(101)x=(41)i6.求x=(C)

A.6B.10C.8D.12

24用16位二進制補碼表示一個帶符號數(shù),其最小數(shù)為(C),如表示一個無符號數(shù),其最

小數(shù)為(A)

A.OB.-32767C.-32768D.-65536

25-個8位二進制整數(shù),若用補碼表示,由3個“0”和5個“1”組成,則最小值為(C)。

A,-120B.-8C.-113D.-II

268086/8088加電復(fù)位后,執(zhí)行的第一條指令的物理地址是(B)。

A.OFFFFHB.FFFFOHC.0000HD.0240H

278086在執(zhí)行MOVAL,[BX]指令的總線周期內(nèi),若BX存放的內(nèi)容為2034H,則

BHE=,和A0的狀態(tài)為D。

A.O,1B.0,0C.l,1D.1,0

28在8086/8088CPU中,一個最基本的總線周期數(shù)由(①D)個時鐘周期(T狀態(tài))組成,在

T1狀態(tài),CPU往總線上發(fā)送的是(②B)信息。

①A.1B.2C.3D.4

②A.數(shù)據(jù)B.地址C.控制D.其他

298086用于中斷請求輸入的引腳信號是(A)。

A.INTR和NMIB.INT和NMIC.INTR和INTAD.INTE和INET

308086CPU響應(yīng)單個可屏蔽中斷的條件是(D)。

A.CPU開中斷

B.外設(shè)有中斷請求信號

C.外設(shè)中斷請求信號不屏蔽

D.同時滿足上述A,B,C條件,且正在執(zhí)行的指令執(zhí)行完畢。

31不需要訪問內(nèi)存的尋址方式是(B)。

A.直接尋址B.立即數(shù)尋址C.間接尋址D.變址尋址

32條件轉(zhuǎn)移指令JENEXT,能轉(zhuǎn)移到語句標(biāo)號為NEXT執(zhí)行的條件是(D)。

A.ZF=OB.CF=1C.CF=OD.ZF=1

33實現(xiàn)Al寄存器中D7和DO都取反的指令是D

A.ANDAL,7EHB.ORAL,81HC.TESTAL,81HD.XORAL,81H

二、多項選擇題

1.8086CPU的下列寄存器中,不能用作寄存器間接尋址方式時的地址寄存器的有

(ACD)。

A、AXB、BXC、CXD、DXE、SI

2.8086有兩種工作模式,即最大模式和最小模式,其中最小模式的特點是(ADE)。

A、8086提供全部控制信號B、必須使用總線控制器8288

C、必須使用總線收發(fā)器D、必須使用總線鎖存器

E、構(gòu)成單處理器系統(tǒng)

3.大部分DMAC都擁有(BCD)等傳送方式。

A、直接傳送方式B、單字節(jié)傳送方式

C、查詢傳送方式D、成組傳送方式

E、中斷傳送方式

4.要對可編程接口芯片進行讀操作時,必須滿足(AB)

A、CS=LB、RD=L,WR=HC、WR=L,RD=H

D、RD=LWR=LE、RD=H,WR=H

5將累加器清零的正確指令是ABC

A.ANDAX,OOHB.XORAX,AXC.SBBAX,AXD.CMPAX,AX

三、判斷題

1.在8086最小方式的總線讀時序圖中,在T2時鐘周期時:ADo-ADe總線上有一個高阻

態(tài)。(J)

2.對于可屏蔽中斷的嵌套處理原則是允許優(yōu)先級高的中斷打斷優(yōu)先級低的中斷,允許同級

中斷相互打斷,而不允許優(yōu)先級低的中斷打斷優(yōu)先級高的中斷。(X)

3.8086CPU在收到外部中斷請求信號以后,進人中斷響應(yīng)周期,通過IN指令讀取中斷類

型號,從而就可獲得中斷服務(wù)程序入口地址。(X)

4.可編程定時器/計數(shù)器,其定時與計數(shù)功能可由程序靈活地設(shè)定,但由于是由軟件控制,

在計數(shù)過程中必然會占用CPU的時間。(X)

5.指令一般包括兩部分:操作碼和操作數(shù)。(V)

6.一個總線周期有一個或若干個指令周期組成。(X)

7.8086有一個16位標(biāo)志寄存器,它包含了6個狀態(tài)標(biāo)志位和3個控制標(biāo)志位。(V)

8.一片8259A中斷控制器最多能接收8個中斷源。(V)

98086CPU的邏輯段允許段的重疊和交叉。(V)

108086CPU的標(biāo)志寄存器FR是16位的,每一位都有定義。(X)

11在8086的主存中,一個字節(jié)占用一個存儲單元,一個字占用兩個相鄰的單元,字的高8

位放在高地址單元,低8位放在低地址單元。(V)

128086CPU的AD0?AD15在執(zhí)行指令時,先傳數(shù)據(jù),后傳地址。(X)

四、填空題

1(640)|0=(1010000000)2=(280),6

2.每片8253包含有3個獨立的16位計數(shù)通道,每個通道具有一_種工作方式。

3.取指令時,8086會自動選擇q_值作為段基值,再加上由」匕提供的偏移量形成物理

地址。

4.8086/8088微處理器被設(shè)計為兩個獨立的功能部件:EU和BIU。

5.TEL8086的當(dāng)前CS=2000H,1P=5678H,則將執(zhí)行20位物理地址25678H處的程

序。

6.8086存儲器組織中,邏輯地址由十六進制生位構(gòu)成的,物理地址又由十六進制§位

構(gòu)成。

7.一片8259A可管理__□級中斷,若級聯(lián)三片從片則可以管理29級中斷。

8、若DS=1200H,則當(dāng)前數(shù)據(jù)段的起始地址是12000H,末地址是21FFFH。

9.系統(tǒng)中數(shù)據(jù)傳送的控制方式中程序控制的數(shù)據(jù)傳送乂分為條件查詢和無條件查

詢O

10.“串行通信”是指數(shù)據(jù)一位一位依次傳送。在串行通信中有兩種基本的通信方式:

即同步和異步。

11.主機和I/O設(shè)備間的數(shù)據(jù)傳送有程捽、中斷和DMA,IOP三

四種方式,其中DMA和IOP傳送過程中CPU無需參與,而是由DMAC和IOP控制

完成。

1238.8086系統(tǒng)中,要求各個邏輯段必須從節(jié)的整數(shù)倍邊界開始,即段首地址的低4位總是

0―。將段首地址的高16位地址碼稱作段基址,存放在相應(yīng)的段寄存器

中。

13.由邏輯地址獲得物理地址的計算公式為段基址*16+偏移地

M。

14.80X86系統(tǒng)中,堆棧是遵循后進先出原則。

15.在8086最小模式的典型配置中,需2片雙向總線收發(fā)器8286,因為8286數(shù)據(jù)線

為8位,而8086數(shù)據(jù)總線為16位o

16.8086/8088系統(tǒng)中I/O端口地址是二進制數(shù)16位的,可尋址64K個端

口。每個端口中含8位的數(shù)據(jù)。

17.8086/8088的I/O指令中若采用直接尋址,要求端口地址必須在0-255范圍之內(nèi):

若采用間接尋址,則端口地址在0-65535范圍之內(nèi)。

18位二進制補碼所能表示的十進制數(shù)的范圍為+127?-128,前者的補碼為

(01111111),后者的補碼為(10000000)o

19已知段基址和偏移地址分別為2015H和0028H,此存儲單元的物理地址是(20178H)。

20若8086的引腳MN/MX接+5V,則當(dāng)執(zhí)行OUT指令時,其引腳信號M/IO=0RD=

],WR=0(填寫高、低電平)。

218086工作于最小模式下,CPU完成存儲器讀操作時:信號M/IO=1.RD=

0,WR=J和DT/R=0。若進行字節(jié)操作,單元地址為奇地

址,則BHE=0,和A0=1若進行字操作且該字地址為偶地址,

貝I」BHE=0,和A0=0

22寫出一條指令完成下述功能:1)將AH的最高3位清零,其他位不變:AND

AH.IFH:2)將AH的低4位置1,其他位不變:ORAH0FH:3)將AH的

最低位取反,其他為不變:X0RAHQ1H

23宏匯編語言程序被匯編時,指令語句產(chǎn)生代碼指令,偽指令語句不產(chǎn)生代碼

指令,宏指令一語句可能產(chǎn)生也可能不產(chǎn)生代碼指令。

24調(diào)用程序、子程序傳送參數(shù)的方法通常有逢挖」、寄存器和內(nèi)存空間三種方

法。

25偽指令EQU、DB、DW、MACRO的標(biāo)號名字域必須有名字或標(biāo)號的偽指令為

EOU,MACRO。

26乘法指令MUL的指令格式只有一個源操作數(shù),若源操作數(shù)的類型屬性為字節(jié),則目的

操作數(shù)在AX中,若源操作數(shù)的類型屬性為字,則目的操作數(shù)在DX,AX中。

27請給出標(biāo)志寄存器中標(biāo)志位OF、IF、SF、ZF、PF、CF的說明:OF溢出、IF中斷、

SF符號、ZF零、PF奇偶、CF進位。

28、指令XLAT通常用于查表操作,在使用該指令前,應(yīng)把表首的偏移首地址送入BX,

待轉(zhuǎn)換的代碼在表中的序號送AL。

29若要求不產(chǎn)生匯編錯誤,則字符串,ABC只能出現(xiàn)在偽指令DB中。

30為下述情況各舉一例。

⑴寄存器與存儲單元內(nèi)容相加送寄存器ADDAXJ1000H]。

⑵寄存器互送MOVAX,BX。

⑶將標(biāo)志寄存器進棧PUSHF。

⑷立即數(shù)與寄存器內(nèi)容相加送寄存器ADDAHJHH。

(5)將48H、5AH存入字節(jié)數(shù)據(jù)區(qū)ARRAYBARRAYBDB

48H,5AH。

五、簡答題

1.在I/O接口電路中,按主機與外設(shè)間傳送的信息類型,端口可分為哪兒類?CPU對這些

端口實行讀操作還是寫操作?

答:I/O端口分為:數(shù)據(jù)口,狀態(tài)口,控制口。CPU可對數(shù)據(jù)口進行讀或?qū)懖僮?,對狀態(tài)口

進行讀操作、對控制口進行寫操作

2.與并行通信相比較,串行通信有什么特點?

(1)串行通信適宜于遠程數(shù)據(jù)傳送;

(2)串行通信通常傳送速度較慢;

(3)串行通信的費用較低,傳輸線少,可借用電話網(wǎng)絡(luò)來實現(xiàn)遠程通信.

3.8086/8088CPU響應(yīng)任何一種中斷時,都會自動的將IF和TF標(biāo)志清零,其目的是什么?

答:將IF標(biāo)志清零的目的是在本次執(zhí)行中斷服務(wù)程序的過程期間,不要再響應(yīng)其他的可屏

蔽中斷:將TF標(biāo)志清零的目的是不要單步執(zhí)行中斷服務(wù)程序。

4.CPU響應(yīng)多種中斷時,都要自動地保護斷點,為什么?

答:“保護斷點”是指主程序中當(dāng)前被中斷的指令的下一條指令所存放的存儲單元的邏輯地

址,(稱為斷口地址,或斷點地址,簡稱斷點)包括段值和段內(nèi)偏移量兩部分(既CS和IP

中的內(nèi)容)作為返回地址被自動地壓人堆棧中保護起來。這樣做的目的是使中斷服務(wù)程序運

行結(jié)束時,使程序能返回到主程序的斷點處去繼續(xù)執(zhí)行。

5.當(dāng)某一中斷發(fā)生時,CPU如何能找到相應(yīng)的中斷向量?

答:當(dāng)某一中斷發(fā)生時,CPU只有在中斷向量表中找準(zhǔn)找到相應(yīng)的中斷向量,即相應(yīng)的中

斷服務(wù)程序的人口地址,才能去執(zhí)行相應(yīng)的中斷服務(wù)程序。若能找準(zhǔn)存放該中斷向量的4個

存儲單元的地址,就意味著找到了該中斷向量。若把存放每個中斷向量的4個單元的第一

個單元的地址叫做向量地址,由于中斷向量是按中斷類型碼門從0~255的順序存放的,故

向量地址與中斷類型碼有如下關(guān)系:向量地址=0000:NX4。

如:0號中斷的向量地址為0000:0000,表示0號中斷的中斷向量存于地址為0000:

0000開始的4個單元中,1號中斷的向量地址為0000:0004H,表示1號中斷的中斷向

量存于地址為以0000:0004H開始的4個單元之中,等等。因此,任何一個中斷的到來,

CPU只要能得到它的中斷類型號,就能找到它的中斷向量。把它的偏移量傳送入IP,段值

送入CS,即能執(zhí)行相應(yīng)的中斷服務(wù)程序。

6.分別指出下列指令中源操作數(shù)的尋址方式:(5分)

A.MOVSL100立即尋址

B.MOVCX,DATA[Si]寄存器相對尋址

C.MOV[SI],AX寄存器尋址

D.ADDAX,[BX][Di]基址加變址尋址

E.POPHF寄存器尋址

7.什么是中斷?什么是中斷向量?什么是中斷向量表?INT24在中斷向量表的什么位置?一

個完整的中斷過程有哪幾個步驟?

答:中斷是指CPU在正常運行時,由于內(nèi)部、外部事件或由程序的預(yù)先安排引起的CPU中

斷正在運行的程序,轉(zhuǎn)而到內(nèi)部、外部事件預(yù)先安排的服務(wù)程序(中斷子程序)中去執(zhí)行。

中斷向量是中斷處理子程序的入口地址,每個中斷類型對應(yīng)一個中斷向量。中斷向量表

是中斷類型碼和與此類型碼相應(yīng)的中斷服務(wù)程序之間的一個連接鏈。每一個中斷服務(wù)程序入

口地址的IP和CS成為一個中斷指示字或中斷向量。

24*4=96=60HINT24在中斷向量表的0000:0060H-0000:0063H處。

一個完整的中斷過程包括中斷請求、中斷排隊、中斷響應(yīng)、中斷處理利中斷返回五個

步驟。

8.簡述8086CPU由哪些寄存器組成。

答:4個16位的通用寄存器:AX累加器、BX基址寄存器、CX計數(shù)器、DX數(shù)據(jù)寄存器;

4個16位的專用寄存器:SP堆棧指針寄存器、BP基址指針寄存器、SI源變址寄存

器、DI目的變址寄存器;

一個標(biāo)志寄存器FR;

4個16位的段地址寄存器:CS代碼段寄存器、DS數(shù)據(jù)段寄存器、SS堆棧段寄存器、

ES擴展段寄存器;

一個16位的指令指針寄存器IP

9.簡述8086/8088系統(tǒng)中為什么要使用地址鎖存器?

答:為獲取并保持地址信息,系統(tǒng)中要使用地址鎖存器。因為8086/8088系統(tǒng)中低16位地

址線與?數(shù)據(jù)線分時復(fù)用,高4位地址線與狀態(tài)線分時復(fù)用,在每個總線周期的T1狀態(tài)期間,

CPU通過20位地址線向外發(fā)送地址,然后在T2、T3、T4狀態(tài)時傳送數(shù)據(jù)或狀態(tài)信息,而

在一個完整的總線周期(T1~T4)內(nèi),被訪問的存儲器或I/O端口始終需要完整的地址信息,

這就要求在T1狀態(tài)時地址有效期間由地址鎖存器將地址信號鎖存并保持,以供被訪問的存

儲器或I/O端口在整個總線周期內(nèi)使用。

10.已知SDRAM6264的片容量是8KX8位,問它的外部引腳中含多少根地址線和數(shù)據(jù)線?

答:從該芯片的容量可知,其內(nèi)部含有8192個(8*1024)存儲單元,每個單元能存放一個

字節(jié)數(shù)據(jù),因為13根地址線才能對8192個存儲單元尋址(2於=8192),所以它有13根地址

線,8位數(shù)據(jù)線。因為在讀寫每一個存儲單元的8位二進制數(shù)時需要8位數(shù)據(jù)線。

六、簡單分析、設(shè)計題

1、閱讀如下程序段,回答提出的問題。

MOVAX,3456

XCHGAX,BX

MOVAX,3456

SUBAX,BX

JEDONE

KK:ADDAX,BX

DONE:

該程序段執(zhí)行完JEDONE語句后,AX=0,ZF=1,IP=DONE。

2請在程序段的每一空框內(nèi)填入一語句赤毒修改其它語句),以實現(xiàn)下述功能:將字變量

VARM1中的非零數(shù)據(jù)左移到最高位為“1”止,左移次數(shù)存入字節(jié)變量VARB中,左移后的

結(jié)果存入字變量VARW中。

MOVBL,0

MOVAX,VARW1

ADDAX,0

JSDONE

GOON:INCBL

ADDAX,AX

JNSGOON

DONE:MOVVARW,AX

MOVVARR,BL

3為什么說8088CPU為準(zhǔn)16為微處理器,而8086CPU為16為微處理器?

答:8088CPU的內(nèi)部寄存器均為16位,可一次完成16位二進制的算術(shù)及邏輯運算,但

外部數(shù)據(jù)總線為8位。而8086則內(nèi)部寄存器及外部數(shù)據(jù)總線均為16位,可一次完成16

位二進制的算術(shù)及邏輯運算。

4已知,(DS)=0120H,(SS)=2000H,(ES)=0FF2H,(BX)=1000H,(BP)=2000H,(SI

3110H,(SP)=1004H,試寫出下面每條指令中存儲器操作數(shù)的物理地址。

(1)MOVAL,[BX+SI+9000H]DS*16+BX+SI+9000H1E310H

(2)MOVBX」BP-18]SS*16+BP-1821FEEH

(3)ADDSS:[BX+SI-3],ALSS*16+BX+SI-32410DH

(4)SUB[SI+BP],CXSS*16+SI+BP25110H

(5)PUSHFSS*16+SP-221002H

堆棧指針寄存器SP的初值位1000H,AX=2000H,BX=3000H,試問:

(1)執(zhí)行指令PUSHAX后,SP=0FFEH

(2)再執(zhí)行指令PUSHBX和POPAX后,SP=OFFEH,AX=3000H,BX=

3000H。

5程序段執(zhí)行完后,AX,BX,CX,DX寄存器的內(nèi)容分別是什么?

START:MOVAX,01H

MOVBX,02H

MOVCX,03H

MOVDX,04H

NEXT:INCAX

ADDBX,AX

SHRDX,1

LOOPNEXT

AX=4BX=08HCX=0DX=0.

6判斷下面8086匯編程序執(zhí)行結(jié)果:

MOVAX,0FFFDH

MOVBX,8000H

ADDAX,BX

HLT

執(zhí)行結(jié)果

AX=7FF0HBX=8000H

對應(yīng)標(biāo)志位

ZF=0SF=0OF=1CF=1PF=0

AF=0________

7.下面程序段執(zhí)行完以后,BX的內(nèi)容是什么?

MOVBX,OOFFH

ANDBX,OFFFH

ORBX,OFOFH

XORBX,OOFFH

答:BX=0F00H

8卜列程序段完成什么工作?

DAT1DB30DUP(?)

DAT2DB]10DUP(?)

i

■?

MOVex,10

MOVBX,20

MOVSL0

MOVDL0

NEXT:MOVAL,DAT1[BX][SI]

MOVDAT2[DI],AL

INCSI

INCDI

LOOPNEXT

答:把DAT1+20存儲單元開始的10個字節(jié)搬到DAT2開始的連續(xù)10個存儲單元中。

9.設(shè)8086系統(tǒng)中,中斷請求信號采用邊沿觸發(fā)方式,單片8259A,中斷類型碼高5位為

01010,中斷源接在IR2上,普通全嵌套方式,非自動結(jié)束方式,緩沖方式。(設(shè):ICW1

口地址為80,ICW2、ICW3、ICW4口地址為81)編寫初始化程序。

MOVAL,13H

OUT80H,ALICW1

MOVAL,52H

OUT81H,ALICW2

MOVAL,09H

OUT81H,ALICW4

10.已知(AX)=0120H,(BX)=2000H,(CX)=0FF2H,(DS)=1000H,(ES)=2000H,

存儲器中的數(shù)據(jù)如圖所示。請寫出下列指令單獨執(zhí)行時,對寄存器和存儲器內(nèi)容將產(chǎn)生什么

影響?

(1)MOVAX,[BX](5)LDSDI,[1000H]

(2)MOVAX,ES:[BX](6)LESSI,[OFFEH]

(3)MOV[BX],CX(7)XCHGAX,BX

(4)LEACX,[BX](8)XLAT

答:該題實際上要求回答8條指令分別執(zhí)行時的結(jié)果。

(1)MOVAX,|BX]

源操作數(shù)的物理地址為:10000HI-2000H=12000H

執(zhí)行結(jié)果(AX)=[12000H]=9745H

(2)MOVAX,ES:[BX]

ES:|BX]為段超越情況,源操作數(shù)物理地址為:20000H+2000H=22000H

執(zhí)行結(jié)果:(AX)=[22000H]=4433H

(3)MOV[BX],CX1OFFEH45H

0FH

目的操作數(shù)的物理地址為:10000H+2000H=12000H

10H

故[12001H]=0FH,[12000H]=0F2H

25H

原來的內(nèi)容不再是97H及45H了。00H

(4)LEACX,[BX]10H

源操作數(shù)的有效地址為BX故(CX)=(BX)=2000H

(5)LDSDI,[1000H]

源操作數(shù)的物理地址是10000H+1000H=11000H,故

12000H45H

(DS)=[11002H]=1000H

97H

(DI)=[11000HJ=2510HOOH

(6)LESSI,[OFFEH]

源操作數(shù)的物理地址為10000H+0FFEH=10FFEH,故

(ES)=[11000H|=2510H

(SI)=11OFFEHJ=OF45H12020H56H

(7)XCHGAX,BX.

執(zhí)行前(AX)=0120H,(BX)=2000H

22000H33H

執(zhí)行后(

AX)=2000H,(BX)=0120H44H

(8)XLAT;(AL)=[BX+ALJ=[2000H+0020HJ

=[2020H]

有效地址EA=2020H時,物理地址為12020H,故執(zhí)行XLAT指令后,(AL)=56H。

11.寫出四條指令,分別能將AX寄存器清零。

答:①MOVAX,0

②ANDAX,0

③SUBAX,AX

④XORAX,AX

12下列指令是否有錯?有則指出錯誤所在:

(I)MOVDS,117CH錯,立即數(shù)不能直接送段寄存器

(2)MOV[BX],[28A0H]錯,雙操作數(shù)指令的兩個操作數(shù)不能同時在內(nèi)存中

(3)MOVcs,AX錯,不能用指令直接往CS寄存器中傳送數(shù)據(jù)

(4)MOVDS,ES錯,兩個段寄存器之間不能傳送數(shù)據(jù)

(5)MOVAL,DX錯,類型不匹配,寄存器長度不同

(6)MOVAX,1000[BX]對

(7)MOVBX,[AX]錯,AX寄存器不能用于間接尋址

(8)MOVAL,C8H錯,以字母開頭的十六進制數(shù)前面要加前導(dǎo)0

(9)MOVAX,00F1錯,十六進制數(shù)應(yīng)加上后綴0

(10)MOVAX,[SI-10]對

七、綜合分析、設(shè)計題

1址為DATAB開始的80個單元中,存放某班80個學(xué)生的某課程成績,要求:統(tǒng)計>=90分、

80~89分、70~79分、60~69分、60分以下的人數(shù),結(jié)果存放在BTRX開始的5個單元中求

平均成績,結(jié)果存放在LEVEL中。

解:寄存器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在

BL,60分以下在AH,總分、均分都在[DI]。

DATSEGMENT

CONTDB10

DATADB30,65,99,80,75,89,100,45,60,70

BUFFERDB?,?,?,?,?

LEVELDB?,?

DATENDS

XORAH,AH

XORDX,DX;統(tǒng)計結(jié)果清零

XORBX,BX;統(tǒng)計結(jié)果清零

LEASI,DATA

LEADI,LEVEL

MOVCL,CONT;總?cè)藬?shù)送循環(huán)計數(shù)器CX

goon:MOVAL,[SI];讀原始數(shù)據(jù)

ADC[DI],AL;累力口總分

ADC[DI+l],0;計算進位

CMPAL,90

JLPP8;不高于90分者轉(zhuǎn)PP8

INCDH;90-100分的人數(shù)加一

JMPSTOR

PP8:CMPAL,80

JLPP7;不高于80分轉(zhuǎn)PP7

INCDL;80—-89分的人數(shù)加一

JMPSTOR

PP7:CMPAL,70

JLPP6;不高于70分者轉(zhuǎn)PP6

INCBH;70-79分的人數(shù)加一

JMPSTOR

PP6:CMPAL,60

JLPP5;不高于60分者轉(zhuǎn)PP5

INCBL;60—69分的人數(shù)加一

JMPSTOR

PP5:INCAH;低于60分的人數(shù)加一

STOR:INCSI;讀下一個分?jǐn)?shù)

LOOPGOON

;CX=CX-1,CX不為零轉(zhuǎn)GOON,繼續(xù)統(tǒng)計

LEASI,BUFFER;回存統(tǒng)計結(jié)果

MOV[SI],DH

INCSI

MOV[SI],DL

INCSI

MOV

INCSI

MOV[SI],BL

INCSI

MOV[SI],AH

MOVAX,WORDPTR[DI];計算平均成績

MOVCL,CONT

DIVCL

MOVLEVEL,AL;回存平均成績

HLT

2在BVFF單元中有一個BCD數(shù)A,試根據(jù)下列關(guān)系編寫程序,計算結(jié)果存在DES中。

A<20,Y=A+20;

A<60,Y=A-20;

A>=60,Y=A.

DATSEGMENT

BVFFDB8

DESDB?

DATENDS

MOVAL,BVFF

CMPAL,20

JLEXI

CMPAL,60

JLEX2

MOVAL,80(cmpal,80)

JMPSTOP

EXI:MOVBL,3

MULBL(addal,20)

JMPSTOP

EX2:SUBAL,20

STOP:MOVDES,AL

HLT

3在DATA之下存放100個無符號的8位數(shù),找出其最大者并將其存放在KVFF單元。

DATSEGMENT

BUFFERDB;自行定義100個數(shù)據(jù)

KVFFDB9

DATENDS

XORDL,DL

LEADI,KVFF;

NEXTO:LEASI,BUFFER;

MOVCL,99;比較次數(shù)為N-l次

NEXT1:MOVAL,[SI];

INCsi;

CMPDL,AL;

JNCNEXT2;

MOVDL,AL;DL中始終存目前最大值

NEXT2:DECCL;

JNZNEXT1;

MOV[DI],DL;最大值存儲

HLT

4編寫10個字(16位二進制數(shù))之和的程序

解:ADD1為被加數(shù),ADD2為加數(shù),SUM為和,CONT為循環(huán)次數(shù)

LEASI,ADD1;

LEADI,ADD2;

LEABX,SUM;

MOVCL,CONT;

MOVCH,0;循環(huán)初始化

CLC;進位清零

MADD1:MOVAX,[SI];讀加數(shù)1

ADCAX,[DI]

ADDSI,2;移動源區(qū)地址指針

ADDDI,2;移動目的區(qū)地址指針

MOV[BX],AX;回存計算結(jié)果

ADDBX,2;移動“和”存儲區(qū)地址指針

LOOPMADD1;循環(huán)控制

HLT;暫停

5.在某??系統(tǒng)中,有8個開關(guān)K7?K0,要求不斷檢測它們的通斷狀態(tài),并通過發(fā)光二極

管LED7?LEDO顯示出來。開關(guān)斷開,相應(yīng)的LED點亮;開關(guān)合上,LED熄滅。選用8086

CPU,8255A和74LS138譯碼器等芯片,構(gòu)成應(yīng)用電路。如卜圖所示,8255A的PA口作

輸人口,8個開關(guān)K7-K0分別接PA7?PAO。PB口為輸出口,PB7-PB0分別連接顯示器

LED7-LE

溫馨提示

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

評論

0/150

提交評論