第35章習題解(新)_第1頁
第35章習題解(新)_第2頁
第35章習題解(新)_第3頁
第35章習題解(新)_第4頁
第35章習題解(新)_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

習題講評第三章主要內(nèi)容8086的尋址方式以及指令介紹匯編語言的語法規(guī)定、語句格式匯編語言程序設(shè)計知識點:.物理地址和邏輯地址

.尋址方式

.指令系統(tǒng)

.匯編語言程序設(shè)計

掌握:.物理地址與邏輯地址的換算

.指令尋址方式的確定

.指令尋址過程的分析,進而確定操作數(shù)

.指令正誤的判別

.指令的功能及其對標志寄存器的影響

.匯編語言程序設(shè)計方法及典型程序段3.1設(shè)DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=OE7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H

下列各指令都在此環(huán)境下執(zhí)行,在下列各小題的空格中填入相應(yīng)各指令的執(zhí)行結(jié)果。 MOV目標操作數(shù),源操作數(shù)源操作數(shù)可以是8/16/32位的立即數(shù)、寄存器操作數(shù)、內(nèi)存操作數(shù)。目標操作數(shù)不允許為立即數(shù),其余同源操作數(shù)。源、目不能同時為內(nèi)存操作數(shù)。(2)MOVAX,[1352H];AX=解:PA=DS*16+EA=10000H+1352H=11352H

(11352H)=0FFH,(11353H)=26H

AX=26FFH(1)MOVAX,1352H 解:AX=1352H(3)MOV0150H[BX],CH

(11350H)=(11351H)=解:EA=BX+0150H=1350H

PA=DS*16+EA=10000H+1350H=11350H,CH=33H

(11350H)=33H,(11351H)的值不變,(11351H)=3CH(4)MOVAX,0150H[BP];AX=____解:EA=BP+0150H=1350H PA=SS*16+EA=20000H+1350H=21350H

AX=5188H(5)POPAX;AX=____,SP=____

功能:dest←(SP+1)_(SP)SP←SP+2注意:dest可以是MEM/REG/SREG(CS除外)解:EA=SP=1350H

PA=SS*16+EA=20000H+1350H=21350H

AX=5188H,SP=1350H+2H=1352H(6)ADD

[SI],CX

(11354H)=____,(11355H)=____,SF=____

ZF=____,PF=____,CF=____,OF=____

功能:dest←dest+src

注意:(1)源和目的操作數(shù)不能同時為存儲單元;

(2)標志寄存器中狀態(tài)位隨運算結(jié)果變化

(3)操作數(shù)是有符號或無符號數(shù)由程序員解釋;

(11354H)=0ECH,(11355H)=1AH

CF=1,ZF=0,PF(低八位奇偶校驗):0ECH=11101100BPF=0SF(最高位狀態(tài)),1H=0001BSF=0 OF(溢出標志)

0E752H=1110011101010010B

339AH=0011001110011010B

1110011101010010+0011001110011010

10001101011101100解:EA=SI=1354H,PA=DS*16+EA=10000H+1354H=11354H

CX=339AH,(11354H)=52H,(11355H)=OE7H

0E752H+339AH=11AECH->(11355H):(11354H)

(11354H)=0ECH,(11355H)=1AH(7)SUBBH,0150H[BX][SI]BH=____,SF=____,ZF=____,PF=____,CF=____,0F=____

格式:SUBdest,src

功能:dest←dest-src

注意:dest、src不能同時為存儲單元。

標志寄存器中的狀態(tài)位隨運算結(jié)果改變。

減法時OF溢出標志位何時為0,何時為1?

當負數(shù)減正數(shù)時,若結(jié)果為正數(shù),OF=1;當正數(shù)減負數(shù)

時,若結(jié)果為負數(shù),OF=1;否則為0.解:EA=0150H+BX+SI=26A4H;

PA=DS*16+EA=10000H+26A4H=126A4H;

(126A4H)=9DH,BH=12H

BH=75H,SF=0,ZF=0,PF=0,CF=1,OF=0(8)INCBYTEPTR0152H[BX]

(11352H)=____,(11353H)=____,CF=____

格式:INCdest

功能:dest←dest+1

注意:1)單操作數(shù)指令;

2)不影響CF標志;3)對內(nèi)存單元進行加1時,要指明內(nèi)存單元是字

節(jié),是字??梢栽趦?nèi)存單元前加操作符BYTE

