微機(jī)原理習(xí)題答案_第1頁
微機(jī)原理習(xí)題答案_第2頁
微機(jī)原理習(xí)題答案_第3頁
微機(jī)原理習(xí)題答案_第4頁
微機(jī)原理習(xí)題答案_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

作業(yè)14、(畫一個(gè)計(jì)算機(jī)系統(tǒng)的方框圖),簡(jiǎn)述各部分的主要功能。計(jì)算機(jī)系統(tǒng)框圖見課本P7圖1.3,各部分功能如下:1)微處理器:從存儲(chǔ)器中取指,進(jìn)行算術(shù)邏輯運(yùn)算,與存儲(chǔ)或I/O傳送數(shù)據(jù),程序流向控制等。2)存儲(chǔ)器:由RAM和ROM組成,用來存儲(chǔ)程序和數(shù)據(jù)。3)I/O接口:用于連接CPU與外部設(shè)備,當(dāng)它們之間進(jìn)行數(shù)據(jù)交換時(shí),使之在信息的格式、電平、速度方面匹配。4)總線:將CPU與存儲(chǔ)器和I/O接口相連,是傳送地址、數(shù)據(jù)和控制信息的通道??煞譃榈刂房偩€,數(shù)據(jù)總線和控制總線。5)I/O設(shè)備:輸入數(shù)據(jù)及程序,輸出或顯示運(yùn)算和程序執(zhí)行結(jié)果。6)軟件系統(tǒng):可分為系統(tǒng)軟件、支撐軟件和應(yīng)用軟件,使計(jì)算機(jī)能完成各種任務(wù)。9、將下列二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。(1)1101.01B1101.01B=23+22+20+2-2=13.25D(2)111001.0011B111001.0011B=25+24+23+20+2-3+2-4=57.1875D11、將下列十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)。(2)107107D=1101011B=153O=6BH(3)12381238D=10011010110B=2326O=4D6H12、將下列十進(jìn)制數(shù)轉(zhuǎn)換為8位有符號(hào)二進(jìn)制數(shù)。(1)+32原碼:00100000B補(bǔ)碼:00100000B (4)-92原碼:11011100B補(bǔ)碼:10100100B13、將下列十進(jìn)制數(shù)轉(zhuǎn)換為壓縮和非壓縮格式的BCD碼。(2)44壓縮BCD碼:01000100B=44H非壓縮BCD碼:0000010000000100B=0404H(3)301壓縮BCD碼:0000001100000001=0301H非壓縮BCD碼:000000110000000000000001B=030001H14、將下列二進(jìn)制數(shù)轉(zhuǎn)換為有符號(hào)十進(jìn)制數(shù)。(1)10000000B10000000B=-0D15、將下列十進(jìn)制數(shù)轉(zhuǎn)換為單精度浮點(diǎn)數(shù)。單精度浮點(diǎn)數(shù)為32位二進(jìn)制數(shù):1位符號(hào)8位階碼23位尾數(shù)(1)+1.51.5D=1.1×20符號(hào)0階碼127+0=0111111尾數(shù)10000000000000000000000存儲(chǔ)為:00111111110000000000000000000000B=3FC00000H(2)-10.625-10.625D=-1010.101B=-1.010101×23符號(hào)1階碼127+3=130D=10000010B尾數(shù)01010100000000000000000存儲(chǔ)為:11000001001010100000000000000000B=C12A0000H作業(yè)2P55~P565、要完成下述運(yùn)算或控制,用什么標(biāo)志位判別?其值是什么?(1)比較兩數(shù)是否相等。 假設(shè)兩個(gè)數(shù)分別為A和B,進(jìn)行A-B運(yùn)算, 若ZF=1A=B;若ZF=0A≠B(2)兩數(shù)運(yùn)算后結(jié)果是正數(shù)還是負(fù)數(shù)。 若SF=1,結(jié)果為負(fù)數(shù)SF=0結(jié)果為正數(shù)(3)兩數(shù)相加后是否溢出。 若OF=1,結(jié)果溢出;OF=0無溢出。(5)兩數(shù)相減后比較大小。(A-B)無符號(hào)數(shù)CF=1,A<B;CF=0,A>B;有符號(hào)數(shù) 1.無溢出(O=0):S=0A>BS=1A<B 2.有溢出(O=1):S=1A>BS=0A<B即SF+OF=0時(shí)A>B SF+OF=1時(shí)A<B9、段寄存器裝入如下數(shù)據(jù),寫出每段的起始地址和結(jié)束地址。(要求:分別按邏輯地址與物理地址寫出)(3)2300H解:邏輯地址 2300H:0000H~2300:0FFFFH物理地址 23000H~32FFFH10、根據(jù)下列CS:IP的組合,求出要執(zhí)行的下一條指令的存儲(chǔ)器地址(物理地址)。(1)CS:IP=1000H:2000H解:下一條指令的物理地址為12000H12、若當(dāng)前SS=3500H,SP=0800H,說明堆棧段在存儲(chǔ)器中的物理地址,若此時(shí)入棧10個(gè)字節(jié),SP的內(nèi)容是什么?若再出棧6個(gè)字節(jié),SP為什么值? 答:(1)堆棧段的物理地址范圍:35000H~44FFFH; 當(dāng)前棧頂?shù)奈锢淼刂窞椋?5000H+0800H=35800H (2)入棧操作后SP的內(nèi)容為:0800H-0AH=7F6H; (3)出棧操作后SP的內(nèi)容為:7F6H+6=7FCH13、某程序數(shù)據(jù)段中存放了兩個(gè)字,1EE5H和2A8CH,已知DS=7850H,數(shù)據(jù)存放的偏移地址為3121H和285AH。試畫圖說明它們?cè)诖鎯?chǔ)器中的存放情況。若要讀取這兩個(gè)字,需要對(duì)存儲(chǔ)器進(jìn)行幾次操作?7850H:0000H7850H:285AH7850H:3121H8CH2AH…E5H1EH……7850H:FFFFH答:讀字1EE5H需2次存儲(chǔ)器操作讀字2A8CH需1次存儲(chǔ)器操作14、存儲(chǔ)器中每段的容量最多64K字節(jié),若用debug調(diào)試程序中的r命令,在屏幕上有如下顯示:C:>debug-rAX=0000BX=0000CX=0079DX=0000SP=FEEEBP=0000SI=0000DI=0000DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDIPLNZNAPONC(1)試畫出此時(shí)存儲(chǔ)器分段示意圖(2)寫出狀態(tài)標(biāo)志OF、SF、ZF、CF的值。解:(1)分段示意圖見后頁(2)OF=0SF=0ZF=0CF=000000HDS:10E4HSS:21F0H0FFFFHES:10F4HCS:31FFH數(shù)據(jù)段附加段堆棧段程序段10E40H10F40H20E3FH20F3FH21F00H31EFFH31FF0H41FEFH16、8086系統(tǒng)中為什么要用地址鎖存器?8282地址鎖存器與CPU如何連接?(畫圖說明)答:8086微處理器的數(shù)據(jù)線和地址線復(fù)用引腳AD0~AD15,狀態(tài)和高4位地址線復(fù)用引腳A19~A15。在CPU與存儲(chǔ)器(或IO)進(jìn)行數(shù)據(jù)交換時(shí),CPU先送地址信號(hào)然后再發(fā)出控制信號(hào)及傳送數(shù)據(jù)。為使讀/寫總線周期內(nèi)地址穩(wěn)定,需要加地址鎖存器,先將地址鎖存。 鎖存器8282與CPU的連接如下圖所示8086地址鎖存器STB(8282*3)(8286*2)OE(選用)A19~A0D15~D0地址總線數(shù)據(jù)總線+5VMN/MXAD15~AD0A19~A16DENDT/RALETOE作業(yè)3_1P120~P1212、已知:DS=1000H,BX=0200H,SI=02H,內(nèi)存10200H~10205H單元的內(nèi)容分別為10H,2AH,3CH,46H,59H,6BH。下列每條指令執(zhí)行后AX寄存器的內(nèi)容各是什么?(2)MOV AX,[200H] AX=2A10H(4)MOV AX,3[BX] AX=5946H(6)MOV AX,2[BX+SI] AX=6B59H 18、什么叫總線周期?在CPU讀/寫總線周期中,數(shù)據(jù)在哪個(gè)狀態(tài)出現(xiàn)在數(shù)據(jù)總線上?答:(1)8086微處理器執(zhí)行一個(gè)總線操作所需要的時(shí)間稱為總線周期,一個(gè)基本的總線周期通常包含4個(gè)T狀態(tài)。(2)讀總線周期:存儲(chǔ)器(或I/O)一般在T3狀態(tài)將數(shù)據(jù)送到數(shù)據(jù)總線上,8086在T4狀態(tài)讀信號(hào)的上升沿將數(shù)據(jù)讀入。寫總線周期:8086CPU在T2狀態(tài)將數(shù)據(jù)送到數(shù)據(jù)總線,直到T4狀態(tài)通過寫信號(hào)的上升沿將數(shù)據(jù)寫到存儲(chǔ)器或I/O接口中。3、設(shè)DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,數(shù)據(jù)段中變量名為VAL的偏移地址為0030H,試說明下列源操作數(shù)字段的尋址方式是什么?物理地址是多少?(1)MOV AX,[100H] 直接尋址,物理地址為:10100H(2)MOV AX,VAL 直接尋址,物理地址為:10030H(4)MOV AX,ES:[BX] 寄存器間接尋址,20100H(6)MOV AX,[BX+10H] 寄存器相對(duì)尋址,10110H(8)MOV AX,VAL[BP][SI] 相對(duì)基址變址,352D0H(10)MOV AX,[BP][DI] 基址變址尋址,35224H6、指出下列指令中哪些是錯(cuò)誤的,錯(cuò)在什么地方?(1)MOV DL,AX 指令錯(cuò)誤,源操作數(shù)與目標(biāo)操作數(shù)應(yīng)為相同類型數(shù)據(jù) (2)MOV 8650H,AX 指令錯(cuò)誤,目標(biāo)操作數(shù)不能為立即數(shù)(3)MOV DS,0200H 指令錯(cuò)誤,不能直接對(duì)段寄存器DS直接賦值,需通過寄存器AX賦值。 (5)MOV IP,0FFH 指令錯(cuò)誤,IP寄存器的值由微處理器內(nèi)部控制,不能通過指令直接對(duì)其操作。(7)MOV AX,[BX][BP] 指令錯(cuò)誤,不能同時(shí)使用基址寄存器BX和BP(11)MOVAL,OFFSETTABLE 指令錯(cuò)誤,OFFSETTABLE返回16位地址,而AL寄存器為8位,數(shù)據(jù)類型不同。(13)IN BL,05H 指令錯(cuò)誤,IN指令必須使用AL寄存器讀8位端口。 (14)OUT AL,0FFEH 指令錯(cuò)誤,端口號(hào)應(yīng)存入DX寄存器7、已知當(dāng)前數(shù)據(jù)段中有一個(gè)十進(jìn)制數(shù)字0~9的7段代碼表,其數(shù)值依次為40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。要求用XLAT指令將十進(jìn)制數(shù)57轉(zhuǎn)換成相應(yīng)的7段代碼值,存到BX寄存器中,試寫出相應(yīng)的程序段。SDATASEGMENT TABLE: DB40H,79H,24H,30H,19H DB12H,02H,78H,00H,18HSDATAENDSSCODESEGMENT ASSUMECS:SCODE,DS:SDATASTART:MOVAX,SDATA MOV DS,AX MOVAL,5 MOVBX,OFFSETTABLE

