微機原理與接口技術(shù)(第二版)課后習題答案_第1頁
微機原理與接口技術(shù)(第二版)課后習題答案_第2頁
微機原理與接口技術(shù)(第二版)課后習題答案_第3頁
微機原理與接口技術(shù)(第二版)課后習題答案_第4頁
微機原理與接口技術(shù)(第二版)課后習題答案_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理與接口技術(shù)(第二版)課后習題答

微機原理與接口技術(shù)(第二版)課后題答案

第1章作業(yè)答案

1.1微處理器、微型計算機和微型計算機系統(tǒng)三者之間有

什么不同?解:把CPU(運算器和控制器)用大規(guī)模集成電路技

術(shù)做在一個芯片上,即為微處理器。微處理器加上一定數(shù)量的

存儲器和外部設(shè)備(或外部設(shè)備的接口)構(gòu)成了微型計算機。微

型計算機與管理、維護計算機硬件以及支持應用的軟件相結(jié)合

就形

成了微型計算機系統(tǒng)。

1.2CPU在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?CPU應該具備哪

些主要功能?解:CPU主要由起運算器作用的算術(shù)邏輯單元、

起控制器作用的指令寄存器、指令譯碼器、可編程邏輯陣列和

標志寄存器等一些寄存器組成。其主要功能是進行算

術(shù)和邏輯運算以及控制計算機按照程序的規(guī)定自動運行。

1.3微型計算機采用總線結(jié)構(gòu)有什么優(yōu)點?

1

解:采用總線結(jié)構(gòu),擴大了數(shù)據(jù)傳送的靈活性、減少了連

線。而且總線可以標準化,易于兼容和工業(yè)化生產(chǎn)。

1.4數(shù)據(jù)總線和地址總線在結(jié)構(gòu)上有什么不同之處?如果一

個系統(tǒng)的數(shù)據(jù)和地址合用

一套總線或者合用部分總線,那么要靠什么來區(qū)分地址和

數(shù)據(jù)?解:數(shù)據(jù)總線是雙向的(數(shù)據(jù)既可以讀也可以寫),而地址

總線是單向的。8086CPU為了減少芯片的引腳數(shù)量,采用數(shù)據(jù)

與地址線復用,既作數(shù)據(jù)總線也作為地址總線。它們主要靠信

號的時序來區(qū)分。通常在讀寫數(shù)據(jù)時,總是先輸出地址

(指定要讀或?qū)憯?shù)據(jù)的單元),過一段工夫再讀或?qū)憯?shù)據(jù)。

1.8在給定的模子中,寫出用累加器的辦法實現(xiàn)15x15的程序。

解:LDA,

LDH,15

LOOP:ADDA,15

DECH

2

JPNZ,LOOP

HALT

第2章作業(yè)謎底

2.1IA-32結(jié)構(gòu)微處置懲罰器直至Pentillm4,有哪幾種?

解:

、、Pentium,PentiumPro、XXX、XXX、Pentium4o

2.6IA-32結(jié)構(gòu)微處置懲罰器有哪幾種操作形式?

解:

IA—32結(jié)構(gòu)撐持3種操作形式:保護形式、實地點形式和

體系辦理形式。操

作形式確定哪些指令和結(jié)構(gòu)特征是能夠拜候的。

2.8IA-32結(jié)構(gòu)微處置懲罰器的地點空間若何形成?

3

解:

由段寄存器確定的段基地址與各種尋址方式確定的有效地

址相加形成了線性地址。若末啟用分頁機制,線性地址即為物

理地址;若啟用分頁機制,則它把線性地址轉(zhuǎn)為物理地址。

2.158086微處置懲罰器的總線接口部件由哪幾局部組成?

解:

8086微處理器中的總線接口單元(BIU)負責CPU與存儲器

之間的信息傳送。具體地說,BIU既負責從內(nèi)存的指定部分取

出指令,送至指令隊列中排隊(8086的指令隊列有6個字節(jié),而

8088的指令隊列只有4個字節(jié));也負責傳送執(zhí)行指令時所需的