PTR,表明為字節(jié);加WORDPTR表明是字

4)常用于地址指針和加1計數(shù)。解:EA=0152H+BX=1352H,PA=DS*16+EA=11352,(11352H)=0FFH,

(11352H)=00H,(11353H)=26H,不影響CF

(9)INCWORDPTR0152H[BX]

(11352H)=____,(11353H)=____,CF=____解:EA=0152H+BX=1352H,PA=DS*16+EA=11532,(11352H)=0FFH,(11353H)=26H

(11352H)=00H,(11353H)=27H,不影響CF(10)SARBYTEPTR0150H[BX],1

(11350H)=____,CF=____,OF=____SHL移位對象,移位次數(shù)狀態(tài)位CF、SF、ZF和PF隨運算結(jié)果而變化;當移位次數(shù)為1時,若移位前后移位對象的最高位不同時,則OF=1,否則為0,當移位次數(shù)大于1時,OF是不確定的解:EA=BX+0150H=1350H PA=DS*16+EA=11350H,(11350H)=0A5H=10100101B

11010010B=0D2H,CF=1,OF=0(11)SALBYTEPTR0150H[BX],1

(11350H)=____,CF=____,OF=____解:EA=BX+0150H=1350H,PA=DS*16+EA=11350, (11350H)=0A5H=10100101B01001010B=4AH,CF=1,OF=13.2閱讀下列各小題的指令序列,在后面空格中填入該指令序列的執(zhí)行結(jié)果。(1)MOVBL,85HMOVAL,17HADDAL,BLDAAAL=____,BL=____,CF=____解:17H+85H=9CHAL

DAA壓縮的BCD碼加法十進制調(diào)整指令。

(AL的低4位>9或AF=1,ALAL+06H,AF1;

AF是輔助進位標志用以標志D3向D4的進位

AL的高4位>9或CF=1,ALAL+60H,CF1;)

AL=9CH+06H=0A2H

AL=0A2H+60H=02H,BL=85HCF=1(2)MOVAX,BXNOTAX

ADDAX,BX

lNCAXAX=____,CF=____解:INC不影響標志位AX=0000H,CF=0(3)MOVAX,0FF60H

STC;CF=1MOVDX,96;DX=0060H

XORDH,0FFH;XOR命令會使CF0,OF0

SBBAXDX;AX-DX-CF=FF60H-FF60H-0=0AX=____,CF=____解:AX=0000H,CF=0(4)MOVBX,0FFFEH;

MOVCL,2;SARBX,CLBX=____,CF=____解:0FFFEH=1111111111111110B 1111111111111111B,CF=0

1111111111111111B,CF=1SAR為算術(shù)右移,低位移出到CF中,高位用符號位填充。故運行結(jié)果為:BX=0FFFFH,CF=13.3ANDAL,ALJZBRCHlRCRAL,1JZBRCH2RCLAL,1INCALJZBRCH3上述程序運行后,試回答:(1)當AL=

時,程序轉(zhuǎn)向BRCHl(2)當AL=

時,程序轉(zhuǎn)向BRCH2(3)當AL=

時,

程序轉(zhuǎn)向BRCH3

;將AL數(shù)據(jù)求與

;ZF=1則轉(zhuǎn)移到BRCH1

;循環(huán)右移1位

;ZF=1則轉(zhuǎn)移到BRCH2

;循環(huán)左移1位

;AL加1

;ZF=1則轉(zhuǎn)移到BRCH3轉(zhuǎn)移指令00H0FFH01H3.4完成下列操作,選用什么指令:(1)將AX的內(nèi)容減去0520H,和上次運算的借位;

SUBdest,src功能:destdest-src

SBBdest,src功能:destdest-src-CF

SBBAX,0520H(2)將變量名TABL的段地址送AX。

變量操作時的分析運算符有以下5種SEG變量名——取出變量所在段的段基值

OFFSET變量名——取出變量所在處的偏移地址TYPE變量名——取出變量的數(shù)據(jù)類型值LENGTH變量名表示變量所在數(shù)組的數(shù)據(jù)元素個數(shù)SIZE變量名——它表示變量所在數(shù)組的字節(jié)總數(shù)SIZE=LENGTH*TYPE

MOVAX,SEGTABL

3.5D1DB20HDUP(?)D2DWD1請寫出用一條指令實現(xiàn)取D1的偏移地址送SI中的三種方法。

