最新微型計算機原理與接口技術清華大學出版社-馮博琴-吳寧主編-課后答案_第1頁
最新微型計算機原理與接口技術清華大學出版社-馮博琴-吳寧主編-課后答案_第2頁
最新微型計算機原理與接口技術清華大學出版社-馮博琴-吳寧主編-課后答案_第3頁
最新微型計算機原理與接口技術清華大學出版社-馮博琴-吳寧主編-課后答案_第4頁
最新微型計算機原理與接口技術清華大學出版社-馮博琴-吳寧主編-課后答案_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精品文檔第 1 章基礎知識1.1 計算機中常用的計數制有哪些?解:二進制、八進制、十進制(BCD)、十六進制。1.2 什么是機器碼?什么是真值? 解:把符號數值化的數碼稱為機器數或機器碼,原來的數值叫做機器數的真值。1.3 完成下列數制的轉換。 微型計算機的基本工作原理 匯編語言程序設計 微型計算機接口技術 建立微型計算機系統的整體概念,形成微機系統軟硬件開發的初步能力。解:( 1) 166, A6H( 2) 0.75(3)11111101.01B, FD.4H(4 ) 5B.AH, (10010001.011000100101)BCD1.4 8位和 16 位二進制數的原碼、補碼和反碼可表示的

2、數的范圍分別是多少? 解:原碼( -127+127)、( -32767+32767) 補碼 (-128+127)、( -32768+32767) 反碼( -127+127)、( -32767+32767)1.5 寫出下列真值對應的原碼和補碼的形式。( 1) X= -1110011B( 2) X= -71D( 3) X= +1001001B解:( 1)原碼: 11110011 補碼: 10001101( 2)原碼: 11000111 補碼: 10111001( 3)原碼: 01001001 補碼: 010010011.6寫出符號數10110101B的反碼和補碼。解: 11001010,11001

3、0111.7 已知 X 和 Y 的真值,求 X+Y 的補碼。( 1 ) X=-1110111B Y=+1011010B( 2) X=56D Y= -21D解:(1)11100011( 2) 001000111.8 已知 X= -1101001B, Y= -1010110B,用補碼求 X-Y 的值。解: 111011011.9 請寫出下列字符的 ASCII 碼。4A3- !解: 34H, 41H, 33H, 3DH, 21H1.10若給字符4和9的ASCII碼加奇校驗,應是多少?解:34H, B9H1.11 上題中若加偶校驗,結果如何?解: B4H, 39H1.12 計算下列表達式。(1)(4E

4、H+10110101B)x(0.0101)BCD=( )D(2)4EH-(24/08H+'B'/2)=( )B解:(1)129.5D( 2) 101010B第 2 章微型計算機基礎2.6簡述CPU執行程序的過程。 解:當程序的第一條指令所在的地址送入程序計數器后, CPU 就進入取指階段 準備取第一條指令。在取指階段, CPU 從內存中讀出指令,并把指令送至指令 寄存器 IR 暫存。在取指階段結束后,機器就進入執行階段,這時,由指令譯碼 器對指令譯碼, 再經控制器發出相應的控制信號, 控制各部件執行指令所規定的 具體操作。 當一條指令執行完畢以后, 就轉入了下一條指令的取指階段

5、。 以上步 驟周而復始地循環,直到遇到停機指令。2.7說明8086的 EU 和 BIU 的主要功能。在執行程序過程中他們是如何相互配合 工作的?解:執行單元 EU 負責執行指令。 EU 在工作時不斷地從指令隊列取出指令代碼, 對其譯碼后產生完成指令所需要的控制信息。數據在 ALU 中進行運算,運算結 果的特征保留在標志寄存器 FLAGS 中。總線接口單元 BIU 負責 CPU 與存儲器、 I/O 接口之間的信息傳送。 BIU 取出的指令被送入指令隊列供 EU 執行, BIU 取 出的數據被送入相關寄存器中以便做進一步的處理。當 EU 從指令隊列中取走指令,指令隊列出現空字節時, BIU 就自動