操作數(shù)。執(zhí)行單元(EU)負責執(zhí)行指令規(guī)定的操作。

2.16段寄存器CS=120OH,指令指針寄存器IP=FFOOH,此

時,指令的物理地點為

幾何?

解:指令的物理地點=H+FFOOH=21FOOH

4

第3章作業(yè)答案

3.1分別指出下列指令中的源操作數(shù)和目的操作數(shù)的尋址

方式。

(l)MOVSI,300

(2)MOVCX,DATA[DI]

(3)ADDAX,[BX][SI]

(4)ANDAX,CX

(5)MOV[BP],AX

(6)PUSHF

解:

⑴源操作數(shù)為立即尋址,目標操作數(shù)為寄存器尋址。

(2)源操作數(shù)為變址寄存器加位移量尋址,目標操作數(shù)為寄

存器尋

址。

(3)源操作數(shù)為基址加變址尋址,目的操作數(shù)為寄存器尋址。

(4)源操作數(shù)和目標操作數(shù)都為寄存器尋址。

(5)源操作數(shù)為寄存器尋址,目標操作數(shù)為寄存器直接尋址。

(6)為堆棧操作。

5

3.2試述指令MOVAX,2000H和MOVAX,DSz[2000H]的

區(qū)別。

解:前一條指令是立即尋址,即把立即數(shù)2000H傳送至寄

存器AX。后

一條指令是直接尋址,是把數(shù)據(jù)(DS)段中的地點為200OH

單元的內(nèi)容

傳送至寄存器AX。

3.3寫出以下指令中內(nèi)存操作數(shù)的所在地址。

(l)MOVAL,[BX+10]

(2)MOV[BP+1O],AX

(3)INCBYTEPTR[SI十5]

(4)MOVDL,ES:[BX+SI]

(5)MOVBX,[BP+DI+2]

解:

⑴數(shù)據(jù)段BX+10單元。

(2)堆棧段BP+1O單元。

(3)數(shù)據(jù)段SI+5字節(jié)單元。

(4)附加段(ES段)BX+SI單元。

(5)堆棧段BP+DI+2單元。

6

3.4判斷下列指令書寫是否正確。

(l)MOVAL,BX

(2)MOVAL,CL

(3)INC[BX]

(4)MOV5,AL

(5)MOV[BX],[SI]

(6)M0VBL,OF5H

(7)MOVDX,2000H

(8)POPCS

(9)PUSHCS

解:

⑴不正確,AL與BX數(shù)據(jù)寬度不同。

(2)正確。

(3)不正確,由于不明白是增量字節(jié)照舊字。

(4)不正確,立即數(shù)不能作為目的操作數(shù)。

(5)不正確,由于不明白要傳送的是字節(jié)照舊字。

(6)正確。

7

(7)正確。

(8)不正確,CS不能作為:pop指令的操作數(shù)。

(9)不正確,CS不能作為PUSH指令的操作數(shù)。

3.5設(shè)堆錢指針SP的初值為1000H,AX=2000H,

BX=3000H,試問:

(1)履行指令PUSHAX后SP的值是幾何?

(2)再執(zhí)行PUSHBX及POPAX后,SP、AX和BX的值各

是多少?解:

(1)SP=OFFEHo

(2)SP=OFFEH;AX=3000H,BX=3000Ho

3.6要想完成把[3000H]送[2000H]中,用指令:

MOM[200OH],[300OH]

是不是正確?假如不正確,應該用甚么辦法實現(xiàn)?

解:不正確。

正確的辦法是:

8

MOVAL,[300OH]

MOV[2000H],AL

3.7假如想從200中減去AL中的內(nèi)容,用SUB200,AL是

否正確?如果不正確,應該

用甚么辦法?

解:不正確。

正確的辦法是:

MOVBL,200

SUBBL,AL

3.8試用兩種方法寫出從80H端口讀入信息的指令。再用

兩種方法寫出從40H口輸出10OH的指令。

解:

(1)INAL,80H

(2)MOVDX,8OH

INAL,DX

9

(3)MOV,AL,1OOH

OUT40H,AL

4)MOVAL,10OH