XLATTABLE MOV AH,AL MOVAL,7 XLAT TABLE MOV BX,AX HLTSCODEENDS STARTEND作業(yè)3_2P121~P1238、已知當(dāng)前SS=1050H,SP=0100H,AX=4860H,BX=1287H試用示意圖表示執(zhí)行下列指令的中,堆棧中的內(nèi)容和堆棧指針SP怎樣變化? PUSH AX PUSH BX POP BX POP AX1050:0100SP1050:00FCSP48H60H12H1050:00FESP48H60H1050:00FESP48H60H1050:0100SP48H60H87H12H87H12H87H(1)PUSHAX(2)PUSHBX(3)POPBX(4)POPAX10、已知AX=2508H,BX=0F36H,CX=0004H,DX=1864H,求下列每條指令執(zhí)行后的結(jié)果是什么?標(biāo)志位CF等于什么?(2)OR BL,30H BL=36HCF=0 (4)XOR CX,0FFF0H CX=FFF4H,CF=0(6)CMP CX,00H CX值不變,CF=0 (7)SHR DX,CL DX=0186H CF=0(9)SHL BH,CL BH=0F0H CF=0(11)RCL BX,1 BX=000111100110110xB 若執(zhí)行指令前CF=0BX=0001111001101100B=1E6C 若執(zhí)行指令前CF=1BX=0001111001101101B=1E6D 執(zhí)行后 CF=013、設(shè)CS=1200H,IP=0100H,SS=5000H,SP=0400H,DS=2000H,SI=3000H,BX=0300H,(20300H)=4800H,(20302H)=00FFH,TABLE=0500H,PROG_N標(biāo)號(hào)的地址為1200:0278H,PROG_F標(biāo)號(hào)的地址為3400:0ABCH。說明下列每條指令執(zhí)行完后,程序?qū)⒎謩e轉(zhuǎn)移到何處執(zhí)行? 如指令中的操作碼JMP改為CALL,則每條指令執(zhí)行后,程序轉(zhuǎn)何處執(zhí)行?并請(qǐng)畫圖說明堆棧中的內(nèi)容和堆棧指針如何變化(1)JMP PROG_N 程序轉(zhuǎn)移到地址1200:0278H; 改為CALL指令后,disp=0175H,指令編碼為E97501,斷點(diǎn)IP為0103H