格式:LEAreg,src

功能:reg←EA,將存儲器地址送到一個寄存器。源操作數(shù)必須為內(nèi)

存單元地址,目的操作數(shù)必須為一個16位通用寄存器。此指令常用來使一個寄存器作為地址指針。

(A)LEASI,D1(B)MOVSI,OFFSETD1(C)MOVSI,D2

0F00H3.6MOVBX,0FFHANDBX,0FFFHORBX,0F0FHXORBX,00FFH上述程序段運行后,BX=

,CF=

BX=0F00H,CF=0(注意:對于8086的加法和減法操作,使用CF來標識將兩個操作數(shù)看成無符號數(shù)時計算是否發(fā)生了溢出,而OF則標識將兩個操作數(shù)看成有符號數(shù)時的情況。計算CF位時,加法操作是直接將最高位的進位賦給CF,而對于減法操作而言,轉(zhuǎn)換后的補碼加法有進位表示實際進行的減法沒有借位(即沒有溢出),因此需要將最高位進位取反以后賦給CF;對于OF位的計算則是相同的,通過將最高位的進位和次高位的進位進行異或運算,結(jié)果賦給OF(當然也可以使用雙符號位來進行計算)。當然對于減法操作而言,我們也可以簡單地認為:對于CF位,將減數(shù)與被減數(shù)都看成無符號數(shù),如果減數(shù)>被減數(shù),則CF=1,否則CF為0;對于OF位,若兩個數(shù)的符號相反,而結(jié)果的符號與減數(shù)相同則OF=1,其他情況OF=0。)3.7CMPAX,BXJGENEXTXCHGAX,BXNEXT:CMPAX,CXJGEDONEXCHGAX,CXDONE:….

上述程序段執(zhí)行后,原有AX、BX、CX中最大數(shù)存放在哪個寄存器中?這3個數(shù)是帶符號數(shù)還是無符號數(shù)?最大數(shù)在AX中,是帶符號數(shù)

;比較AX、BX

;AX>BX,轉(zhuǎn)到NEXT

;交換AX、BX的值;比較AX、CX;AX>CX,轉(zhuǎn)到DONE;交換AX、CX的值3.8畫出下列語句的數(shù)據(jù)在存儲器中的存儲情況:

ARRAYBDB63,63H,’ABCD’,3DUP(?),2DUP(1,3)

ARRAYWDW1234H,5,’AB’,’CD’,?,2DUP(1,3)DB定義長度為1字節(jié)(8位)的數(shù)據(jù)(字節(jié)數(shù)據(jù))DW定義長度為1字節(jié)(16位)的數(shù)據(jù)(字數(shù)據(jù))3FH63H41H42H43H44HXXXXXX01H03H01H03H34H12H05H00H42H41H44H43HXXXX01H00H03H00H01H00H03H00HARRAYBARRAYW3.9程序中數(shù)據(jù)定義如下: DATA1DW? DATA2DB32DUP(?) DATA3DD? DLENGTHEQU$-DATA1此時DLENGTH的值是多少?DB定義長度為1字節(jié)(8位)的數(shù)據(jù)(字節(jié)數(shù)據(jù))DW定義長度為1字節(jié)(16位)的數(shù)據(jù)(字數(shù)據(jù))DD定義長度為4字節(jié)(32位)的數(shù)據(jù)(雙字數(shù)據(jù))EQU不占內(nèi)存解答:DLENGTH=2(字)+32+4(雙字)=383.10程序中數(shù)據(jù)定義如下: ARRAYDB‘ABCDEF’ RESULTDB? TABLEDW20DUP(?)

則執(zhí)行指令 MOVAX,TYPERESULT后,AX=1 MOVBX,TYPETABLE后,BX=2 MOVCX,LENGTHTABLE后,CX=20 MOVDX,LENGTHARRAY后,DX=1 MOVSI,SIZETABLE后,SI=2×20=40 MOVDI,SIZEARRAY后,DI=13.11試按下列要求在數(shù)據(jù)段中依次書寫各數(shù)據(jù)定義語句:(1)以DA1為首字節(jié)的連續(xù)存儲單元中存放20H個重復的數(shù)據(jù)序列:2,3,10個4,一個7。(2)DA2為字符串變量,用字變量(DW)設(shè)置一字符串;‘STUDENTS’(按次順序存放在各單元中)。(3)用等值語句給符號COUNT賦值以DA1為首地址的數(shù)據(jù)區(qū)共占有的字節(jié)數(shù),此等值語句必須放在最后一語句。解答:(1)DA1DB20HDUP(2,3,10DUP(4),7)(2)DA2DW‘TS’,‘DU’,‘NE’,’ST’,(3)COUNTEQUDA2-DA13.12下面程序段是實現(xiàn)從鍵盤輸入十個一位10進制數(shù)后累加,最后累加和以非壓縮BCD碼形式存放在AH(高位)和AL(低位)中。試把程序段中所空缺的指令填上。 XORBX,BX;BX清零