6、執行一次取指令周期, 從內存中取出后續的指令代碼 放入隊列中。當 EU 需要數據時, BIU 根據 EU 給出的地址,從指定的內存單元 或外設中取出數據供 EU 使用。當運算結束時, BIU 將運算結果送入指定的內存 單元或寄存器。當指令隊列空時, EU 就等待,直到有指令為止。若 BIU 正在取 指令, EU 發出訪問總線的請求,則必須等 BIU 取指令完畢后,該請求才能得到 響應。一般情況下,程序順序執行,當遇到跳轉指令時, BIU 就使指令 隊列復位,從新地址取出指令,并立即傳送 EU 去執行。指令隊列的存在使 8086/8088的 EU 和 BIU 并行工作,從而減少了 CPU 為取指

7、 令而等待的時間,提高了 CPU 的利用率,加快了整機的運行速度。另外也降低 了對存儲器存取速度的要求。2.8 在執行指令期間 ,BIU 能直接訪問存儲器嗎 ?為什么 ?解:可以.因為 EU 和 BIU 可以并行工作 ,EU 需要的指令可以從指令隊列中獲得 ,這 時 BIU 預先從存儲器中取出并放入指令隊列的。 在 EU 執行指令的同時, BIU 可 以訪問存儲器取下一條指令或指令執行時需要的數據。2.9 8086與8088CPU的主要區別有哪些?解:主要區別有以下幾點: 8086的外部數據總線有 16 位,而 8088的外部數據總線只有 8 位。 8086指令隊列深度為 6個字節,而 808

8、8的指令隊列深度為 4個字節. 因為 8086的外部數據總線有 16位,故 8086每個總線周期可以存取兩個字節 . 而 8088的外部數據總線因為只有 8 位,所以每個總線周期只能存取 1 個字節. 個別引腳信號的含義稍有不同 .2.10 8088CPU工作在最小模式下:(1)當 CPU 訪問存儲器時 ,要利用哪些信號 ?(2)當 CPU 進行 I/O 操作時 ,要利用哪些信號 ?(3)當 HOLD 有效并得到響應時 ,CPU 的哪些信號置高阻 ?解:( 1 )要利用信號線包括 WR#、RD#、IO/M#、ALE 以及 AD0AD7 、A8A19。(2)同( 1 )。(3)所有三態輸出的地址

9、信號、數據信號和控制信號均置為高阻態。2.11 總線周期中,什么情況下要插入 TW 等待周期?插入 TW 周期的個數,取 決于什么因素?解:在每個總線周期的 T3 的開始處若 READY 為低電平,則 CPU 在 T3 后插入 一個等待周期TW。在TW的開始時刻,CPU還要檢查READY狀態,若仍為低 電平,則再插入一個 TW 。此過程一直進行到某個 TW 開始時, READY 已經變 為高電平,這時下一個時鐘周期才轉入 T4。可以看出,插入 TW 周期的個數取決于 READY 電平維持的時間。2.12若8088工作在單CPU方式下,在教材第91頁的表中填入不同操作時各控 制信號的狀態。解:結

10、果如表所示。2.13在8086/8088 CPU中,標志寄存器包含哪些標志位?各位為 0 (為1)分別 表示什么含義?解:(略),見書第 49 頁。2.14 8086/8088 CPU中,有哪些通用寄存器和專用寄存器?說明它們的作用。 解:通用寄存器包含以下 8 個寄存器:AX、BX、CX 和 DX 寄存器一般用于存放參與運算的數據或運算的結果。除此 之外:AX :主要存放算術邏輯運算中的操作數,以及存放I/O操作的數據。BX :存放訪問內存時的基地址。CX :在循環和串操作指令中用作計數器。DX :在寄存器間接尋址的I/O指令中存放I/O地址。在做雙字長乘除法運算時,DX 與 AX 合起來存

11、放一個雙字長數。SP:存放棧頂偏移地址。BP:存放訪問內存時的基地址。SP和BP也可以存放數據,但它們的默認段寄存器都是 SS。SI:常在變址尋址方式中作為源地址指針。DI:常在變址尋址方式中作為目標地址指針。專用寄存器包括 4個段寄存器和兩個控制寄存器:CS:代碼段寄存器,用于存放代碼段的段基地址。DS:數據段寄存器,用于存放數據段的段基地址。SS:堆棧段寄存器,用于存放堆棧段的段基地址。ES:附加段寄存器,用于存放附加段的段基地址。IP:指令指針寄存器,用于存放下一條要執行指令的偏移地址。FLAGS :標志寄存器,用于存放運算結果的特征。2.15 8086/8088 系統中, 存儲器為什么