5000:03FESP01H03H5000:0400(2)JMP BX 程序轉(zhuǎn)移到地址1200:0300H; 改為CALL指令后,指令編碼為FFD3,斷點(diǎn)IP為0102H(3)JMP [BX] 程序轉(zhuǎn)移到地址1200:4800H; 改為CALL指令后,指令編碼為FF27,斷點(diǎn)IP為0102H(4)JMP FARPROG_F 程序轉(zhuǎn)移到地址3400:0ABCH; 改為CALL指令后,指令編碼為EABC0A0034,斷點(diǎn)地址為1200H:0105H。CS內(nèi)容先入棧,然后是IP內(nèi)容入棧。(5)JMP DWORDPTR[BX] 程序轉(zhuǎn)移到地址00FFH:4800H; 改為CALL指令后,指令編碼為FF1F,斷點(diǎn)地址為1200:0102H,CS內(nèi)容先入棧,然后是IP內(nèi)容入棧。

16、中斷向量表的作用是什么?它存放在內(nèi)存的什么區(qū)域?中斷向量表中的什么地址存放類型3的中斷?答:中斷向量表的作用:存儲(chǔ)中斷服務(wù)程序的入口地址(中斷向量)。中斷向量位于內(nèi)存:00000H~03FFH,共1024字節(jié)中斷類型3的中斷向量存放于0000CH~0000FH。17、設(shè)類型2的中斷服務(wù)程序的起始地址為0485:0016H,它在中斷向量表中如何存放?(畫圖說明)答:

85H00008H00H16H04H0000BH作業(yè)4P198~P1991、2、3、4、51、下列變量各占多少字節(jié)? A1 DW 23H,5876H A2 DB 3DUP(?),0AH,0DH,’$’ A3 DD 5DUP(1234H,567890H) A4 DB 4DUP(3DUP(1,2,’ABC’))解:A1占4個(gè)字節(jié)A2占6個(gè)字節(jié)A3占5x8=40個(gè)字節(jié)A4占5x(3x(2+3))=60字節(jié) 23H00H76H58HA1xxHxxHxxH0AHA20DH24H‘$’34H12H00H00HA390H78H56H00H重復(fù)5次01H02H41H42HA443H重復(fù)3次……01H02H41H42H43H01H02H41H42H43H2、下列指令完成什么功能?(1) MOV AX,00FFHAND1122H+3344H解:00FFHAND1122H+3344H=00FFHAND4466H=0066H,指令將立即數(shù)0066H送AX寄存器。(2)MOV AL,15GE1111B解:關(guān)系為真,表達(dá)式為0FFH,指令將立即數(shù)0FFH送AL寄存器,執(zhí)行指令后AX=00FFH(3) MOV AX,00FFHLE255+6/5 解:(00FFHLE(255+6/5))=00FFHLE256