MOVCX,10

;傳送數(shù)據(jù)長度LOP:MOVAH,01H

;中斷INT21H的01H號調(diào)用 INT21H;中斷調(diào)用P172,鍵入值送入AL中 MOVAH,BH

;將BH的內(nèi)容傳AH ADDAL,BL;BL與AL的值相加,結(jié)果在AL中

AAA

;非壓縮BCD碼加法調(diào)整 MOVBX,AX

;累加結(jié)果送BX LOOPLOP;CX-1→CX,判斷CX≠0,則轉(zhuǎn)3.13下面程序段的功能是把DA1數(shù)據(jù)區(qū)的0-9轉(zhuǎn)換為對應(yīng)的ASCⅡ碼. DA1DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09H ASCIDB10DUP(?) CUNT=ASCI-DA1 LEASI,DA1;送數(shù)組DA1的首地址偏移量到SI LEADI,ASCI;送數(shù)組ASCI的首地址偏移量到DI

MOVCX,CUNT

;送數(shù)組DA1的長度LOP1: MOVAL,[SI];取數(shù)

ADDAL,30H

;或者ORAL,30H;加30H變成ASCⅡ碼 MOV[DI],AL;轉(zhuǎn)換后存入數(shù)組ASCI INCSI;源數(shù)據(jù)地址加1 INCDI;目的數(shù)據(jù)地址加1 LOOPLOP1;CX-1→CX,判斷CX≠0,則轉(zhuǎn)3.14設(shè)A,B是長度為10的字節(jié)數(shù)組,用串操作指令編寫程序?qū)崿F(xiàn)AB兩數(shù)組內(nèi)容的相互交換.試完善程序.DATASEGMENT ADB1,2,3,4,5,6,7,8,9,0AH ORG0010H BDB0AH,9,8,7,6,5,4,3,2,1DATAENDS … LEASI,A LEADI,B MOVCX,10LOP: LODSB XCHGAL,[DI]

XCHGSI,DI DECDI STOSB

XCHGSI,DI INCDI LOOPLOP

3.15編寫一程序段,將AL中的第7和第0位,第6和第1位,第5和第2位,第4和第3位互換.MOV

CX,8;

MOV

AH,0;

K1:

SHR

AL,1;

RCL

AH,1;

DEC

CX;

JNZ

K1;

MOV

AL,AH

3.16試編寫一程序段,在CHAR為首的26個單元中依次存放字母‘A’-‘Z’.CHAR

DB

26

DUP

(?)

START:

LEA

BX,

CHAR;MOV

AL,

A’MOV

CX,

26

LOP1:

MOV

[BX]

,

ALINC

AL

INC

BX

LOOP

LOP1HLT3.17設(shè)在DAT單元存放一個-9~+9的字節(jié)數(shù)據(jù),在SQRTAB數(shù)據(jù)區(qū)中存放0~9的平方值,請用直接查表法編寫一子程序,在SQRTAB中查找出DAT單元中數(shù)據(jù)對應(yīng)的平方值送SQR單元.并寫出主程序的調(diào)用方式.數(shù)據(jù)段如下:DATASEGMENTDATDBXXHSQRTABDB0,1,4,9,…,81SQRDB?DATAENDS

DATA

SEGMENT

DATDB

XXH

SQRTAB

DB

0,1,4,9,…,81

SQR

DB?

DATA

ENDS

STACK

SEGMENTPARA

STACK

DW

20H

DUP(?)

STACK

ENDS

CODE

SEGMENT

ASSUME

CS:CODE,DS:DATA,SS:STACK

START:

MOV

AX,DATA

MOV

DS,AX

CALL

DTOS

MOV

AH,4CH

INT

21H

DTOSPROC