12、要分段?一個段最大為多少個字節?最小 為多少個字節?解:分段的主要目的是便于存儲器的管理,使得可以用 16 位寄存器來尋址 20 位的內存空間。一個段最大為 64KB,最小為16B。2.16 在 8086/8088 CPU 中,物理地址和邏輯地址是指什么?已知邏輯地址為 仆00: 38A0H,如何計算出其對應的物理地址?解:物理地址時 CPU 存取存儲器所用的地址。邏輯地址是段和偏移地址形式的 地址,即匯編語言程序中使用的存儲器地址。若 已 知 邏 輯 地 址 為 1F00: 38A0H , 則 對 應 的 物 理 地 址 =1F00H x 16+38A0H=228A0H。2.17已知存儲器物

13、理地址為78A00H,計算出它所對應的邏輯地址。 此結果惟一 嗎?解:物理地址可以對應于不同的邏輯地址。 78A00H 對應的邏輯地址可以是 7000H: 8A00H,7800H : 0A00H,78A0H : 0000H 等。結果不是惟一的。2.18設當前數據段位于存儲器的 A8000HB7FFFH,DS段寄存器的內容應是什 么?解:因為A8000H到B7FFFH之間的地址范圍大小為64KB,未超出一個段的最 大范圍。故要訪問此地址范圍的數據,數據段的起始地址(即段首地址)應為 A8000H,貝U DS段寄存器為 A800H。2.19若CS=8000H,貝U當前代碼段可尋址的存儲空間的范圍是

14、多少? 解(CS) =8000H時,當前代碼段可尋址的存儲空間范圍為 80000H8FFFFH。2.20 8086/8088 CPU 在最小模式下構成計算機系統至少應包括哪幾個基本部分 (器件)?解:其至少應包括:8088CPU、8284時鐘發生器、8282鎖存器(3片)和8286 雙向總線驅動器。第 3 章 8088/8086 指令系統3.1什么叫尋址方式? 8086/8088CPU共有哪幾種尋址方式?解:尋址方式主要是指獲得操作數所在地址的方法.8086/8088CPU具有:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、寄存器相對尋址、基址一變址尋 址、基址一變址相對尋址以及隱含尋址等

15、8 種尋址方式。3.2 設(DS)=6000H, (ES)=2000H,( SS)=1500H, (Si) =00A0H, (BX)=0800H, (BP)=1200H,數據變量VAR為0050H.請分別指出下列各條指令源操作數的尋 址方式?它的物理地址是多少?(1) MOV AX,BX (2) MOV DL,80H(3) MOV AX, VAR (4) MOV AX,VARBXSI(5) MOV AL,'B' (6) MOV DI, ES: BX(7) MOV DX,BP (8) MOV BX , 20HBX 解:(1) 寄存器尋址。因源操作數是寄存器,故寄存器BX 就是操作

16、數的地址 .(2) 立即尋址。操作數 80H 存放于代碼段中指令碼 MOV 之后。(3) 直接尋址。(4) 基址一變址一相對尋址操作數的物理地址=(DS) X 16+ (SI) + (BX) + VAR=60000H + OOAOH + 0800H + 0050H= 608F0H(5) 立即尋址(6) 寄存器間接尋址 .操作數的物理地址 = (ES) X 16+(BX)= 20000H+ 0800H = 20800H(7) 寄存器間接尋址。操作數的物理地址 = (SS) X 16+(BP)= 15000H+1200H= 16200H(8) 寄存器相對尋址操作數的物理地址=(DS) X 16+