,(6/5=1),關(guān)系為真,表達(dá)式為0FFFFH,指令將立即數(shù)0FFFFH送寄存器AX。指令執(zhí)行后AX=0FFFFH(4)AND AL,50MOD4解:50MOD4=2,指令將立即數(shù)02H與AL內(nèi)容相與,執(zhí)行指令后AX=0FF02H(5)OR AX,0F00FHAND1234HOR00FFH解:0F00FHAND1234HOR00FFH=1004HOR00FFH=10FFH,指令將AX的內(nèi)容(0FF02H

)與立即數(shù)10FFH相或,執(zhí)行指令后AX=0FFFFH3、有符號(hào)定義語句如下: BUF DB 3,4,5,‘123’ ABUF DB 0 L EQU ABUF–BUF求L的值為多少?解:L值的內(nèi)容為6。4、假設(shè)程序中的數(shù)據(jù)定義如下: PAR DW ? PNAME DB 16DUP(?) COUNT DD ? PLENTH EQU $-PAR求PLENTH的值為多少?表示什么意義?解:PLENTH的值為22,表示三個(gè)變量占用的字節(jié)數(shù)。5、對(duì)于下面的數(shù)據(jù)定義,各條MOV指令執(zhí)行后,有關(guān)寄存器的內(nèi)容是什么? DA1 DB ? DA2 DW 10DUP(?) DA3 DB ‘ABCD’ MOV AX,TYPEDA1 MOV BX,SIZEDA2 MOVCX,LENGTHDA3解:指令執(zhí)行后 AX=1 BX=20 CX=11靜態(tài)RAM和動(dòng)態(tài)RAM有何區(qū)別?

解:SRAM集成度低于DRAM;SRAM功耗也比DRAM高;SRAM只要電源存在,內(nèi)容就不會(huì)消失,不需要刷新,DRAM由于總是存在有泄漏電流,故要求刷新;SRAM存取速度較DRAM快;3、DRAM的/CAS和/RAS輸入的用途是什么?解:/RAS:行地址選通信號(hào),把行地址送入行地址鎖存器,/CAS:列地址選通信號(hào),把列地址送入列地址鎖存器。7.用1024×1位的RAM芯片組成16K×8位的存儲(chǔ)器,需要多少芯片?在地址線中有多少位參與片內(nèi)尋址?多少位組合成片選信號(hào)?(設(shè)地址總線16位)

解:(1)存儲(chǔ)器總?cè)萘?16K×8bits=128kbits;每片存儲(chǔ)芯片容量為:1kbits需要128/1=128個(gè)存儲(chǔ)芯片(2)210=1024,每個(gè)存儲(chǔ)芯片需要10位地址線參與片內(nèi)尋址(3)由于每8個(gè)存儲(chǔ)芯片生成一個(gè)字節(jié)寬度存儲(chǔ)器,共用一個(gè)片選信號(hào),需要片選信號(hào)數(shù)為 128/8=16由于24=16,所以至少需要4位地址線生成片選信號(hào)。8.現(xiàn)有一存儲(chǔ)體芯片容量512×4位,若要用組成4KB的存儲(chǔ)器,需要多少這樣的芯片?每塊芯片需要多少尋址線?整個(gè)存儲(chǔ)系統(tǒng)最少需要多少尋址線?

解:(1)總存儲(chǔ)容量為:4KB=32Kbits,每片存儲(chǔ)芯片的容量為:512×4=2Kbits所以需要32/2=16片存儲(chǔ)芯片。(2)512=29,所以每片芯片需要9根尋址線(3)由于2片4位芯片構(gòu)成一個(gè)字節(jié)存儲(chǔ)體,共用1個(gè)片選信號(hào),因此需要16/2=8條片選信號(hào)。由于23=8,需要3根地址線生成片選信號(hào)。所以整個(gè)存儲(chǔ)系統(tǒng)至少需要12根地址線。11.當(dāng)要將一個(gè)字寫入到存儲(chǔ)器奇地址開始的單元中去,列出存儲(chǔ)器的控制信號(hào)和它們的有效邏輯電平信號(hào)(8086工作在最小模式)

解:(參見課本P230頁,圖5.22)存儲(chǔ)器寫操作由兩個(gè)總線周期組成,使用的控制信號(hào)為:/WE存儲(chǔ)器信號(hào),低電平有效/CE1存儲(chǔ)器片選信號(hào),低電平有效。(由高位地址線和M/IO信號(hào)經(jīng)譯碼生成)CE2存儲(chǔ)器片選信號(hào),高電平有效奇存儲(chǔ)體的CE2信號(hào)由/BHE反向后生成偶存儲(chǔ)體的CE2信號(hào)由A0反向后生成