PUSH

AX

PUSH

BX

LEA

BX,SQRTAB

MOV

AL,DAT

TEST

AL,80H;判斷AL的正負

JZ

NEXT

NEG

AL

NEXT:

XLAT

SQRTAB;AL←(BX+AL)

MOV

SQR,AL

POP

BX

POP

AX

RET

DTOSENDP

CODE

ENDS

END

SRART第四章主要內(nèi)容半導體存儲器內(nèi)存儲器接口的基本技術(shù)16位微型計算機系統(tǒng)中的內(nèi)存儲器接口4.1用下列芯片構(gòu)成存儲系統(tǒng),需要多少RAM芯片?需要多少位地址作為片外地址譯碼?設(shè)系統(tǒng)為20位地址線,采用全譯碼。(1)512×4位RAM構(gòu)成16KB的存儲系統(tǒng);(2)1024×1位RAM構(gòu)成128KB的存儲系統(tǒng);(3)2K×4位RAM構(gòu)成64KB的存儲系統(tǒng);(1)64K×1位RAM構(gòu)成256KB的存儲系統(tǒng);

芯片

存儲系統(tǒng)容量多少芯片片外譯碼線(20根地址)(1)512×4位16KB64片11根512×8位2片→1K×8位4片→16×4片=64片

片內(nèi)地址尋址512=29,片內(nèi)地址尋址將用去9根線,片外譯碼線20-9=11根(2)1024×1位

128KB

1024片10根1024×8位8片→128K位×8位8片×128=1024片

片內(nèi)地址尋址1024=210,片內(nèi)地址尋址將用去10根線,片外譯碼線20-10=10根(3)2K×4位64KB64片9根2K×8位2片→2K×32=64KB,2片×32=64片

片內(nèi)地址尋址2K=211,片內(nèi)地址尋址將用去11根線,片外譯碼線20-11=9根(4)64K×1位256KB32片4根64K×8位8片→64K×8位×4=256KB→8片×4=32片

片內(nèi)地址尋址64K=216,片內(nèi)地址尋址將用去16根線,片外譯碼線20-16=44.2現(xiàn)有一種存儲芯片容量為512×4位,若要它組成4KB的存儲容量,需要多少這樣的存儲芯片?每塊芯片需要多少尋址線(片內(nèi)尋址)?而4KB存儲系統(tǒng)需要多少尋址線?解答:

512×4位的芯片2片→512×8位的2組(4片)→1K×8→4×4=16片(1)需要16片512×4位可以組成4KB的存儲容量(2)512=29需要9根地址線片內(nèi)尋址(2)4KB=212,系統(tǒng)需要12根尋址線習題4.3有一個2732EPROM芯片的譯碼電路,如圖所示,請計算該芯片的地址范圍。

解答:

地址范圍:A19…A16

A15…

A12A11A10A9A8

A7…

A4

A3…

A011111111

0

0000000000011111111

0

111

11111111

1

00000000000

1

111

11111111

AY0BY1C74LS138G1G2AY6G2BY7&&2732CSA11A12A13A14A15∶A19A11A10A9A8A7…A4A3…A0范圍:(A11=0)

FF000H—FF7FFH

(A11=1)

FF800H—FFFFFH

4.4某一存儲器系統(tǒng)如圖4-2所示,回答他們的存儲容量是多少?RAM和存儲器EPROM地址范圍各是多少?CPU74138RAMEPROMA11A0-A10A0-A10A0-A10→211→2KB→6116A0-A11→212→4KB→2732

A19…A16A15…

A12A11A10A9A8A7…

A4A3…

A0

EPROM1111110100000000000011111101111111111111RAM11111001

00000000000011111001

111111111111

EPROM范圍:FD000H-FDFFFHRAM范圍:A11=0時,F(xiàn)9000H-F97FFHA11=1時,F(xiàn)9800H-F9FFFH

4.5使用6116(2K)、2732(4K)和74LS138譯碼器構(gòu)成一個存儲容量為12KB的ROM(00000H-02FFFH),8KBRAM(03000H-04FFFH)的存儲系統(tǒng)。系統(tǒng)地址總線20位,數(shù)據(jù)總線8位。

A19…A16A15…

A12A11A10A9A8A7…

A4A3…

A01#ROM

0000

0000

0000

0000

0000

Y0

0000

0000

1111

1111

11112#ROM

0000