MOVDX,4OH

OUTDX,AL

3.9假如:AL=20H,BL=lOH,當執(zhí)行CMPAL,BL后,問:

(1)AL、BL中的內(nèi)容是兩個無符號數(shù),比較結(jié)果如何?影響

哪兒個標志

位?

(2)AL、BL中的內(nèi)容是兩個有符號數(shù),成效又若何,影響哪

幾個標志

位?

解:

(1)AL=20H,BL=10H,0=0,S=0,Z=0,A=0,P=0,C=0O

(2)因為兩個都是符號正數(shù),其結(jié)果與⑴相同。

10

3.10若要使ALxlO,有哪幾種方法,試編寫出各自的程序段?

解:

(1)使用乘法指令:

MOVBL,10

MULBI,

(2)使用移位指令:

XXX,1

MOVBL,AL

XXX,2

ADDAL,BL

(3)使用加法指令:

ADDAL,AL

MOVBL,AL

ADDAL,AL

ADDAL,AL

11

ADDAL,BL

3.118086匯編語言指令的尋址方式有哪幾類?哪種尋址方

式的指令執(zhí)行速度最快?

解:尋址方式分為:立即數(shù)尋址方式、寄存器操作數(shù)尋址

方式和儲備器操作數(shù)尋

址方式。其中,寄存器操作數(shù)尋址方式的指令執(zhí)行速度最

快。3.12在直接尋址方式中,一般只指出操作數(shù)的偏移地址,那

么,段地址

如何確定?如果要用某個段寄存器指出段地址,指令中應該

如何表

示?

解:

默認的數(shù)據(jù)訪問,操作數(shù)在DS段;堆棧操作在SS段;串操

作源操作數(shù)(SI)在DS段,目的操作數(shù)(DI)在ES段;用BP作為

指針在SS段。如果要顯式地指定段地址,則在操作數(shù)中規(guī)定

段寄存器。例如:

12

MOVAX,ES:(BX+10H)

3.13在寄存器間接尋址方式中,如果指令中沒有具體指明

段寄存器,那

么若何確定段地點?

解:

在寄存器直接尋址方式中,假如指令中沒有詳細指明段寄

存器,段地點是

隱含約定的,也就是隱含地選擇段寄存器。如操作類型為

指令,則指定代碼段寄

當需求超出約按時,平日用段替代前綴加冒號…來表示段

超出,它

允許程序設(shè)計者偏離職何約定的段。

比方:

13

MOVES:(BX],AX

這時數(shù)據(jù)將從寄存器EAX傳送至附加段中由EBX尋址的

存儲單元,而不是傳送

到數(shù)據(jù)段中。

3.14采用寄存器間接尋址方式時,BX、BP、SLDI分別針

對什么情況來

使用?這4個寄存器組合直接尋址時,地點是若何計算的?

請舉例說

明。

解:在寄存器間接尋址方式下,BX和BP作為間址寄存器

使用,而SLDI作為

變址寄存器使用。除BP間址默認的段為堆棧段,其他的都

默認為數(shù)據(jù)段。它們

14

都可以單獨使用,或加上偏移量或組合使用。如:

[BX+n]

LBP+n]

[SI+n]

[DI+n]

[BX+SI+n]

[BX+DI+n]

[BP+SI+n]

[BP+DI+n]

3.15設(shè)DS=2100H,SS=5200H,BX=1400H,BP=6200H,說明

下面兩條指令所進行

的具體操作:

MOVBYTEPTR[BP],200

MOVWORDPTR[BX],2000

解:前一條指令是把立即數(shù)(應是字節(jié))200,傳送至堆棧段