8086微處理器發(fā)起寫操作總線周期控制信號(hào)(參見課本P53圖2.53):ALE信號(hào):高電平有效M/IO信號(hào):高電平有效/WR信號(hào):低電平有效DT/R信號(hào):高電平有效/DEN信號(hào):低電平有效第一個(gè)總線周期/BHE=0,A0=1讀取奇地址字節(jié)第二個(gè)總線周期/BHE=1,A0=0讀取偶地址字節(jié)12.設(shè)計(jì)一個(gè)64K×8存儲(chǔ)器系統(tǒng),采用74LS138和EPROM2764器件,使其尋址范圍為40000H~4FFFFH解:EPROM2764容量為8K×8=64kbits,存儲(chǔ)系統(tǒng)容量為64K×8=512Kbits,故需要512/64=8片2764;8192=213,每片2764需要13根地址線。分兩種情況分析:(1)采用8088微處理器的計(jì)算機(jī)系統(tǒng):由于采用8位數(shù)據(jù)總線,A12~A0用于芯片內(nèi)部存儲(chǔ)字節(jié)尋址線。地址范圍為:40000H~4FFFFH,A19~A16=0100,A15~A13作為74LS138譯碼輸入產(chǎn)生片選信號(hào)。參考電路圖如下:A19A18A17A16G1G2AG2BCBA+5VM/IOA15A14A13…RDD7~D0A12~A0CEOED7~D0Y774LS138Y0A12~A0CEOED7~D0A12~A0……1#8#(2)采用8088微處理器的計(jì)算機(jī)系統(tǒng):由于采用16位數(shù)據(jù)總線,A13~A1用于芯片內(nèi)部存儲(chǔ)字節(jié)尋址線。地址范圍為:40000H~4FFFFH,A19~A17=0100,A16~A14作為74LS138譯碼輸入產(chǎn)生片選信號(hào)Y3~Y0。參考電路圖如下:A19A18A17G1G2AG2BCBA+5VM/IOA16A15A14…RDD7~D0Y374LS138Y0A12~A0CEOED7~D0A12~A0CEOED7~D0A13~A1。。。。。。。。。Y7A13~A1D15~D813.用8K×8位的EPROM2764、8K×8位的6264和譯碼器74LS138構(gòu)成一個(gè)16K字ROM、16K字RAM的存儲(chǔ)器子系統(tǒng)。8086工作在最小模式,系統(tǒng)帶有地址鎖存器8282,數(shù)據(jù)收發(fā)器8286。畫出存儲(chǔ)器系統(tǒng)與CPU的連線圖,寫出各芯片的地址分配。解:(1)16K字ROM需要4片2764(8K×8)

16K字RAM需要4片6264

(8K×8)(2)對(duì)于8086系統(tǒng)存儲(chǔ)子系統(tǒng)至少要包括的存儲(chǔ)空間ROM:FFFF0H~FFFFFH(8086復(fù)位后,CS=0FFFFH,IP=0000H,因此微處理器每次上電都從地址0FFFF0H執(zhí)行第一條指令),若各ROM地址連續(xù)分布,4片ROM實(shí)現(xiàn)的地址空間為:0F8000H~0FFFFFH(32KB)RAM:00000H~003FFH空間為存儲(chǔ)中斷向量表,要使微機(jī)系統(tǒng)能正常工作(處理各種中斷),存儲(chǔ)器子系統(tǒng)包括這段空間。4片RAM實(shí)現(xiàn)的地址空間為:00000H~07FFFH(32KB)READYX1

X2(8284A)8086地址鎖存器STB(8282*3)(8286*2)OE(選用)BHEA19~A0D15~D0地址總線數(shù)據(jù)總線+5VMN/MXCLKRESETAD15~AD0A19~A16DENDT/RM/IOWRRDHOLDHLDAINTRINTAALEBHEREADYRESETT存儲(chǔ)器子系統(tǒng)系統(tǒng)連線分別參考課本P43圖2.15和課本P230頁圖5.22。G1G2AG2BCBA+5VM/IOA16A15A14RDY174LS138Y0A12~A0CEOEA12~A0CE1OEA13~A1Y7A13~A1CE2CE2CE2CE21#2#3#4#WEWEWRA0BHERDWRA12~A0CEOED7~D02#1#A12~A0CEOED7~D02#1#DBA13~A1A13~A1RDRDD7~D0D15~D8D7~D0D15~D8Y6GND5.說明查詢式輸入和輸出接口電路的工作原理。

略,見書P241-242.6.簡(jiǎn)述在微機(jī)系統(tǒng)中,DMA控制器從外設(shè)提出請(qǐng)求到外設(shè)直接將數(shù)據(jù)傳送到存儲(chǔ)器的工作過程。

答:當(dāng)外設(shè)需要利用DMA方式進(jìn)行數(shù)據(jù)傳送時(shí),接口電路可以向CPU提出請(qǐng)求,要求CPU讓出對(duì)于總線的控制權(quán)。DMA臨時(shí)接管總線,控制外設(shè)和存儲(chǔ)器之間直接進(jìn)行高速的數(shù)據(jù)傳送??刂破鹘o出訪問內(nèi)存所需要的地址信息,并且自動(dòng)修改地址指針,設(shè)定和修改傳送的字節(jié)數(shù),向存儲(chǔ)器和外設(shè)發(fā)出相應(yīng)的讀寫控制信號(hào)。在DMA傳送結(jié)束后,它能釋放總線。用DMA方式讀磁盤的過程分為以下幾步:進(jìn)行一次DMA傳輸前,首先對(duì)控制器進(jìn)行初始化編程。CPU向磁盤控制器發(fā)出讀盤命令,由磁盤控制器找到要讀取的數(shù)據(jù)位置,并開始讀出數(shù)據(jù)。當(dāng)磁盤控制器準(zhǔn)備好了第一個(gè)字節(jié)的數(shù)據(jù)后,就向DMA控制器發(fā)送一個(gè)DMA請(qǐng)求信號(hào)DREQ。DMA送一個(gè)請(qǐng)求保持信號(hào)HRQ到CPU。CPU將總線浮空。DMA通過地址總線向存儲(chǔ)器發(fā)送地址信號(hào),指示要被寫入內(nèi)存的第一個(gè)數(shù)據(jù)的地址。隨后DMA向磁盤控制器發(fā)出確認(rèn)信號(hào),通知磁盤控制器準(zhǔn)備好要輸出地?cái)?shù)據(jù)字節(jié)。DMA使控制總線上的I/O讀信號(hào)和存儲(chǔ)器寫信號(hào)有效。每完成一個(gè)字節(jié)數(shù)據(jù)的傳送,DMA會(huì)自動(dòng)修改內(nèi)部地址寄存器的內(nèi)容,指向下一個(gè)字節(jié)的地址。傳送結(jié)束后,DMA撤銷保持信號(hào),釋放總線。7.某一個(gè)微機(jī)系統(tǒng)中,有8塊I/O接口芯片,每個(gè)芯片占有8個(gè)端口地址,若起始地址為300H,8塊芯片的地址連續(xù)分布,用74LS138作譯碼器,試畫出端口譯碼電路,并說明每塊芯片的端口地址范圍。解:每塊芯片占有8個(gè)端口地址,故需要A2A1A0作為片內(nèi)尋址線。要求地址連續(xù)分布,故需要A3A4A5作為片選信號(hào),連接到74LS138的ABC。起始地址為0000,0011,0000,0000.故A8A9保持為1,其余為0端口地址為:#1:0000,0011,0000,0000~0000,0011,0000,0111即300H~307H#2:0000,0011,0000,1000~0000,0011,0000,1111即308H~30FH#3:310H~317H #4:318H~31FH#5:320H~327H #6:328H~32FH#7:330H~337H #8:338H~33FH下圖為8086存儲(chǔ)器的部分電路連線圖。問:(1)M0和M1的尋址范圍分別是什么?(2)存儲(chǔ)總?cè)萘繛槎嗌伲緽HE