17、(BX) + 20H= 60000H+ 0800H+ 20H= 60820H3.3 假 設 (DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H, 位 移 量DATA=40H ,(217A0H) =2300H,(217E0H)=0400H,(217E2H) =9000H 試確定下列轉移指令的轉移地址 .(1) JMP 2300H(2) JMP WORD PTRBX(3) JMP DWORD PTRBX+DATA 解:轉移指令分為段內轉移和段間轉移, 根據其尋址方式的不同, 又有段內的直 接轉移和間接轉移,以及段間的直接轉移和間接轉移地址。 對直接轉移,

18、 其轉移地址為當前指令的偏 移地址(即 IP 的內容)加上位移量或由指令中直接得出;對間接轉移,轉移地 址等于指令中寄存器的內容或由寄存器內容所指向的存儲單元的內容。(1) 段內直接轉移。轉移的物理地址 =(CS) X l6 +2300H=02000H+2300H=04300H(2) 段內間接轉移。轉移的物理地址 = (CS) X 16+ BX= (CS) Xl6+(217A0H)=02000H+2300H=04300H(3) 段間間接轉移。轉移的物理地址 =BX+DATA=(217E2H) Xl6+(217E0H)=90000H+0400H=90400H3.4試說明指令 MOV BX,5BX

19、 與指令 LEA BX,5BX 的區別。解:前者是數據傳送類指令,表示將數據段中以(BX+5)為偏移地址的16位數據送寄存器 BX.后者是取偏移地址指令,執行的結果是(BX)= (BX) + 5,即操作數的偏移地址為 (BX)+5。3.5設堆棧指針SP的初值為2300H,(AX) = 50ABH ,(BX)=1234H。執行指令PUSH AX 后,(SP)=?,再執行指令 PUSH BX 及 POP AX 之后,(SP)= ? (AX ) = ? (BX) = ?解:堆棧指針SP總是指向棧頂,每執行一次 PUSH指令SP-2,執行一次POP 指令SP+2所以,執行PUSH AX指令后,(SP)

20、=22FEH;再執行PUSH BX及POP AX 后, (SP)=22FEH, (AX)=(BX)=1234H3.6 指出下列指令的錯誤:(1) MOV AH ,CX (2) MOV 33H ,AL(3) MOV AX, SIDI (4) MOV BX ,SI(5) ADD BYTE PTRBP,256 (6) MOV DATASI,ES:AX(7) JMP BYTE PTRBX (8) OUT 230H,AX(9) MOV DS,BP (10) MUL 39H解:(1) 指令錯。兩操作數字長不相等(2) 指令錯。 MOV 指令不允許目標操作數為立即數(3) 指令錯。在間接尋址中不允許兩個間址

21、寄存器同時為變址寄存器。(4) 指令錯。 MUV 指令不允許兩個操作數同時為存儲器操作數。(5) 指令錯。 ADD 指令要求兩操作數等字長。(6) 指令錯。源操作數形式錯,寄存器操作數不加段重設符。(7) 指令錯。轉移地址的字長至少應是 16 位的。(8) 指令錯。對輸人輸出指令,當端口地址超出8 位二進制數的表達范圍(即尋址的端口超出 256 個)時,必須采用間接尋址。(9) 指令正確。(10) 指令錯。 MUL 指令不允許操作數為立即數。3.7 已知(AL) =7BH, (BL) =38H,試問執行指令 ADD AL, BL 后,AF、CF、OF、PF、SF 和 ZF 的值各為多少?解:A

22、F=1 , CF=0, OF=1, PF=0, SF=I, ZF=03.8 試比較無條件轉移指令、條件轉移指令、調用指令和中斷指令有什么異同? 解:無條件轉移指令的操作是無條件地使程序轉移到指定的目標地址, 并從該地 址開始執行新的程序段, 其轉移的目標地址既可以是在當前邏輯段, 也可以是在 不同的邏輯段;條件轉移指令是在滿足一定條件下使程序轉移到指定的目標地址,其轉移范圍很小,在當前邏輯段的-128+127地址范圍內。調用指令是用于調用程序中常用到的功能子程序,是在程序設計中就設計好的。 根據所調用過程人口地址的位置可將調用指令分為段內調用 (入口地址在當前邏 輯段內)和段間調用。在執行調用

23、指令后, CPU要保護斷點。 對段內調用是將其下一條指令的偏移地址壓人堆棧, 對段間調用則 要保護其下一條指令的偏移地址和段基地址, 然后將子程序人口地址賦給IP (或 CS 和 IP).中斷指令是因一些突發事件而使CPU暫時中止它正在運行的程序,轉去執行一組 專門的中斷服務程序, 并在執行完后返回原被中止處繼續執行原程序。 它是隨機 的。在響應中斷后CPU不僅要保護斷點(即INT指令下一條指令的段地址和偏 移地址),還要將標志寄存器 FLAGS 壓入堆棧保存。3.9 試判斷下列程序執行后 ,BX 中的內容.MOV CL, 3MOV BX,0B7HROL BX,1ROR BX,CL解:該程序段

24、是首先將 BX 內容不帶進位循環左移 1 位,再循環右移 3位。即相當于將原 BX 內容不帶進位循環右移 2位,故結果為: (BX)=0C02DH 3.10按下列要求寫出相應的指令或程序段。(1) 寫出兩條使 AX 內容為 0的指令。(2) 使 BL 寄存器中的高 4位和低 4 位互換。(3) 屏蔽 CX 寄存器的 bll,b7 和 b3 位。 測試DX中的bO和b8位是否為1。解:(1)MOV AX,OXOR AX,AX ;AX 寄存器自身相異或,可使其內容清 O(2)MOV CL, 4ROL BL,CL ; 將 BL 內容循環左移 4位,可實現其高 4位和低 4 位 的互換(3)AND C

25、X,0F777H ;將CX寄存器中需屏蔽的位 與”0。也可用 或”指令實現(4)AND DX,0101H ;將需側試的位 “與”1,其余“與”0屏蔽掉CMP DX,0101 H ;與 0101H 比較JZ ONE ;若相等則表示b0和b8位同時為1 .3.11 分別指出以下兩個程序段的功能 :(1) (2)MOV CX,l0 CLDLEA SI,FIRST LEA DI, 1200HLEA DI, SECOND MOV CX,0FOOHSTD XOR AX,AXREP MOVSB REP STOSW解:(1) 該段程序的功能是:將數據段中FIRST為最高地址的10個字節數據按減地址 方向傳送到

26、附加段SECOND為最高地址的向前10個單元中。(2) 將附加段中偏移地址為 1200H 單元開始的 0FOOH 個字單元清 0。3.12 執行以下兩條指令后,標志寄存器 FLAGS 的六個狀態位各為什么狀態? MOV AX,84A0HADD AX,9460H解:執行 ADD 指令后, 6 個狀態標志位的狀態分別為:在兩個16位數進行加法運算時,對 CF、ZF、SF和OF會產生影響,但對PF和 AF 標志位,只有其低 8位的運算影響它們的狀態。 各標志位的狀態分別為: AF=0, PF=1, CF=1, ZF=0, SF=0, OF=1。3. 1 3將+46和-38分別乘以 2,可應用什么指令

27、來完成?如果除以 2呢? 解:因為對二進制數,每左移一位相當于乘以 2,右移一位相當于除以 2。所以, 將+46和-38分別乘以2,可分別用邏輯左移指令(SHL)和算術左移指令(SAL)完 成。 SHL 指令針對無符號數 ,SAL 指令針對有符號數。 當然,也可以分別用無符號數乘法指令 MUL 和有符號數乘法指令 IMUL 完成。 如果是除以2,則進行相反操作,即用邏輯右移指令SHR或無符號數除法指令DIV 實現+46除以2的運算,用算術右移指令SAR或有符號數除法指令IDIV實現-38 除以 2 的運算。3.14已知 AX=8060H,DX=03F8H,端口 P0RT1 的地址是 48H,內

28、容為 40H;PORT2 的地址是84H,內容為85H。請指出下列指令執行后的結果。(1) OUT DX, AL(2) IN AL,PORT1(3) OUT DX,AX(4) IN AX,48H(5) OUT PORT2,AX解:將60H輸出到地址為03F8H的端口中。(2) 從 PORT1 讀入一個字節數據,執行結果: (AL)=40H 。 將 AX=8060H輸出到地址為03F8H的端口中。(4) 由 48H 端口讀人 16 位二進制數。將8060H輸出到地址為84H的端口中。第 4 章匯編語言程序設計4.1請分別用DB、DW、DD偽指令寫出在DATA開始的連續8個單元中依次 存放數據 1

29、1H 、 22H 、 33H 、 44H 、 55H 、 66H 、 77H 、 88H 的數據定義語 句.解:DB,DW,DD偽指令分別表示定義的數據為字節類型、字類型及雙字型.其定義形式為 :DATA DB 11H,22H,33H,44H,55H,66H,77H,88HDATA DW 2211H,4433H,6655H,8877HDATA DD 44332211H,88776655H4.2若程序的數據段定義如下 ,寫出各指令語句獨立執行后的結果 :DSEG SEGMENTDATA1 DB 10H,20H,30HDATA2 DW 10 DUP(?) STRING DB 123'DSE

30、G ENDS(1) MOV AL,DATA1(2) MOV BX,OFFSET DATA2(3) LEA SI,STRINGADD DI,SI解:取變量 DATA1 的值. 指令執行后 ,(AL)=10H.變量 DATA2 的偏移地址 . 指令執行后 ,(BX)=0003H.(3) 先取變量STRING的偏移地址送寄存器SI,之后送SI的內容與DI的內容相加 并將結果送 DI.指令執行后,(SI)=0017H;(DI)=(DI)+0017H.4.3 試編寫求兩個無符號雙子長數之和的程序 . 兩數分別在 MEM1 和 MEM2 單 元中 ,和放在 SUM 單元.解:DSEG SEGMENTMEM

31、1 DW 1122H,3344HMEM2 DW 5566H,7788HSUM DW 2 DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEGMOV DS,AXLEA BX,MEM1LEA SI,MEM2LEA DI,SUMMOV CL,2CLCAGAIN: MOV AX,BXADC AX,SIMOV DI,AXADD BX,2ADD SI,2ADD DI,2LOOP AGAINHLTCSEG ENDSEND START4.4試編寫程序,測試AL寄存器的第4位(bit4)是否為0?解:測試寄存器AL中某一位是否為0

32、,可使用TEST指令、AND指令、移位指令 等幾種方法實現。女口: TEST AL,10HJZ NEXTNEXT:-或者: MOV CL , 4SHL AL , CLJNC NEXTNEXT:4.7 執行下列指令后, AX 寄存器的內容是多少?TABLE DW 10, 20, 30, 40, 50 ENTRY DW 3MOV BX , OFFSET TABLEADD BX , ENTRYMOV AX ,BX解:( AX) =1E00H4.12 畫圖說明下列語句分配的存儲空間及初始化的數據值。(1)DATA1 DB BYTE',12,12H,2 DUP(0,?, 3)(2)DATA2 D

33、W 4 DUP (0,1,2),?, -5,256H解:(1)存儲空間分配情況如圖(a)所示。(2)存儲空間分配情況如圖(b)所示第 5 章存儲器系統5.1 內部存儲器主要分為哪兩類 ? 它們的主要區別是什么 ?解 : ( 1)分為 ROM 和 RAM 。( 2)它們之間的主要區別是:ROM在正常工作時只能讀出,不能寫入。RAM則可讀可寫。斷電后,ROM中的內容不會丟失,RAM中的內容會丟失。5.6 若采用 6264芯片構成上述的內存空間,需要多少片 6264芯片?解:每個6264芯片的容量位8KB,故需432/8 = 54片。5.7設某微型機的內存RAM區的容量位128KB,若用2164芯片

34、構成這樣的存 儲器,需多少 2164芯片?至少需多少根地址線?其中多少根用于片內尋址?多 少根用于片選譯碼?解:(1) 每個2164芯片的容量為64KX 1bit,共需128/64 X 8= 16片。(2) 128KB容量需要地址線17根。( 3) 16 根用于片內尋址。( 4) 1 根用于片選譯碼。注意,用于片內尋址的 16根地址線要通過二選一多路器連到 2164芯片,因為 2164芯片是DRAM,高位地址與低位地址是分時傳送的。5.9 甚什么是字擴展?什么是位擴展?用戶自己購買內存條進行內存擴充, 是在 進行何種存儲器擴展?解:(1) 當存儲芯片的容量小于所需內存容量時,需要用多個芯片構成

35、滿足容量要 求的存儲器,這就是字擴展。(2) 當存儲芯片每個單元的字長小于所需內存單元字長時,需要用多個芯片構 成滿足字長要求的存儲模塊,這就是位擴展。(3) 用戶在市場上購買內存條進行內存擴充,所做的是字擴展的工作。5.10 74LS138譯碼器的接線圖如教材第245頁的圖5-47所示,試判斷其輸出端 Y0#、Y3#、Y5#和Y7井所決定的內存地址范圍。解:因為是部分地址譯碼(A17不參加譯碼),故每個譯碼輸出對應 2個地址范 圍:Y0#: 00000H O1FFFH 和 20000H 21FFFHY3#: 06000H 07FFFH 和 26000H 27FFFHY5#: 0A000H 0

36、BFFFH和 2A000H 2BFFFHY7#: 0E000H 0FFFFH和 2E000H 2FFFFH5.11 某 8088系統用 2764 ROM 芯片和 6264 SRAM 芯片構成 16KB 的內存。其 中,ROM的地址范圍為 0FE000HOFFFFFH, RAM的地址范圍為 OFOOOOHOF仆FFH。試利用74LS138譯碼,畫出存儲器與CPU的連接圖,并標出總線信 號名稱。解:連接如下圖所示。5.12 敘述 EPROM 的編程過程,并說明 EPROM 和 EEPROM 的不同點。(不要 求)解:(1) 對EPROM芯片的編程過程詳見教材第 215217頁。(2) EPROM與

37、 EEPROM的不同之處為:。EPROM用紫外線擦除,EEPROM用電擦除。EPROM是整片擦除,EEPROM可以整片擦除,也可以逐個字節地擦除。5.13試說明FLASH EEPROM芯片的特點及28F040的編程過程。(不要求) 解:(1) 特點是:它結合了 RAM和ROM的優點,讀寫速度接近于 RAM,斷電后信 息又不會丟失。(2) 28F040的編程過程詳見教材第 222223頁。第 6 章輸入輸出和中斷技術O6.3 主機與外部設備進行數據傳送時, 采用哪一種傳送方式, CPU 的效率最高?(不要求)解:使用 DMA 傳送方式 CPU 的效率最高。這是由 DMA 的工作性質所決定的。6.

38、5某輸入接口的地址為 0E54H,輸出接口的地址為 01FBH,分別利用74LS244 和74LS273作為輸入和輸出接口。試編寫程序,使當輸入接口的bit1、bit4和bit7 位同時為1時,CPU將內存中DATA為首址的20個單元的數據從輸出接口輸出; 若不滿足上述條件則等待。解:首先判斷由輸入接口讀入數據的狀態, 若滿足條件, 則通過輸出接口輸出一 個單元的數據;之后再判斷狀態是否滿足,直到 20 個單元的數據都從輸出接口 輸出。LEA SI,DATA ; 取數據偏移地址MOV CL,20 ;數據長度送 CLAGAIN: MOV DX,0E54HWAITT: IN AL,DX ; 讀入狀

39、態值AND AL,92H ; 屏蔽掉不相關位,僅保留 bit1 、 bit4 和 bit7 位狀態CMP AL,92H ;判斷bit1、bit4和bit7位是否全為1JNZ WAITT ; 不滿足 bit1 、 bit4 和 bit7 位同時為 1 則等待MOV DX,01FBHMOV AL,SIOUT DX,AL ; 滿足條件則輸出一個單元數據INC SI ;修改地址指針LOOP AGAIN ; 若 20個單元數據未傳送完則循環6.14 單片 8259A 能夠管理多少級可屏蔽中斷?若用 3 片級聯能管理多少級可屏 蔽中斷?(不要求)解:因為 8259A 有 8 位可屏蔽中斷請求輸入端,故單片

40、 8259A 能夠管理 8 級可 屏蔽中斷。若用 3 片級聯,即 1 片用作主控芯片,兩片作為從屬芯片,每一片從 屬芯片可管理 8 級,則 3 片級聯共可管理 22 級可屏蔽中斷。6.17 已知(SP)= 0100H,(SS)= 3500H,(CS)= 9000H,(IP)= 0200H, (00020H)= 7FH,(00021H)= 1AH ,(00022H) = 07H,(00023H)= 6CH, 在地址為 90200H 開始的連續兩個單元中存放一條兩字節指令 INT 8。試指出在執行該指令并進入相應的中斷例程時, SP、SS、IP、CS 寄 存器的內容以及SP所指向的字單元的內容是什

41、么?解:CPU在響應中斷請求時首先要進行斷點保護, 即要依次將FLAGS和INT下 一條指令的CS、IP寄存器內容壓入堆棧,亦即棧頂指針減6,而SS的內容不變。INT 8指令是一條兩字節指令,故其下一條指令的 IP = 0200H+ 2= 0202H。 中斷服務子程序的入口地址則存放在中斷向量表(8X4)所指向的連續4個單元中。所以,在執行中斷指令并進入響應的中斷例程時, 以上各寄存器的內容分別 為:SP= 0100H6= 00FAHSS= 3500HIP=8X4=1A7FHCS=(8X4)2=6C07HSP= 0200H2= 0202H第 7 章常用數字接口電路7.10某8255芯片的地址范圍為 A380HA383H,工作于方式0, A 口、B 口為 輸出口,現欲將PC4置0” PC7置f”,試編寫初始化程序。解:該8255芯片的初始化程序包括置方式控制字及 C 口的按位操作控制字。程 序如下:MOV DX , 0A383H ;內部控制寄存器地址送 DXMOV AL , 80H ;方式控制字OUT DX, ALMOV AL , 08H ; PC4 置 0OUT DX, ALMO

溫馨提示

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

評論

0/150

提交評論