(BP的默

認段〉偏移

量由BP規(guī)定的字節(jié)單元,地址為:H+620OH=H

15

第二條指令是把立即數(shù).2000,傳送至數(shù)據(jù)段(BX的默認段)

偏移量

由BX規(guī)定的

字單元,地點為:H+l400H=Ho

3.16使用堆錢操作指令時要注意什么問題?傳送指令和交

換指令在涉

及內(nèi)存操作數(shù)時應該分別要注意什么問題?

解:使用堆棧指令可以把內(nèi)存單元作為一個操作數(shù)(從內(nèi)

存到內(nèi)

存)。但堆棧固定在堆棧段且只能由SP指向。且堆棧操作

要修改堆

核指針。MOV指令不能實現(xiàn)內(nèi)存單元間的數(shù)據(jù)傳送。

XCHG指令是交

換,有一個操作數(shù)必須是寄存器。

3.17下面這些指令中哪些是正確的?哪些是錯誤的?若是錯

誤的,請說明原因。

(l)XCHGCS,AX

(2)MOV[BX],[1000]

(3)XCHGBX,IP

(4)PUSHCS

(5)POPCS

16

(6)INBX,DX

(7)MOVBYTE[BX],1000

(8)MOVCS,[1000]

解:

(1)錯誤,CS不能交換。

(2)錯誤,MOV指令不能在內(nèi)存間傳送。

⑶錯誤,IP不能交換。

(4)錯誤,CS能夠作為PUSH指令的操作數(shù)。

(5)錯誤,CS可以作為POP指令的操作數(shù)。

(6)錯誤,IN指令的目標操作數(shù)是累加器。

(7)錯誤,目的操作數(shù)是字節(jié)單元。

(8)錯誤,CS不能作為MOV指令的目的操作數(shù)。

3.18以下是格雷碼的編碼表,

O0000

10001

20011

17

30010

40110

50111

60101

70100

81100

請用換碼指令和其他指令設(shè)計一個程序段,以實現(xiàn)由格雷

碼向ASCII碼的轉(zhuǎn)換。

解:

MOVBX,TABLE

MOVSLASCII_TAB

MOVAL,

MOVCX,10

XXX:XLATTABLE

MOVDL,AL

ADDDL,30H

MOV[SI],DL

INCAL

18

LOOPXXX

3.19使用乘法指令時,特別要注意先判斷是用有符號數(shù)乘

法指令還是

用無符號數(shù)乘法指令,這是為什么?

解:因為有符號數(shù)和無符號數(shù),其數(shù)的乘法是一樣的。但

結(jié)果的符號取決于兩

個操作數(shù)的符號。

3.20字節(jié)擴大指令和字擴大指令普通用在甚么場所?舉例

說明。

解:主要用于字節(jié)相除和字相除之前,把被除數(shù)擴大為兩

倍寬度的操作數(shù)。

3.21什么叫BCD碼?什么叫組合的BCD碼?什么叫非組合

的BCD碼?8086

匯編言語在對BCD碼進行加、減、乘、除運算時,接納甚

么辦法?

解:BCD碼為十進制編碼的二進制數(shù)。組合的BCD數(shù)是

把兩位BCD加

在一個字節(jié)中,高位的在高4位。非組合的BCD碼是把一

位BCD數(shù)放在

19

一個字節(jié)的低4位,高4位為。8086在BCD加、減和乘法

運算以后用BCD

調(diào)整指令把結(jié)果調(diào)整為正確的BCD數(shù)。在BCD除法之

前先用BCD調(diào)整指

令再做除法.

3.22用普通運算指令履行BCD碼運算時,為甚么要進行十

進制調(diào)解?具

體地講,在進行BCD碼的加、減、乘、除運算時,程序段

的什么位

置必須加上十進制調(diào)整指令?

解:因為8086指令把操作數(shù)作為二進制數(shù)進行二進制運

算,要得到正

確的BCD結(jié)果,需要進行調(diào)整。在加、減、乘法指令之后

加上BCD

調(diào)整指令,而在除法指令之前先用BCD調(diào)整指令再用除法

指令。

第4章作業(yè)答案

4.1在下列程序運行后,給相應的寄存器及存儲單元填入運

行的結(jié)果:

MOVAL,1OH

MOVCX,1000H

MOVBX,2000H

MOV[CX],AL

20

XCHGCX,BX

MOVDH,[BX]

MOVDL,01H

XCHGCX,BX

MOV[BX],DL

HLT

解:寄存器及存儲單元的內(nèi)容如下:

AL=1OH

BL=OOH

BH=2OH

CL=OOH

CH=1OH

DH二1OH

(1000H);1OH

(2000H)=01H

2.要求同題4.1,程序以下:

MOVAL,50H

MOVBP,1000H

21

MOVBX,2000H

MOV[BP],AL

MOVDH,20H

MOV[BX],DH

MOVDL,O1H

MOVDL,[BX]

MOVCX,300OH

HLT

解:寄存器及儲備單元的內(nèi)容以下:

AL=50H

BL二OOH

BH=20H

CL=OOH

CH=30H

DL=20H

DH=2OH

BP=1000H

(1000H)=5OH

22

(2000H)=20H

4.3自1000H單元開始有一個100個數(shù)的數(shù)據(jù)塊,若要把它

傳送到自2000H開始的存

儲區(qū)中去,可以采用以下3種方法實現(xiàn),試分別編制程序以

實現(xiàn)數(shù)據(jù)塊的傳送。

⑴不用數(shù)據(jù)塊傳送指令

(2)用單個傳送的數(shù)據(jù)塊傳送指令

(3)用數(shù)據(jù)塊成組傳送指令。

解:

(1)LEASI,1OOOH

LEADI,200OH

MOVCX,100

LI:MOVAX,[SI]

MOV[DI],AX

LOOPLI

HLT

(2)LEASI,100OH

23

LEADI,2000H

MOVCX,100

CLD

LI:MOVSB

LOOPLI

HLT

(3)LEASI,100OH

LEADI,200OH

MOVCX,100

CLD

REPMOVSB

HLT

4.4利用變址寄存器,編寫一個程序,把自1000H單元開始

的100個數(shù)傳送到自1070H

開始的存儲區(qū)中去。

解:

LEASI,100OH

24

LEADI,1070H

MOVCX,100

CLD

REPMOVSB

HLT

4.5要求同題4.4,源地址為2050H,目的地址為2000H,數(shù)據(jù)

塊長度為50.解:

LEASI,205OH

LEADI,200OH

MOVCX,50

CLD

REPMOVSB

HLT

4.6編寫一個程序,把自1000H單元開始的100個數(shù)傳送,

至105OH開始的存儲區(qū)中

(注意:數(shù)據(jù)區(qū)有重疊)。

解:

LEASI,1000H

25

LEADI,1050H

ADDSI,63H

ADDDI,63H

MOVCX,100

STD

REPMOVSB

HLT

4.7在自0500H單元入手下手,存有100個數(shù)。要求把它傳

送到1000H入手下手的儲備區(qū)中,

但在傳送進程中要搜檢數(shù)的值,碰到第一個零就截止傳送。

解:

LEASI,050OH

LEADI,10OOH

MOVCX,100

Nl:MOVAL,[SI]

CMPAL,0

JZN2

MOV[DI],AL

26

INCSI

INCDI

LOOPN1

N2:HLT

4.14若在0500H單元中有一個數(shù)

(1)利用加法指令把它乘2,且送回原存儲單元(假定Xx2后

仍為一個字節(jié));

(2)Xx4;

(3)Xxl0(假定XX10S255).

解:

(1)LEABX,050OH

MOVAL,[BX]

ADDAL,AL

MOV[BX],AL

(2)LEABX,0500H

MOVAL,[BX]

27

ADDAL,AL

ADDAL,AL

MOV[BX],AL

(3)LEABX,0500H

MOVAL,[BX]

ADDAL,AL

MOVDL,AL

ADDAL,AL

ADDAL,AL

ADDAL,DL

MOV[BX],AL

第5章作業(yè)謎底

28

5.2在總線周期的TI、T2、T3、T4狀態(tài),CPU分別執(zhí)行什

么動作?什么情況下需要插入

等待狀態(tài)Tw?Tw在哪兒插入?若何插入?

解:下面以儲備器讀為例進行說明。

在T1周期:輸出地點信號、地點鎖存允許信號、內(nèi)存或

I/O端口拜候掌握信號;

在T2周期:CPIJ開始執(zhí)行數(shù)據(jù)傳送操作,此時,8086CPU內(nèi)

部的多路開關(guān)

進行切換,將地址/數(shù)據(jù)線AD15-AD0上的地址撤銷,切換

為數(shù)

據(jù)總線,為讀寫數(shù)據(jù)作準備。8288總線控制器發(fā)出數(shù)據(jù)總

線允

許信號和數(shù)據(jù)發(fā)送/接收掌握信號DT/R允許數(shù)據(jù)收發(fā)器

事情,

使數(shù)據(jù)總線與8086CPU的數(shù)據(jù)線接通,并控制數(shù)據(jù)傳送的

向。同樣,把地點/狀態(tài)線A19/S6?A16/S3切換成與總線周

期有

29

關(guān)的狀態(tài)信息,唆使多少與周期有關(guān)的情形。

在T3周期:開始的時鐘下降沿上,8086CPU采樣READY

線。如果READY信號

有效(高電平),則在T3狀態(tài)竣事落后人TA狀態(tài)。在T4狀

態(tài)入手下手

的時鐘降落沿,把數(shù)據(jù)總線上的數(shù)據(jù)讀入CPU或?qū)懙降攸c