M/IOA17

A16~A1≥1≥1A0&

M1CSD7~D0A15~A0M0CSD7~D0A15~A0D7~D0D15~D8A18A19解:由圖可知,此存儲(chǔ)器系統(tǒng)采用雙體存儲(chǔ)器結(jié)構(gòu),其中:A0用于選偶存儲(chǔ)體,BHE用于選奇存儲(chǔ)體。存儲(chǔ)芯片M0、M1的片選邏輯表達(dá)式為:當(dāng)且僅當(dāng)A19A18A17A0BHEM/IO=110011時(shí),CSM0=0,選中M0;

當(dāng)A19A18A17A0BHEM/IO=110101時(shí),CSM1=0,選中M1;

當(dāng)A19A18A17A0BHEM/IO=110001時(shí),CSM0=0,CSM1=0,同時(shí)選中M0和M1;于是,由A16~A1用于片內(nèi)地址選擇可得:(1)M1的尋址范圍為:C0000H~DFFFFH的奇地址;

M2的尋址范圍為:C0000H~DFFFFH的偶地址;(2)總存儲(chǔ)容量217B分析:存儲(chǔ)器的地址空間關(guān)鍵是要搞清楚存儲(chǔ)器結(jié)構(gòu)是單體(8位)還是雙體(16位),以及CPU有哪些高端地址線用于參與地址譯碼,哪些地址用于片內(nèi)單元的選擇,然后根據(jù)譯碼邏輯的輸出,從而確定存儲(chǔ)器的地址空間。如果對(duì)譯碼邏輯很熟悉,可直接根據(jù)連線情況,直接寫出各存儲(chǔ)器芯片的地址范圍。課堂練習(xí):試用SRAM62256(32Kx8)芯片為8086系統(tǒng)設(shè)計(jì)一個(gè)64KB的存儲(chǔ)子系統(tǒng)。要求地址從8086的存儲(chǔ)器地址空間80000H開始連續(xù)編址。(用3-8譯碼器74LS138譯碼):(1)需要幾片SRAM芯片,若采用全譯碼,需要多少位地址產(chǎn)生片選信號(hào)?(2)每片SRAM訪問內(nèi)部存儲(chǔ)單元的地址線為多少條?寫出每片SRAM的地址范圍。(3)畫出其地址譯碼及連接電路圖。(假設(shè)系統(tǒng)20位地址總線為A19~A0,16位數(shù)據(jù)總線為D15~D0,控制信號(hào)為RD、WR,奇存儲(chǔ)體選擇信號(hào)為/BHE,偶存儲(chǔ)體選擇信號(hào)是A0)(1)需要2片SRAM,需要4條地址線進(jìn)行譯碼(2)15條地址線奇存儲(chǔ)體的地址范圍80000H~8FFFFH中奇地址偶存儲(chǔ)體的地址范圍80000H~8FFFFH中偶地址(3)電路連接圖如下BHE

A15~1A0

M2CSD7~D0A14~A0

M1CSD7~D0A14~A0D7~D0D15~D8AG1G2AG2BCBA…74LS138Y7Y4…Y0……M/IOA19A18A17GNDA162.8255A有哪幾種工作方式?各用于什么場(chǎng)合?端口A、端口B和端口C各可以工作于哪幾種工作方式?8255A有三種工作方式:方式0:基本輸入輸出方式,適用于不需要用應(yīng)答信號(hào)的簡(jiǎn)單輸入輸出場(chǎng)合;方式1:選通輸入\輸出方式,在這種方式下,A口和B口仍可作為數(shù)據(jù)的輸入輸出口,但是同時(shí)規(guī)定C口的某些位作為控制或狀態(tài)信息。方式2:雙向總線方式,使外設(shè)可以在單一的8位總線上,既能發(fā)送數(shù)據(jù)也能接受數(shù)據(jù),工作時(shí)可用程序查詢方式,也可工作在中斷方式。端口A可工作于方式0,方式1,方式2;端口B可工作于方式0,方式1;端口C可工作于方式0。4.若8255A的系統(tǒng)基地址為2F9H,且各端口都是奇地址,則8255A的3個(gè)端口和控制寄存器的地址各是多少?