0001

0000

0000

0000

Y1

0000

0001

1111

1111

11113#ROM

0000

0010

0000

0000

0000

Y2

0000

0010

1111

1

111

1111A19…A16A15…

A12A11A10A9A8A7…

A4A3…

A01#RAM00000011

000000000000Y300000011

0111111111112#RAM00000011

100000000000Y300000011

1111111111113#RAM00000100

000000000000Y400000100

0111111111114#RAM00000100

100000000000Y400000100

111111111111設(shè)計圖1設(shè)計圖24.68086CPU執(zhí)行MOV[2001H],AX指令,從取指令到執(zhí)行指令最少需要多少時間?設(shè)時鐘頻率為5MHz,該指令機器碼為4個字節(jié),存放在1000H:2000H開始的4個單元。解答:見P27頁,一個總線周期最少需要4個T狀態(tài)

T狀態(tài)的周期:T=1/5MHz=0.2μS

一個總線周期=4×T=4×0.2μS=0.8μS

由于指令MOV[2001H],AX存放在1000H:2000H開始的4個單元中,且是偶地址開始,因此CPU在讀指令機器碼是是“字對準”的,讀一個字只需要一個總線周期,讀2個字(4個單元)需要2個總線周期。但是在執(zhí)行指令MOV[2001H],AX時,是將AX中的數(shù)送到DS:2001H開始的存儲器單元中,屬于非規(guī)則存儲,因此需要分2個總線周期才能將AX中的數(shù)據(jù)送到DS:2001H開始的2個存儲器單元中,因此包括取指令和執(zhí)行指令共需要4個總線周期。

從取指令到執(zhí)行指令最少需要多少時間=4×0.8μS=3.2μS4.7用二片8K×8b的靜態(tài)RAM芯片6264組成的8位微機系統(tǒng)的存儲器電路如習圖5-4所示,試計算芯片6264#1和#2的地址范圍以及存儲器的總?cè)萘俊4穑?1100000000000000-101111111111111即4000-5FFFH#2010000000000000-011111111111111即2000-3FFFH

存儲器總?cè)萘繛?6KB答:

U100001001000000000000-00001001111111111111即09000-09FFFH 4KBU2,U3 00001010000000000000-0000

1010001111111111即0A000-0A3FFH 1KB

總?cè)萘?KB4.84.8U1的地址范圍為09000H~09FFFHU1A19A18A17A16A15A14A13A12A11~A0最低地址09000H000010010~0最高地址09FFFH000010011~14.8U2,U3的地址范圍為0A000H~0A3FFHU2,U3A19A18A17A16A15A14A13A12A11A10A9~A0最低地址0A000H00001010000~0最高地址0A3FFH00001010001~14.8U4,U5的地址范圍為0A400H~0A7FFHU4,U5A19A18A17A16A15A14A13A12A11A10A9~A0最低地址0A400H00001010010~0最高地址0A7FFH00001010011~1第五章主要內(nèi)容外設(shè)接口的一般結(jié)構(gòu)和I/O指令程序控制傳送方式和DMA方式中斷接口電路典型的輸入輸出接口芯片5.1CPU同外設(shè)交換的信息有三種類型:數(shù)據(jù)信息、狀態(tài)信息和控制信息。說明CPU是如何通過三種總線(數(shù)據(jù)總線、狀態(tài)總線和控制總線)同外設(shè)交換這三種信息的。解:(1)數(shù)據(jù)總線DB(DataBus):用于CPU與主存儲器、CPU與I/O接口之間傳送數(shù)據(jù)。數(shù)據(jù)總線的寬度(根數(shù))等于計算機的字長。(2)地址總線AB(AddressBus):用于CPU訪問主存儲器或外部設(shè)備時,傳送相關(guān)的地址。此地址總線的寬度決定CPU的尋址能力。(3)控制總線CB(ControlBus):用于傳送CPU對主存儲器和外部設(shè)備的控制信號。這樣一種結(jié)構(gòu)使得各部件之間的關(guān)系都成為單一面向總線的關(guān)系。即任何一個部件只要按照標準掛接到總線上,就進入了系統(tǒng),就可以在CPU統(tǒng)一控制下進行工作。5.2簡述查詢式數(shù)據(jù)傳送方式的工作過程。答(1)通過執(zhí)行一條輸入指令,讀取所選外設(shè)的當前狀態(tài)。(2)根據(jù)該設(shè)備的狀態(tài)決定程序去向,如果外設(shè)正處于“忙”