選中

的單元。

在T4狀態(tài):結(jié)束總線周期。如果訪問的是慢速存儲器或是

外設(shè)接口,則應

該在T1狀態(tài)輸出的地址,經(jīng)過譯碼選中某個單元或設(shè)備后,

即驅(qū)動READY信號到低電平。8086CPU在T3狀態(tài)采樣

至!!READY信

號無效,就會插入等待周期Tw,在Tw狀態(tài)CPU繼續(xù)采樣

READY信

號;直至其變?yōu)橛行Ш笤龠M人T4狀態(tài),完成數(shù)據(jù)傳送,結(jié)束

線周期。在T4狀態(tài),8086CPU完成數(shù)據(jù)傳送,狀態(tài)信號S

2

?SO

變?yōu)闊o操作的過渡狀態(tài)。在此期間,8086CPU結(jié)束總線周

期,恢

復各信號線的初態(tài),準備執(zhí)行下一個總線周期。

第6章作業(yè)謎底

6.1如有一單板機,具有效8片2114構(gòu)成的4KBRAM,連線

如圖創(chuàng)所示。

30

若以每1KBRAM作為一組,則此4組RAM的基本地點是

甚么?地點有無堆疊區(qū)?每組的地點規(guī)模為幾何?

解:RAM的基本地址為:

第一組OOOOH?03FFH

第二組4000H?43FFH

第三組8000H-83FFH

第四組COOOH?XXX

地址有重疊區(qū)。每一組的地址范圍為OOOH?3FFHQ024

個字節(jié))。

31

6.4若要擴充1KBRAM(用2114片子),規(guī)定地址為

8000H?83FFH,地址線應該如何

毗連?

解:擴充1KBRAM至規(guī)定地址8000H?83FFH,其地址線的

低10位接芯片,高6位地址(A15-A10=)產(chǎn)生組選擇信號。

第7章作業(yè)謎底

7.1外部設(shè)備為什么要通過接口電路和主機系統(tǒng)相連?

解:因為外部設(shè)備種類繁多,輸入信息可能是數(shù)字量、模

擬量或開

關(guān)量,而且輸入速度、電平、功率與CPU差距很大。所以,

通常要通

過接口電路與主機系統(tǒng)相連。

7.4CPU和輸入輸出設(shè)備之間傳送的信息有哪幾類?

32

解:CPU和輸入輸出設(shè)備之間傳送的信息主要有3類。

⑴數(shù)據(jù)

在微型計算機中,數(shù)據(jù)通常為8位、16位或32位。

(2)狀態(tài)信息

在輸入時,有輸入設(shè)備的信息是否準備好;在輸出時有輸出

設(shè)備是

否有空,若輸出設(shè)備正在輸出信息,則以忙指示等。

(3)掌握信息

例如,控制輸入輸出設(shè)備啟動或停止等。

7.9設(shè)一個接口的輸入端口地址為0100H,狀態(tài)端口地址為