已知CPU的系統(tǒng)總線為A0~A9,D15~D0,M/IO,/IOR,/IOW,RESET,試畫出8255A的地址譯碼電路及它與CPU系統(tǒng)總線的連接圖。A口:2F9HB口:2FBHC口:2FDH控制寄存器:2FFH7.8255A的端口地址為80H,82H,84H,86H,若A口工作在方式0輸入,B口工作在方式1輸出,C口各位的作用是什么?控制字是什么?若B口工作在方式0輸出,A口工作在方式1輸入,C口各位的作用是什么?控制字是什么?A口工作在方式0輸入,B口工作在方式1輸出,C口各位的作用是:PC0,PC1和PC2作為B口的聯(lián)絡(luò)控制信號(hào),其中PC0連接INTR,中斷請(qǐng)求信號(hào),PC1連接/OBF,輸出緩沖器滿信號(hào),PC2連接/ACK信號(hào),外設(shè)的回答信號(hào),C口的其余各位仍可做基本輸入輸出。INTEB用于允許與禁止B口中斷,通過對(duì)PC2的置位和復(fù)位操作實(shí)現(xiàn)控制字為:1001X10X

B口工作在方式0輸出,A口工作在方式1輸入,C口各位的作用是:C口的PC4,PC5和PC3用作端口A的狀態(tài)和控制線,其中PC4接/STB,輸入選通信號(hào),PC5接IBF向外設(shè)發(fā)出輸入緩沖器滿信號(hào),PC3接INTE,中斷允許信號(hào),C口其余各位仍可做基本輸入輸出。INTEA用于允許與禁止A口中斷,通過對(duì)PC4的置位和復(fù)位操作實(shí)現(xiàn)控制字為:1011X00X讀打印機(jī)狀態(tài)建立指針延時(shí)20ms再讀等待中斷返回DOS是仍未就緒12.試畫出打印機(jī)驅(qū)動(dòng)程序的流程圖:發(fā)送選通信號(hào)

傳送完成?中斷返回是否主程序中斷服務(wù)程序保護(hù)現(xiàn)場(chǎng)關(guān)中斷允許8255中斷發(fā)送字符修改地址指針

結(jié)束中斷恢復(fù)現(xiàn)場(chǎng)關(guān)閉8255中斷初始化初始化各段寄存器建立服務(wù)程序的中斷向量初始化8259

初始化8255延時(shí)50us準(zhǔn)備好否準(zhǔn)備好否FIN允許8086中斷

初始化打印機(jī)8255APA0PA1PA2PA3PC0PC2PC4PC5PB0PB1PB2PB3PB4PB5PB6PB7……到8259INTRACKBERRPESLCTBUSYACKSTROBEINITDATA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8打印機(jī)插座1、已知某指令的邏輯地址CS=0074HIP=5000H,求其物理地址。解:物理地址為0074H×10H+5000H=5740H2、有兩個(gè)字807FH,5FEFH,它們?cè)?086系統(tǒng)的存儲(chǔ)器中的地址分別是41020H和41023H,請(qǐng)用圖示它們?cè)诖鎯?chǔ)器中的位置。若它們的段地址是4000H,這兩個(gè)字的有效地址是什么?解:(1)存儲(chǔ)位置圖右圖 (2)有效地址分別為0020H和1023H……7FH41020H80H41021H5FH41024HEFH41023H…

4、若已知當(dāng)前DS=1230H,在偏移地址為00A1H開始的存儲(chǔ)器中連續(xù)存放6個(gè)字節(jié)的數(shù)據(jù)分別為11H,22H,33H,44H,55H和66H.請(qǐng)指出這些數(shù)據(jù)在存儲(chǔ)器中的物理地址。如果要從存儲(chǔ)器中以字讀取方式讀出這些數(shù)據(jù),需要訪問幾次存儲(chǔ)器?(幾個(gè)總線周期)解:由于訪問非規(guī)則字,需要對(duì)存儲(chǔ)器訪問6次。3、在某系統(tǒng)中,已知當(dāng)前SS=1200H,SP=0800H,請(qǐng)說明該堆棧段在存儲(chǔ)器中的物理地址范圍,若在當(dāng)前堆棧段中存入20個(gè)字節(jié)數(shù)據(jù),那么SP的內(nèi)容為什么值?解:堆棧段在存儲(chǔ)器中的物理地址范圍為12000H~21FFFH. 當(dāng)前堆棧區(qū)的范圍:12000H~127FFH. SP的內(nèi)容為800H-14H(20)=7ECH.33H123A4H11H123A1H22H123A2H55H123A5H44H123A4H66H123A6H習(xí)題1、高速緩存的存取速度

。A、比內(nèi)存慢、比輔存快 B、比內(nèi)存慢,比內(nèi)部寄存器快C、比內(nèi)存慢,比內(nèi)部寄存器慢2、下面的說法中,正確的是:

。A、EPROM是不能改寫的B、EPROM是可改寫的,所以也使一種讀寫存儲(chǔ)器C、EPRPM只能改寫一次D、EPRPM是可改寫的,它不能作為讀寫存儲(chǔ)器3、若256KB的SRAM具有8條數(shù)據(jù)線,則它具有條

地址線A、10B、15C、20 D、32下圖為8086存儲(chǔ)器的部分電路連線圖。問:(1)M0和M1的尋址范圍分別是什么?(2)存儲(chǔ)總?cè)萘繛槎嗌??BHE

M/IOA17

A16~A1≥1≥1A0&