或“為準備就緒”,則程序轉(zhuǎn)回重復檢測外設(shè)狀態(tài),如果

外設(shè)處于“空”或“準備就緒”,則發(fā)出一條輸入/輸出指令,

進行一次數(shù)據(jù)傳送。5.3簡述中斷傳送方式的工作過程。答:在中斷傳送方式中,通常是在程序中安排好在某一時刻啟動

某一臺外設(shè),然后CPU繼續(xù)執(zhí)行其主程序,當外設(shè)完成數(shù)據(jù)

傳送的準備后,向CPU發(fā)出“中斷請求”信號,在CPU可以響

應(yīng)中斷的條件下,現(xiàn)行主程序被“中斷”,轉(zhuǎn)去執(zhí)行“中斷服

務(wù)程序”,在“中斷服務(wù)程序”中完成一次CPU與外設(shè)之間的

數(shù)據(jù)傳送,傳送完成后仍返回被中斷的主程序,從斷點處繼

續(xù)執(zhí)行。5.4簡述三種DMA傳送方式的區(qū)別。解:(1)單字節(jié)傳送方式 每次DMA傳送只傳送一個字節(jié)的數(shù)據(jù),傳送后釋放總線由CPU控制總線至少一個完整的總線周期。以后又是測試DMA請求線DREQ,若有效,再進入DMA周期。在這種方式中要注意:在DMA響應(yīng)信號DACK有效前,DREQ必須保持有效;即使DREQ在傳送過程中一直保持有效,在兩次傳送之間也必需釋放總線。(2)成組傳送方式 一個DMA請求可以傳送一組信息,這一組信息的字節(jié)數(shù)由編程決定(在DMAC初始化時),只要在DACK有效之前DREQ保持有效即可。一旦DACK有效,不管DREQ是否有效,DMAC一直不放棄總線控制權(quán),直到整個數(shù)組傳送完。(3)請求傳送方式 又稱查詢傳送方式。該方式的傳送類似于成組傳送方式,但每傳送一個字節(jié)后,DMAC就檢測DREQ,若無效,則掛起;若有效,繼續(xù)DMA傳送,直到(1)一組信息傳送結(jié)束;(2)外加信號強制DMAC中止操作。5.5簡述DMA控制器同一般接口芯片的區(qū)別。解:①能發(fā)出地址信息,對存儲器尋址,并修

改地址指針。DMAC內(nèi)部必須有能自動加

1/減1的地址寄存器;

②能發(fā)出讀、寫控制信號,包括存儲器訪

問信號和I/O訪問信號。5.6畫出查詢傳送方式輸出數(shù)據(jù)的流程圖I/O:F0000H-FFFFFH存儲器是:00000H-EFFFFH5.75.8習圖6-2為一個LED接口電路,寫出使8個LED管自左至右依次發(fā)亮2s的程序,并說明該接口屬于何種輸入輸出控制方式,為什么?

8255AD7……D0PB7……PB0~23HMOVAL,10000000BOUT23H,AL

MOVAL,01111111BL2:MOVCX,8L1:OUT20H,ALCALLDELAY2SRORAL,1LOOPL1JMPL2答:屬于程序控制傳送方式中的無條件傳送方式,(主要用于外設(shè)的定時是固定的并且是已知的場合,外設(shè)必須在微處理器限定的指令時間內(nèi)準備就緒,并完成數(shù)據(jù)的接收或發(fā)送。)因為本題中對于外設(shè)的時間操作是固定的,而且需要依次傳送的數(shù)據(jù)是已知的。符合無條件傳送的條件。MOVAL,10000000BOUT23H,ALMOVAL,01111111BL2:MOVCX,8L1:OUT21H,ALCALLDELAY2SRORAL,1LOOPL1JMPL25.9、5.10P2995.11習圖5-3是一個具有中斷功能的輸入接口電路,當外設(shè)數(shù)據(jù)準備就緒時,發(fā)一個READY的正脈沖,向CPU發(fā)中斷請求,請分析該電路的工作過程。習圖5-3 解:該電路工作過程如下:當外設(shè)準備好數(shù)據(jù)后,把數(shù)據(jù)送入數(shù)據(jù)寄存器U1,同時發(fā)

溫馨提示

  • 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

提交評論