0104H,狀態(tài)端口中第5位為1表示輸入緩沖區(qū)中有一個字節(jié)準

備好,可以輸入。設(shè)計具體程序以實現(xiàn)查詢式

輸入。

解:查詢輸入的程序段為:

POLI:INAL,0104H

ANDAL,20H

JZPOLI

INAL,0100H

33

第8章作業(yè)答案

8.1在停止相應進程中,8086CPU向8259A收回的兩個RT

互信號分別起甚么感化?

解:CPU收回的第一個INTA脈沖通知外部電路,其提出

的停止懇求已被相應,

應準備將類型號發(fā)給CPU,8259A接到了這個INTA脈沖

時,把中斷的最高優(yōu)先級

懇求置入停止狀態(tài)寄存器(ISR)中,同時把IRR(停止懇求寄

存器)中的相應位復

位。CPU發(fā)出的第二個INTA脈沖告訴外部電路將中斷的

類型號放在

數(shù)據(jù)總線上。

解:8086CPU最多可以有256個中斷類型。按照產(chǎn)生中

斷的方法,可以

34

分為內(nèi)

部停止(軟件停止)和外部(硬件停止)停止兩大類。8.9在編

寫停止處置懲罰子程序時,為甚么要在子程序中保護很多寄存

器?

解:因為在用戶程序運行時,會在寄存器中有中間結(jié)果,當

在中斷服務(wù)程序中要

使用這些寄存器前要把這些寄存器的內(nèi)容推至堆棧儲存

(稱為保護

現(xiàn)場)。在從中斷服務(wù)程序返回至用戶程序時把這些內(nèi)容

從堆找恢

復至寄存器中(稱為恢復現(xiàn)場)。

8.12若在一個系統(tǒng)中有5個中斷源,其優(yōu)先權(quán)排列為:1、2、

3、4、5,它們的中斷服務(wù)程序的入口地址分別為:3000H、

302OH、3050H、3080H、30AOHo編寫一個程序,當有中斷請

求CPU響應時,能用查詢方式轉(zhuǎn)至申請中斷的優(yōu)先權(quán)最高的源

的中斷服

務(wù)程序。

解:若5個中斷源的中斷請求放在一中斷狀態(tài)寄存器中,

按優(yōu)先權(quán)分別放在狀態(tài)的7位(優(yōu)先權(quán)最高)至位3中。查詢方

法的程序段為:INAL,STATUS

35

CMPAL,80H

JNEN1

JMP3000H

Nl:INAL

CMPAL

JNEN2

JMP3020H

N2:INAL

CMPAL

JNEN3

JMP3050H

N3:INAL

CMPAL

JNEN4

JMP3080H

N4:INAL

CMPAL

JNEN5

,STATUS

,40H

,STATUS

,20H

,STATUS

,10H

,STATUS

,O8H

36

JMP30A0H

N5:RET

第9章作業(yè)答案

9.3在某一應用系統(tǒng)中,計數(shù)器/定時器8253地址為

340H-343H,定時用作分頻器(N為分頻系數(shù)),定時器2用作

外部事件計數(shù)器,如何編制初始化程序?

解:

定時器用作分頻器,工作方式2,其初始化程序為:

MOVAL,34H

OUT343H,AL

MOVAL,N1

OUT342H,AL

MOVAL,N2

OUT342H,AL

定時器2用作外部事件計數(shù)器,工作在方式,其初始程序:

37

MOVAL,OBOH

OUT343H,AL

MOVAL,N1

OUT342H,AL

MOVAL,N2

OUT342H,AL

9.4若已有一頻率發(fā)生器,其頻率為1MHZ,若要示求通

過計數(shù)器/定時

器8253,著重產(chǎn)生每秒一次的信號,8253應如何連接?

編寫出初始

化程序。

解:

1MHZ的信號要變?yōu)槊棵胍淮?,則需經(jīng)過106分頻。一個

通道的計數(shù)為16位最大為。故需要需兩個通道級連,則每個

通道計數(shù)為1000o用通道和通道1級連,都工作在方式2,初

始化程序為:MOV

溫馨提示

  • 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

提交評論