M1CSD7~D0A15~A0M0CSD7~D0A15~A0D7~D0D15~D8A18A19答案1、C 2、D EPROM是紫外線擦除可編程ROM,可反復(fù)多次改寫,所以A和C不正確;EPROM的編程需外加編程電壓,不能在線隨機(jī)改寫,因此EPROM不是隨機(jī)讀寫存儲(chǔ)器。所以不正確。3、B256Kb=28x210b=215x(23)b=215B解:由圖可知,此存儲(chǔ)器系統(tǒng)采用雙體存儲(chǔ)器結(jié)構(gòu),其中:A0用于選偶存儲(chǔ)體,BHE用于選奇存儲(chǔ)體。存儲(chǔ)芯片M0、M1的片選邏輯表達(dá)式為:當(dāng)且僅當(dāng)A19A18A17A0BHEM/IO=110011時(shí),CSM0=0,選中M0;當(dāng)A19A18A17A0BHEM/IO=110101時(shí),CSM1=0,選中M1;當(dāng)A19A18A17A0BHEM/IO=110001時(shí),CSM0=0,CSM1=0,同時(shí)選中M0和M1;于是,由A16~A1用于片內(nèi)地址選擇可得:(1)M1的尋址范圍為:C0000H~DFFFFH的奇地址;

M2的尋址范圍為:C0000H~DFFFFH的偶地址;(2)總存儲(chǔ)容量217B分析:存儲(chǔ)器的地址空間關(guān)鍵是要搞清楚存儲(chǔ)器結(jié)構(gòu)是單體(8位)還是雙體(16位),以及CPU有哪些高端地址線用于參與地址譯碼,哪些地址用于片內(nèi)單元的選擇,然后根據(jù)譯碼邏輯的輸出,從而確定存儲(chǔ)器的地址空間。如果對(duì)譯碼邏輯很熟悉,可直接根據(jù)連線情況,直接寫出各存儲(chǔ)器芯片的地址范圍。課堂練習(xí):試用SRAM62256(32Kx8)芯片為8086系統(tǒng)設(shè)計(jì)一個(gè)64KB的存儲(chǔ)子系統(tǒng)。要求地址從8086的存儲(chǔ)器地址空間80000H開始連續(xù)編址。(用3-8譯碼器74LS138譯碼):(1)需要幾片SRAM芯片,若采用全譯碼,需要多少位地址產(chǎn)生片選信號(hào)?(2)每片SRAM訪問內(nèi)部存儲(chǔ)單元的地址線為多少條?寫出每片SRAM的地址范圍。(3)畫出其地址譯碼及連接電路圖。(假設(shè)系統(tǒng)20位地址總線為A19~A0,16位數(shù)據(jù)總線為D15~D0,控制信號(hào)為RD、WR,奇存儲(chǔ)體選擇信號(hào)為/BHE,偶存儲(chǔ)體選擇信號(hào)是A0)(1)需要2片SRAM,需要4條地址線進(jìn)行譯碼(2)15條地址線奇存儲(chǔ)體的地址范圍80000H~8FFFFH中奇地址偶存儲(chǔ)體的地址范圍80000H~8FFFFH中偶地址(3)電路連接圖如下BHE

A15~1A0

M2CSD7~D0A14~A0

M1CSD7~D0A14~A0D7~D0D15~D8AG1G2AG2BCBA…74LS138Y7Y4…Y0……M/IOA19A18A17GNDA161、已知某指令的邏輯地址CS=0074HIP=5000H,求其物理地址。解:物理地址為0074H×10H+5000H=5740H2、有兩個(gè)字807FH,5FEFH,它們?cè)?086系統(tǒng)的存儲(chǔ)器中的地址分別是41020H和41023H,請(qǐng)用圖示它們?cè)诖鎯?chǔ)器中的位置。若它們的段地址是4000H,這兩個(gè)字的有效地址是什么?……7FH41020H80H41021H5FH41024HEFH41023H…

解: (1)存儲(chǔ)位置圖如下圖 (2)有效地址分別為0020H和1023H3、在某系統(tǒng)中,已知當(dāng)前SS=1200H,SP=0800H,請(qǐng)說明該堆棧段所在段的物理地址范圍,若在當(dāng)前堆棧段中存入20個(gè)字節(jié)數(shù)據(jù),那么SP的內(nèi)容為什么值?解: 堆棧段所在段的物理地址范圍為12000H~21FFFH. 當(dāng)前堆棧段的范圍:12000H~127FFH. SP的內(nèi)容為800H-14H(20)=7ECH.4、若已知當(dāng)前DS=1230H,在偏移地址為00A1H開始的存儲(chǔ)器中連續(xù)存放6個(gè)字節(jié)的數(shù)據(jù)分別為11H,22H,33H,44H,55H和66H.請(qǐng)指出這些數(shù)據(jù)在存儲(chǔ)器中的物理地址。如果要從存儲(chǔ)器中以字讀取方式讀出這些數(shù)據(jù),需要訪問幾次存儲(chǔ)器?(幾個(gè)總線周期)33H123A4H11H123A1H22H123A2H55H123A5H44H123A4H66H123A6H解:由于訪問非規(guī)則字,需要對(duì)存儲(chǔ)器訪問6次。5、對(duì)于給定的數(shù)據(jù)定義,畫圖說明下列語句所分配的存儲(chǔ)空間及初始化的數(shù)據(jù),并寫出變量R1的值。A1 DW 1,2,3,’AB’A2 DB ‘ABC’A3 DB 6DUP(?)R1 EQU A3-A16、已知ORG 0200HARY DW -1,2,-3,4CNT DW $-ARYVAR DW ARY,$+4RST DW ?…MOV AX,ARYMOV BP,OFFSET VARMOV BX,VARMOV CX,CNTMOV DX,VAR+2LEA SI,RST…此程序執(zhí)行后AX=

,BP=

,BX=

,CX=

,DX=

,SI=

?AX=0FFFFH,BP=020AH,BX=0200H,CX=0008H,DX=0210H,SI=020EH7、若十進(jìn)制數(shù)字0~9的LED七

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論