1、微型計(jì)算機(jī)原理與接口技術(shù)馮博琴主編課后答案34128_第1頁
1、微型計(jì)算機(jī)原理與接口技術(shù)馮博琴主編課后答案34128_第2頁
1、微型計(jì)算機(jī)原理與接口技術(shù)馮博琴主編課后答案34128_第3頁
1、微型計(jì)算機(jī)原理與接口技術(shù)馮博琴主編課后答案34128_第4頁
1、微型計(jì)算機(jī)原理與接口技術(shù)馮博琴主編課后答案34128_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)應(yīng)用基礎(chǔ) A 第 1章 基礎(chǔ)知識(shí)部分計(jì)算機(jī)中常用地計(jì)數(shù)制有哪些? 解:二進(jìn)制、八進(jìn)制、十進(jìn)制 BCD )、十六進(jìn)制 .什么是機(jī)器碼?什么是真值? 解:把符號(hào)數(shù)值化地?cái)?shù)碼稱為機(jī)器數(shù)或機(jī)器碼 , 原來地?cái)?shù)值叫做機(jī)器數(shù)地真值完成下列數(shù)制地轉(zhuǎn)換 . 微型計(jì)算機(jī)地基本工作原理 匯編語言程序設(shè)計(jì) 微型計(jì)算機(jī)接口技術(shù) 建立微型計(jì)算機(jī)系統(tǒng)地整體概念 , 形成微機(jī)系統(tǒng)軟硬件開發(fā)地初步能力 . 解:1)166, A6H 2)0.75 5B.AH, (10010001.1BCD8位和 16位二進(jìn)制數(shù)地原碼、補(bǔ)碼和反碼可表示地?cái)?shù)地范圍分別是多少? 解:原碼-127+127)、 -32767+32767) 補(bǔ)碼(

2、-128+127)、 -32768+32767) 反碼-127+127)、 -32767+32767)寫出下列真值對(duì)應(yīng)地原碼和補(bǔ)碼地形式 . 1)X= -1110011B2)X= -71D3)X= +1001001B 解:1)原碼: 11110011 補(bǔ)碼: 100011012)原碼: 11000111 補(bǔ)碼: 101110013)原碼: 01001001 補(bǔ)碼: 01001001寫出符號(hào)數(shù)10110101B地反碼和補(bǔ)碼 . 解: 11001010, 11001011已知X和Y地真值,求X+Y 地補(bǔ)碼. 1)X=-1110111B Y=+1011010B 2)X=56D Y= -21D 解:1

3、)11100011 4EH+10110101B) x0.0101)BCD=)D 2)4EH-24/08H+B/2)=)B 解:1)129.5D 2)101010B 第2章微型計(jì)算機(jī)基礎(chǔ)2.6 簡(jiǎn)述CPU執(zhí)行程序地過程 . 解:當(dāng)程序地第一條指令所在地地址送入程序計(jì)數(shù)器后 , CPU就進(jìn)入取指階段準(zhǔn) 備取第一條指令 . 在取指階段 , CPU從內(nèi)存中讀出指令 , 并把指令送至指令寄存器 IR暫存. 在取指階段結(jié)束后 , 機(jī)器就進(jìn)入執(zhí)行階段 , 這時(shí), 由指令譯碼器對(duì)指令譯 碼, 再經(jīng)控制器發(fā)出相應(yīng)地控制信號(hào) , 控制各部件執(zhí)行指令所規(guī)定地具體操作 . 當(dāng) 一條指令執(zhí)行完畢以后 ,就轉(zhuǎn)入了下一條指

4、令地取指階段 . 以上步驟周而復(fù)始地 循環(huán), 直到遇到停機(jī)指令 .2.7說明8086地EU和BIU地主要功能 . 在執(zhí)行程序過程中他們是如何相互配合工 作地? 解:執(zhí)行單元 EU負(fù)責(zé)執(zhí)行指令 . EU在工作時(shí)不斷地從指令隊(duì)列取出指令代碼,對(duì)其譯碼后產(chǎn)生完成指令所需要地控制信息 .數(shù)據(jù)在 ALU 中進(jìn)行運(yùn)算 ,運(yùn)算結(jié)果 地特征保留在標(biāo)志寄存器 FLAGS中. 總線接口單元 BIU負(fù)責(zé)CPU與存儲(chǔ)器、 I/O 接口之間地信息傳送 . BIU取出地指令被送入指令隊(duì)列供 EU執(zhí)行, BIU取出地?cái)?shù) 據(jù)被送入相關(guān)寄存器中以便做進(jìn)一步地處理 .當(dāng)EU從指令隊(duì)列中取走指令 , 指令隊(duì)列出現(xiàn)空字節(jié)時(shí) , BI

5、U就自動(dòng)執(zhí)行一次取指令周期 , 從內(nèi)存中取出后續(xù)地指令代碼 放入隊(duì)列中 . 當(dāng)EU需要數(shù)據(jù)時(shí) , BIU根據(jù)EU給出地地址 , 從指定地內(nèi)存單元或外 設(shè)中取出數(shù)據(jù)供 EU使用. 當(dāng)運(yùn)算結(jié)束時(shí) , BIU將運(yùn)算結(jié)果送入指定地內(nèi)存單元或 寄存器 . 當(dāng)指令隊(duì)列空時(shí) , EU就等待 , 直到有指令為止 . 若BIU正在取指令 , EU發(fā) 出訪問總線地請(qǐng)求 , 則必須等 BIU取指令完畢后 , 該請(qǐng)求才能得到響應(yīng) .一般情況 下,程序順序執(zhí)行 , 當(dāng)遇到跳轉(zhuǎn)指令時(shí) , BIU就使指令 隊(duì)列復(fù)位 ,從新地址取出指令 ,并立即傳送 EU去執(zhí)行.指令隊(duì)列地存在使 8086/8088地EU和BIU并行工作 ,

6、 從而減少了 CPU為取指令而 等待地時(shí)間 , 提高了CPU地利用率 , 加快了整機(jī)地運(yùn)行速度 . 另外也降低了對(duì)存儲(chǔ) 器存取速度地要求 .在執(zhí)行指令期間 ,BIU能直接訪問存儲(chǔ)器嗎 ?為什么 ?解:可以 .由于EU和BIU可以并行工作 ,EU需要地指令可以從指令隊(duì)列中獲得 ,這時(shí) BIU預(yù)先從存儲(chǔ)器中取出并放入指令隊(duì)列地 . 在EU執(zhí)行指令地同時(shí) ,BIU可以訪 問存儲(chǔ)器取下一條指令或指令執(zhí)行時(shí)需要地?cái)?shù)據(jù) .8086與8088CPU地主要區(qū)別有哪些? 解:主要區(qū)別有以下幾點(diǎn): 8086地外部數(shù)據(jù)總線有 16位, 而8088地外部數(shù)據(jù)總線只有 8位. 8086指令隊(duì)列深度為 6個(gè)字節(jié) ,而80

7、88地指令隊(duì)列深度為 4個(gè)字節(jié) .由于 8086地外部數(shù)據(jù)總線有 16位 ,故 8086每個(gè)總線周期可以存取兩個(gè)字節(jié) .而 8088地外部數(shù)據(jù)總線由于只有 8位,所以每個(gè)總線周期只能存取 1個(gè)字節(jié) . 個(gè)別引腳信號(hào)地含義稍有不同 .8088CPU工作在最小模式下 : 1)當(dāng) CPU訪問存儲(chǔ)器時(shí) ,要利用哪些信號(hào) ? 2)當(dāng)CPU進(jìn)行I/O操作時(shí) ,要利用哪些信號(hào) ?3)當(dāng)HOLD 有效并得到響應(yīng)時(shí) ,CPU地哪些信號(hào)置高阻 ? 解:1)要利用信號(hào)線包括 WR#、RD#、IO/M#、ALE以及AD0AD7 、A8A19 . 2)同1).3)所有三態(tài)輸出地地址信號(hào)、數(shù)據(jù)信號(hào)和控制信號(hào)均置為高阻態(tài)

8、.總線周期中 ,什么情況下要插入 TW 等待周期?插入 TW周期地個(gè)數(shù) ,取決于 什么因素?解:在每個(gè)總線周期地 T3地開始處若 READY為低電平 ,則CPU在T3后插入一個(gè) 等待周期 TW.在TW地開始時(shí)刻 , CPU還要檢查 READY狀態(tài),若仍為低電平 ,則再 插入一個(gè) TW .此過程一直進(jìn)行到某個(gè) TW開始時(shí), READY已經(jīng)變?yōu)楦唠娖?, 這時(shí) 下一個(gè)時(shí)鐘周期才轉(zhuǎn)入 T4.可以看出 ,插入TW周期地個(gè)數(shù)取決于 READY 電平維持地時(shí)間 .若8088工作在單CPU方式下,在教材第 91頁地表中填入不同操作時(shí)各控制信 號(hào)地狀態(tài) .解:結(jié)果如表所示 .在8086/8088 CPU中,

9、標(biāo)志寄存器包含哪些標(biāo)志位?各位為 0為1)分別表示 什么含義?解: 略) , 見書第49頁.8086/8088 CPU中, 有哪些通用寄存器和專用寄存器?說明它們地作用 . 解:通用寄存器包含以下 8個(gè)寄存器:AX 、 BX 、 CX和DX寄存器一般用于存放參與運(yùn)算地?cái)?shù)據(jù)或運(yùn)算地結(jié)果. 除此之外:AX :主要存放算術(shù)邏輯運(yùn)算中地操作數(shù) ,以及存放I/O操作地?cái)?shù)據(jù) .BX :存放訪問內(nèi)存時(shí)地基地址 .CX :在循環(huán)和串操作指令中用作計(jì)數(shù)器 .DX:在寄存器間接尋址地 I/O指令中存放 I/O地址. 在做雙字長(zhǎng)乘除法運(yùn)算時(shí) , DX 與AX 合起來存放一個(gè)雙字長(zhǎng)數(shù) .SP:存放棧頂偏移地址 . B

10、P:存放訪問內(nèi)存時(shí)地基地址 .SP和BP也可以存放數(shù)據(jù) , 但它們地默認(rèn)段寄存器都是 SS. SI:常在變址尋址方式中作為源地址指針 .DI :常在變址尋址方式中作為目標(biāo)地址指針 . 專用寄存器包括 4個(gè)段寄存器和兩個(gè)控制寄存器: CS:代碼段寄存器 , 用于存放代碼段地段基地址 . DS:數(shù)據(jù)段寄存器 , 用于存放數(shù)據(jù)段地段基地址 . SS:堆棧段寄存器 , 用于存放堆棧段地段基地址 . ES:附加段寄存器 , 用于存放附加段地段基地址 . IP:指令指針寄存器 , 用于存放下一條要執(zhí)行指令地偏移地址 . FLAGS:標(biāo)志寄存器 , 用于存放運(yùn)算結(jié)果地特征 .8086/8088 系統(tǒng)中, 存

11、儲(chǔ)器為什么要分段?一個(gè)段最大為多少個(gè)字節(jié)?最小 為多少個(gè)字節(jié)? 解:分段地主要目地是便于存儲(chǔ)器地管理 ,使得可以用 16位寄存器來尋址 20位地 內(nèi)存空間 .一個(gè)段最大為 64KB, 最小為16B.在8086/8088 CPU中, 物理地址和邏輯地址是指什么?已知邏輯地址為1F00:38A0H, 如何計(jì)算出其對(duì)應(yīng)地物理地址? 解:物理地址時(shí) CPU存取存儲(chǔ)器所用地地址 . 邏輯地址是段和偏移地址形式地地 址, 即匯編語言程序中使用地存儲(chǔ)器地址 .若 已 知 邏 輯 地 址 為 1F00 : 38A0H, 則 對(duì) 應(yīng) 地 物 理 地 址 =1F00H x 16+38A0H=228A0H .已知存

12、儲(chǔ)器物理地址為 78A00H, 計(jì)算出它所對(duì)應(yīng)地邏輯地址 . 此結(jié)果惟一 嗎?解:物理地址可以對(duì)應(yīng)于不同地邏輯地址. 78A00H對(duì)應(yīng)地邏輯地址可以是7000H:8A00H, 7800H: 0A00H, 78A0H:0000H等. 結(jié)果不是惟一地 .設(shè)當(dāng)前數(shù)據(jù)段位于存儲(chǔ)器地 A8000HB7FFFH , DS段寄存器地內(nèi)容應(yīng)是什 么?解:由于 A8000H到B7FFFH之間地地址范圍大小為 64KB, 未超出一個(gè)段地最大 范圍 . 故要訪問此地址范圍地?cái)?shù)據(jù) , 數(shù)據(jù)段地起始地址 即段首地址)應(yīng)為 A8000H, 則DS段寄存器為 A800H.若CS=8000H, 則當(dāng)前代碼段可尋址地存儲(chǔ)空間地

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

14、8種尋址方式 .3.2 設(shè)=6000H,=2000H,=1500H, Si)=00A0H,=0800H , (BP=1200H, 數(shù)據(jù)變量 VAR為0050H. 請(qǐng)分別指出下列各 條指令源操作數(shù)地尋址方式?它地物理地址是多少?(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寄存器尋址 .因源操作數(shù)是寄存器 , 故寄存器 BX就是操作數(shù)地地址 .(2立即尋址 . 操作數(shù)80H存放于代碼段中指令碼 MOV之

15、后.(3)直接尋址 . 16(SI(BX VAR= 60000H00A0H 0800H0050H608F0H(5立即尋址(6寄存器間接尋址 .操作數(shù)地物理地址 = (ES 16(BX= 20000H 0800H = 20800H(7寄存器間接尋址 .操作數(shù)地物理地址 = (SS 16(BP= 15000H 1200H= 16200H(8寄存器相對(duì)尋址操作數(shù)地物理地址 (DS 16(BX 20H= 60000H0800H20H= 60820H3.3 假 設(shè) (DS= 212AH,(CS= 0200H,(IP= 1200H,(BX= 0500H, 位 移 量DATA=40H , (217A0H =

16、2300H, (217E0H=0400H, (217E2H =9000H試確定下列轉(zhuǎn)移指令地轉(zhuǎn)移地址 .(1 JMP 2300H(2 JMP WORD PTRBX, 又有段內(nèi)地直(3 JMP DWORD PTRBX+DATA 解:轉(zhuǎn)移指令分為段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移 , 根據(jù)其尋址方式地不同 接轉(zhuǎn)移和間接轉(zhuǎn)移 ,以及段間地直接轉(zhuǎn)移和間接轉(zhuǎn)移地址 . 對(duì)直接轉(zhuǎn)移 , 其轉(zhuǎn)移地址為當(dāng)前指令地偏 移地址 段內(nèi)直接轉(zhuǎn)移 . 轉(zhuǎn)移地物理地址 =(CS l6 +2300H =02000H+2300H=04300H(2段內(nèi)間接轉(zhuǎn)移 . 轉(zhuǎn)移地物理地址 = (CS 16+ BX= (CS l6+(217A0H=02

17、000H+2300H=04300H(3段間間接轉(zhuǎn)移 . 轉(zhuǎn)移地物理地址 =BX+DATA=(217E2H l6+(217E0H=90000H+0400H=90400H3.4試說明指令 MOV BX,5BX 與指令LEA BX,5BX 地區(qū)別. 解:前者是數(shù)據(jù)傳送類指令 , 表示將數(shù)據(jù)段中以 (BX+5為偏移地址地 16位數(shù)據(jù) 送寄存器 BX.后者是取偏移地址指令 ,執(zhí)行地結(jié)果是 (BX)= (BX 5,即操作數(shù)地偏移地址為 (BX+5 .3.5設(shè)堆棧指針 SP地初值為 2300H, (AX 50ABH , (BX=1234H . 執(zhí)行指令 PUSH AX后, (SP?,再執(zhí)行指令 PUSH B

18、X及POP AX之后, (SP= ?(AX)= ?(BX ?解:堆棧指針 SP總是指向棧頂 , 每執(zhí)行一次 PUSH指令 SP-2,執(zhí)行一次 POP指令 SP+2.所以,執(zhí)行PUSH AX指令后 , (SP=22FEH。再執(zhí)行 PUSH BX及POP AX 后, (SP=22FEH, (AX=(BX=1234H指出下列指令地錯(cuò)誤:(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

19、MOV DS,BP (10 MUL 39H解:(1指令錯(cuò). 兩操作數(shù)字長(zhǎng)不相等(2指令錯(cuò) . MOV 指令不允許目標(biāo)操作數(shù)為立即數(shù)(3 指令錯(cuò). 在間接尋址中不允許兩個(gè)間址寄存器同時(shí)為變址寄存器 .(4指令錯(cuò). MUV指令不允許兩個(gè)操作數(shù)同時(shí)為存儲(chǔ)器操作數(shù) .(5指令錯(cuò). ADD指令要求兩操作數(shù)等字長(zhǎng) .(6指令錯(cuò). 源操作數(shù)形式錯(cuò) , 寄存器操作數(shù)不加段重設(shè)符 .(7指令錯(cuò). 轉(zhuǎn)移地址地字長(zhǎng)至少應(yīng)是 16位地.(8指令錯(cuò). 對(duì)輸人輸出指令 , 當(dāng)端口地址超出 8位二進(jìn)制數(shù)地表達(dá)范圍 指令正確.(10指令錯(cuò). MUL 指令不允許操作數(shù)為立即數(shù) .已知 (AL =7BH, (BL =38H,試問

20、執(zhí)行指令 ADD AL, BL后,AF、CF、OF、 PF、SF和ZF地值各為多少?解: AF=1, CF=0, OF=1, PF=0, SF=l, ZF=0試比較無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、調(diào)用指令和中斷指令有什么異同? 解:無條件轉(zhuǎn)移指令地操作是無條件地使程序轉(zhuǎn)移到指定地目標(biāo)地址 , 并從該地 址開始執(zhí)行新地程序段 ,其轉(zhuǎn)移地目標(biāo)地址既可以是在當(dāng)前邏輯段 , 也可以是在 不同地邏輯段;條件轉(zhuǎn)移指令是在滿足一定條件下使程序轉(zhuǎn)移到指定地目標(biāo)地 址,其轉(zhuǎn)移范圍很小 ,在當(dāng)前邏輯段地 -128+127地址范圍內(nèi) . 調(diào)用指令是用于調(diào)用程序中常用到地功能子程序 , 是在程序設(shè)計(jì)中就設(shè)計(jì)好地 . 根

21、據(jù)所調(diào)用過程人口地址地位置可將調(diào)用指令分為段內(nèi)調(diào)用 入口地址在當(dāng)前邏 輯段內(nèi))和段間調(diào)用 . 在執(zhí)行調(diào)用指令后 , CPU要保護(hù)斷點(diǎn) .對(duì)段內(nèi)調(diào)用是將其下一條指令地偏移地址壓人堆棧 ,對(duì)段間調(diào)用則要 保護(hù)其下一條指令地偏移地址和段基地址 ,然后將子程序人口地址賦給 IP或 CS 和IP)中斷指令是因一些突發(fā)事件而使 CPU暫時(shí)中止它正在運(yùn)行地程序 ,轉(zhuǎn)去執(zhí)行一組 專門地中斷服務(wù)程序 , 并在執(zhí)行完后返回原被中止處繼續(xù)執(zhí)行原程序 .它是隨機(jī) 地. 在響應(yīng)中斷后 CPU不僅要保護(hù)斷點(diǎn) 即INT指令下一條指令地段地址和偏移 地址) , 還要將標(biāo)志寄存器 FLAGS 壓入堆棧保存 .試判斷下列程序執(zhí)行

22、后 ,BX中地內(nèi)容MOV CL, 3MOV BX,0B7HROL BX,1ROR BX,CL解:該程序段是首先將 BX內(nèi)容不帶進(jìn)位循環(huán)左移 1位, 再循環(huán)右移 3位. 即相當(dāng)于 將原BX內(nèi)容不帶進(jìn)位循環(huán)右移 2位,故結(jié)果為: (BX=0C02DH 3.10按下列要求寫出相應(yīng)地指令或程序段 .(1寫出兩條使 AX內(nèi)容為 0地指令.(2使BL寄存器中地高 4位和低 4位互換 .(3屏蔽CX寄存器地 bll,b7和b3位.(4考試DX中地b0和b8位是否為 1.解:(1MOV AX,0XOR AX,AX 。AX寄存器自身相異或 ,可使其內(nèi)容清 0(2MOV CL, 4ROL BL,CL 。將BL內(nèi)容

23、循環(huán)左移 4位,可實(shí)現(xiàn)其高 4位和低4位地互換(3AND CX,0F777H ;將CX寄存器中需屏蔽地位 “與”0. 也可用 “或”指令實(shí)現(xiàn)(4AND DX,0101H ;將需側(cè)試地位 “與”1, 其余“與”0屏蔽掉CMP DX,0101 H ;與 0101H比較JZ ONE ;若相等則表示 b0和b8位同時(shí)為 13.11 分別指出以下兩個(gè)程序段地功能 :(1 (2MOV CX,l0 CLDLEA SI,FIRST LEA DI, 1200HLEA DI, SECOND MOV CX,0FOOHSTD XOR AX,AXREP MOVSB REP STOSW解:(1該段程序地功能是:將數(shù)據(jù)段中

24、 FIRST為最高地址地 10個(gè)字節(jié)數(shù)據(jù)按減地址 方向傳送到附加段 SECOND為最高地址地向前 10個(gè)單元中 . (2將附加段中偏移地址為 1200H單元開始地 0FOOH個(gè)字單元清 0.3.12 執(zhí)行以下兩條指令后 ,標(biāo)志寄存器 FLAGS地六個(gè)狀態(tài)位各為什么狀態(tài)?MOV AX,84A0HADD AX,9460H解:執(zhí)行 ADD指令后, 6個(gè)狀態(tài)標(biāo)志位地狀態(tài)分別為: 在兩個(gè)16位數(shù)進(jìn)行加法運(yùn)算時(shí) , 對(duì)CF、 ZF、SF和OF會(huì)產(chǎn)生影響 ,但對(duì)PF和AF標(biāo) 志 位,只有 其 低 8位 地運(yùn) 算 影 響它 們 地 狀態(tài) . 各標(biāo) 志 位地 狀態(tài) 分別 為 : AF=0, PF=1, CF=1

25、, ZF=0, SF=0, OF=1.3.13將+46和-38分別乘以 2,可應(yīng)用什么指令來完成?如果除以 2呢? 解:由于對(duì)二進(jìn)制數(shù) , 每左移一位相當(dāng)于乘以 2,右移一位相當(dāng)于除以 2. 所以, 將 +46和-38分別乘以 2, 可分別用邏輯左移指令 (SHL和算術(shù)左移指令 (SAL 完 成. SHL指令針對(duì)無符號(hào)數(shù) ,SAL指令針對(duì)有符號(hào)數(shù) .當(dāng)然, 也可以分別用無符號(hào)數(shù)乘法指令 MUL和有符號(hào)數(shù)乘法指令 IMUL 完成. 如果是除以 2,則進(jìn)行相反操作 , 即用邏輯右移指令 SHR或無符號(hào)數(shù)除法指令 DIV 實(shí)現(xiàn)+46除以2地運(yùn)算 , 用算術(shù)右移指令 SAR或有符號(hào)數(shù)除法指令 IDIV

26、 實(shí)現(xiàn)-38除 以2地運(yùn)算.3.14已知AX=8060H,DX=03F8H , 端口PORT1地地址是 48H, 內(nèi)容為 40H; PORT2 地地址是 84H,內(nèi)容為 85H.請(qǐng)指出下列指令執(zhí)行后地結(jié)果 .(1OUT DX, AL(2 IN AL,PORT1(3 OUT DX,AX(4 IN AX,48H(5 OUT PORT2,AX解:(1將60H輸出到地址為 03F8H地端口中 .(2 從PORT1讀入一個(gè)字節(jié)數(shù)據(jù) , 執(zhí)行結(jié)果: (AL=40H .(3 將AX=8060H輸出到地址為 03F8H地端口中 .(4由48H端口讀人 16位二進(jìn)制數(shù) .(5將8060H輸出到地址為 84H地端

27、口中 .第4章匯編語言程序設(shè)計(jì)4.1請(qǐng)分別用 DB 、 DW 、DD偽指令寫出在 DATA 開始地連續(xù) 8個(gè)單元中依次存放 數(shù)據(jù)11H 、22H 、33H 、44H 、55H 、66H 、77H 、88H地?cái)?shù)據(jù)定義語句 .解 :DB,DW,DD 偽指令分別表示定義地?cái)?shù)據(jù)為字節(jié)類型、字類型及雙字型 .其定義 形式為:DATA DB 11H,22H,33H,44H,55H,66H,77H,88HDATA DW 2211H,4433H,6655H,8877HDATA DD 44332211H,88776655H4.2若程序地?cái)?shù)據(jù)段定義如下 ,寫出各指令語句獨(dú)立執(zhí)行后地結(jié)果 :DSEG SEGMENT

28、DATA1 DB 10H,20H,30HDATA2 DW 10 DUP(?STRING DB 123DSEG ENDS(1 MOV AL,DATA1(2 MOV BX,OFFSET DATA2(3 LEA SI,STRING ADD DI,SI解: 取變量DATA1地值. 指令執(zhí)行后 ,(AL=10H. 變量DATA2地偏移地址 . 指令執(zhí)行后 ,(BX=0003H. (3先取變量STRING地偏移地址送寄存器 SI,之后送SI地內(nèi)容與 DI地內(nèi)容相加并 將結(jié)果送 DI.指令執(zhí)行后 ,(SI=0017H。(DI=(DI+0017H.4.3 試編寫求兩個(gè)無符號(hào)雙子長(zhǎng)數(shù)之和地程序 . 兩數(shù)分別在

29、MEM1 和MEM2 單元 中,和放在 SUM單元.解:DSEG SEGMENTMEM1 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試編寫

30、程序 ,考試AL 寄存器地第 4位(bit4是否為 0?解: 考試寄存器 AL中某一位是否為 0,可使用 TEST指令、 AND 指令、移位指令等 幾種方法實(shí)現(xiàn) .如: TEST AL, 10HJZ NEXTNEXT :或者: MOV CL , 4SHL AL ,CLJNC NEXTNEXT:4.5 試編寫程序 , 將BUFFER中地一個(gè) 8位二進(jìn)制數(shù)轉(zhuǎn)換為 ASCII碼, 并按位數(shù)高低 順序存放在 ANSWER 開始地內(nèi)存單元中 .解:DSEG SEGMENT BUFFER DB ? ANSWER DB 3 DUP ?)DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,

31、 DS:DSEGSTART:MOV AX ,DSEGMOV DS, AXMOV CX,3 ;最多不超過 3為十進(jìn)制數(shù) 255)LEA DI , ANSWER ;DI指向結(jié)果存放單元XOR AX , AXMOV AL , BUFFER ;取要轉(zhuǎn)換地二進(jìn)制數(shù)MOV BL , 0AH ;基數(shù) 10AGAIN :DIV BL ;用除 10取余地方法轉(zhuǎn)換ADD AH , 30H ;十進(jìn)制數(shù)轉(zhuǎn)換成 ASCII 碼 MOV DI ,AH ;保存當(dāng)前地結(jié)果 INC DI ;指向下一個(gè)位保存單元 AND AL , AL ;商為 0?轉(zhuǎn)換結(jié)束?) JZ STO ;若結(jié)束 , 退出 MOV AH ,0LOOP AG

32、AIN ;否則循環(huán)繼續(xù) STO:MOV AX , 4C00H INT 21H ;返回 DOSCSEG ENDSEND START4.6 假設(shè)數(shù)據(jù)項(xiàng)定義如下:DATA1 DB HELLO !GOOD MORNING !DATA2 DB 20 DUP ?) 用串操作指令編寫程序段 , 使其分別完成以下功能: 1)從左到右將 DATA1 中地字符串傳送到 DATA2 中.2)傳送完后 , 比較DATA1 和DATA2 中地內(nèi)容是否相同 . 3)把DATA1中地第3和第4個(gè)字節(jié)裝入 AX.4)將AX地內(nèi)容存入 DATA2+5 開始地字節(jié)單元中 . 解:1)MOV AX ,SEG DATA1MOV DS

33、, AXMOV AX ,SEG DATA2MOV ES, AXLEA SI, DATA1LEA DI , DATA2MOV CX ,20CLDREP MOVSB2)LEA SI, DATA1LEA DI , DATA2MOV CX ,20CLDREPE CMPSB3)LEA SI, DATA1ADD SI,2LODSW 和第3位B3)同時(shí)為 1,表示接口 03FBH有準(zhǔn)備好 地8位數(shù)據(jù),當(dāng)CPU將數(shù)據(jù)取走后 , b1和b3就不再同時(shí)為 1了.僅當(dāng)又有數(shù)據(jù)準(zhǔn)備好 時(shí)才再同時(shí)為 1.試編寫程序 , 從上述接口讀入 200字節(jié)地?cái)?shù)據(jù) , 并順序放在 DATA 開始地地址中 . 解:即當(dāng)從輸入接口 0

34、3F8H讀入地?cái)?shù)據(jù)滿足 1 1B時(shí)可以從接口 03FBH輸入數(shù)據(jù) .LEA SI, DATA MOV CX ,200 NEXT :MOV DX , 03F8H WAIT :IN AL , DXAND AL , 0AH ;判斷 b1和b3位是否同時(shí)為 1CMP AL, 0AHJNZ WAIT ;b1和b3位同時(shí)為 1則讀數(shù)據(jù) , 否則等待MOV DX , 03FBH IN AL ,DX MOV SI ,AL INC SI LOOP NEXT HLT畫圖說明下列語句分配地存儲(chǔ)空間及初始化地?cái)?shù)據(jù)值 . 1)DATA1 DB BYTE , 12, 12H,2 DUP0, ?, 3) 2)DATA2 D

35、W 4 DUP 0, 1, 2), ?, -5, 256H 解: 1)存儲(chǔ)空間分配情況如圖 a)所示 .2)存儲(chǔ)空間分配情況如圖 b)所示 . 第5章存儲(chǔ)器系統(tǒng)內(nèi)部存儲(chǔ)器主要分為哪兩類 ? 它們地主要區(qū)別是什么 ?解: 1)分為ROM 和RAM .2)它們之間地主要區(qū)別是:. ROM在正常工作時(shí)只能讀出 ,不能寫入. RAM則可讀可寫 . 斷電后, ROM中地內(nèi)容不會(huì)丟失 , RAM中地內(nèi)容會(huì)丟失 .為什么動(dòng)態(tài) RAM需要定時(shí)刷新?解: DRAM 地存儲(chǔ)元以電容來存儲(chǔ)信息 ,由于存在漏電現(xiàn)象 ,電容中存儲(chǔ)地電荷 會(huì)逐漸泄漏 , 從而使信息丟失或出現(xiàn)錯(cuò)誤 . 因此需要對(duì)這些電容定時(shí)進(jìn)行 “刷新”

36、.CPU尋址內(nèi)存地能力最基本地因素取決于 .解:地址總線地寬度 .試?yán)萌刂纷g碼將 6264芯片接到 8088系統(tǒng)總線上 , 使其所占地址范圍為 32000H33FFFH.解:將地址范圍展開成二進(jìn)制形式如下圖所示 .0011 0010 0000 0000 00000011 0011 1111 1111 11116264芯片地容量為 88KB ,需要13根地址線 A0A12.而剩下地高 7位地址應(yīng)參 加該芯片地地址譯碼 .電路如圖所示:內(nèi)存地址從 20000H8BFFFH共有多少字節(jié)? 解:共有 8BFFFH20000H16C000H個(gè)字節(jié). 或432KB.若采用6264芯片構(gòu)成上述地內(nèi)存空間

37、 ,需要多少片 6264芯片? 解:每個(gè) 6264芯片地容量位 8KB, 故需432/854片.設(shè)某微型機(jī)地內(nèi)存 RAM區(qū)地容量位 128KB, 若用2164芯片構(gòu)成這樣地存儲(chǔ)器 需多少 2164芯片?至少需多少根地址線?其中多少根用于片內(nèi)尋址?多少根用 于片選譯碼?解: 1)每個(gè)2164芯片地容量為 64K1bit,共需128/64816片. 2)128KB容量需要地址線 17根.3)16根用于片內(nèi)尋址 .4)1根用于片選譯碼 .注意, 用于片內(nèi)尋址地 16根地址線要通過二選一多路器連到 2164芯片,由于2164 芯片是DRAM , 高位地址與低位地址是分時(shí)傳送地 .現(xiàn)有兩片 6116芯片

38、, 所占地址范圍為 61000H 61FFFH, 試將它們連接到 8088 系統(tǒng)中 . 并編寫考試程序 , 向所有單元輸入一個(gè)數(shù)據(jù) ,然后再讀出與之比較 , 若出 錯(cuò)則顯示“Wrong!“,全部正確則顯示”O(jiān)K!“.解:連接如下圖所示 . 考試程序段如下:OK DB OK!,$WRONG DB Wrong! ,$MOV AX, 6100H MOV ES, AX MOV DI, 0MOV CX, 1000H MOV AL, 55H REP STOSB MOV DI, 0MOV CX, 1000H REPZ SCASB JZ DISP_OK LEA DX, WRONG MOV AH, 9INT 2

39、1H HLTDISP_OK: LEA DX, OKMOV AH, 9INT 21HHLT甚什么是字?jǐn)U展?什么是位擴(kuò)展?用戶自己購買內(nèi)存條進(jìn)行內(nèi)存擴(kuò)充 , 是在 進(jìn)行何種存儲(chǔ)器擴(kuò)展?解:1)當(dāng)存儲(chǔ)芯片地容量小于所需內(nèi)存容量時(shí) , 需要用多個(gè)芯片構(gòu)成滿足容量要求 地存儲(chǔ)器 , 這就是字?jǐn)U展 .2)當(dāng)存儲(chǔ)芯片每個(gè)單元地字長(zhǎng)小于所需內(nèi)存單元字長(zhǎng)時(shí) , 需要用多個(gè)芯片構(gòu)成 滿足字長(zhǎng)要求地存儲(chǔ)模塊 , 這就是位擴(kuò)展 .3)用戶在市場(chǎng)上購買內(nèi)存條進(jìn)行內(nèi)存擴(kuò)充 , 所做地是字?jǐn)U展地工作 .74LS138譯碼器地接線圖如教材第 245頁地圖 5-47所示 , 試判斷其輸出端 Y0#、Y3#、Y5#和Y7 所決定

40、地內(nèi)存地址范圍 .解:由于是部分地址譯碼 A17不參加譯碼) , 故每個(gè)譯碼輸出對(duì)應(yīng) 2個(gè)地址范 圍:Y0:00000H 01FFFH 和20000H 21FFFHY3:06000H 07FFFH 和26000H 27FFFHY5:0A000H 0BFFFH 和2A000H 2BFFFHY7:0E000H 0FFFFH 和2E000H 2FFFFH某8088系統(tǒng)用 2764 ROM芯片和6264 SRAM芯片構(gòu) 成16KB地內(nèi)存. 其 中, ROM地地址范圍為0FE000H 0FFFFFH, RAM 地地址范圍為0F0000H 0F1FFFH.試?yán)?4LS138譯碼,畫出存儲(chǔ)器與 CPU地連

41、接圖 ,并標(biāo)出總線信號(hào)名 稱.解:連接如下圖所示 .敘述EPROM地編程過程 ,并說明EPROM和EEPROM地不同點(diǎn).不要求) 解:1)對(duì) EPROM芯片地編程過程詳見教材第 215 217頁.2)EPROM與EEPROM地不同之處為:. EPROM 用紫外線擦除 , EEPROM 用電擦除 . EPROM 是整片擦除 , EEPROM 可以整片擦除 , 也可以逐個(gè)字節(jié)地擦除 .試說明FLASH EEPROM芯片地特點(diǎn)及 28F040地編程過程.不要求) 解:1)特點(diǎn)是:它結(jié)合了 RAM和ROM地優(yōu)點(diǎn), 讀寫速度接近于 RAM, 斷電后信息 又不會(huì)丟失 .2)28F040地編程過程詳見教材第

42、 222223頁 .什么是 Cache?它能夠極大地提高計(jì)算機(jī)地處理能力是基于什么原理? 解:1)Cache 是位于 CPU與主存之間地高速小容量存儲(chǔ)器 .2)它能夠極大地提高計(jì)算機(jī)地處理能力 , 是基于程序和數(shù)據(jù)訪問地局部性原理若主存 DRAM 地地存取周期為 70ns, Cache地存取周期為 5ns, 有它們構(gòu)成地 存儲(chǔ)器地平均存取周期是多少?解:平均存取周期約為 700.1ns + 50.9ns =11.5ns. 第6章輸入輸出和中斷技術(shù)I/O接口地主要功能有哪些 ? 有哪兩種編址方式?在 8088/8086系統(tǒng)中采用哪 一種編址方式?解: I/O接口主要需具有以下幾種功能:1)I/O

43、地址譯碼與設(shè)備選擇 .保證任一時(shí)刻僅有一個(gè)外設(shè)與 CPU進(jìn)行數(shù)據(jù)傳送 . 2)信息地輸入輸出 , 并對(duì)外設(shè)隨時(shí)進(jìn)行監(jiān)測(cè)、控制和管理 .必要時(shí), 還可以通過 I/O接口向 CPU發(fā)出中斷請(qǐng)求 .3)命令、數(shù)據(jù)和狀態(tài)地緩沖與鎖存 . 以緩解 CPU與外設(shè)之間工作速度地差異 , 保證信息交換地同步 .4)信號(hào)電平與類型地轉(zhuǎn)換 . I/O接口還要實(shí)現(xiàn)信息格式轉(zhuǎn)換、電平轉(zhuǎn)換、碼制 轉(zhuǎn)換、傳送管理以及聯(lián)絡(luò)控制等功能 .I/O端口地 編址方 式通 常有兩 種:一 是與內(nèi) 存單元 統(tǒng)一編 址, 二 是獨(dú)立 編 址. 8088/8086系統(tǒng)采用 I/O端口獨(dú)立編址方式 .試比較 4種基本輸入輸出方法地特點(diǎn) .

44、方式 .它們各自具有以下特點(diǎn):1)無條件傳送方式適合與簡(jiǎn)單地、慢速地、隨時(shí)處于“準(zhǔn)備好 ”接收或發(fā)送數(shù)據(jù)地外部設(shè)備 , 數(shù)據(jù)交換與指令地執(zhí)行同步 ,控制方式簡(jiǎn)單 .2)查詢工作方式針對(duì)并不隨時(shí) “準(zhǔn)備好 ”、且滿足一定狀態(tài)才能實(shí)現(xiàn)數(shù)據(jù)地輸 入/輸出地簡(jiǎn)單外部設(shè)備 , 其控制方式也比較簡(jiǎn)單 , 當(dāng)CPU地效率比較低 . 3)中斷工作方式是由外部設(shè)備作為主動(dòng)地一方, 在需要時(shí)向 CPU提出工作請(qǐng)求, CPU在滿足響應(yīng)條件時(shí)響應(yīng)該請(qǐng)求并執(zhí)行相應(yīng)地中斷處理程序. 這種工作方式使CPU地效率提高 , 但控制方式相對(duì)較復(fù)雜 .4)DMA方式適合于高速外設(shè) ,是4種基本輸入 /輸出方式中速度最高地一種 .主

45、機(jī)與外部設(shè)備進(jìn)行數(shù)據(jù)傳送時(shí) , 采用哪一種傳送方式 , CPU地效率最高? 不要求)解:使用 DMA傳送方式 CPU地效率最高 . 這是由DMA 地工作性質(zhì)所決定地 .利用三態(tài)門芯片 74LS244作為輸入接口 ,接口地址為 40FBH, 試畫出其與 8088 系統(tǒng)總線地連接圖 .解: 16位地址信號(hào)通過譯碼電路與 74LS244芯片連接 . 其連接如下圖所示 .某輸入接口地地址為 0E54H, 輸出接口地地址為 01FBH, 分別利用 74LS244和 74LS273作為輸入和輸出接口 . 試編寫程序 , 使當(dāng)輸入接口地 bit1、 bit4和bit7位同 時(shí)為1時(shí), CPU將內(nèi)存中 DAT

46、A 為首址地 20個(gè)單元地?cái)?shù)據(jù)從輸出接口輸出;若不 滿足上述條件則等待 .解:首先判斷由輸入接口讀入數(shù)據(jù)地狀態(tài) , 若滿足條件 ,則通過輸出接口輸出一 個(gè)單元地?cái)?shù)據(jù);之后再判斷狀態(tài)是否滿足 , 直到 20個(gè)單元地?cái)?shù)據(jù)都從輸出接口輸 出.LEA SI,DATA 。取數(shù)據(jù)偏移地址MOV CL,20 。數(shù)據(jù)長(zhǎng)度送 CLAGAIN: MOV DX,0E54HWAITT: IN AL,DX 。讀入狀態(tài)值A(chǔ)ND AL,92H 。屏蔽掉不相關(guān)位 , 僅保留bit1、bit4和bit7位狀態(tài)CMP AL,92H 。判斷bit1、bit4和bit7位是否全為 1JNZ WAITT 。不滿足 bit1 、bit4

47、和bit7位同時(shí)為 1則等待MOV DX,01FBHMOV AL,SIOUT DX,AL 。滿足條件則輸出一個(gè)單元數(shù)據(jù)INC SI 。修改地址指針LOOP AGAIN 。若 20個(gè)單元數(shù)據(jù)未傳送完則循環(huán)8088/8086系統(tǒng)如何確定硬件中斷服務(wù)程序地入口地址?解: 8088/8086系統(tǒng)地硬件中斷包括非屏蔽和可屏蔽兩種中斷請(qǐng)求. 每個(gè)中斷源都有一個(gè)與之相對(duì)應(yīng)地中斷類型碼 n. 系統(tǒng)規(guī)定所有中斷服務(wù)子程序地首地址都 必須放在中斷向量表中 , 其在表中地存放地址 n4, 向量表地段基地址為 0000H). 即子程序地入口地址為 0000H:n4)開始地 4個(gè)單元中 , 低位字 2個(gè) 字節(jié))存放入口

48、地址地偏移量 , 高位字存放入口地址地段基地址 .中斷向量表地作用是什么?如何設(shè)置中斷向量表? 解:中斷向量表用于存放中斷服務(wù)子程序地入口地址 , 位于內(nèi)存地最低 1K字節(jié) 即內(nèi)存中 0000H003FFH區(qū)域) ,共有256個(gè)表項(xiàng) .設(shè)置中斷向量表就是將中斷服務(wù)程序首地址地偏移量和段基址放入中斷向量表 中.如:將中斷服務(wù)子程序 CLOCK 地入口地址置入中斷向量表地程序如下:MOV AX,0000HMOV DS,AX 。置中斷向量表地段基地址MOV SI, 。置存放子程序入口地址地偏移地址MOV AX,OFFSET CLOCKMOV SI,AX 。將子程序入口地址地偏移地址送入中斷向量表MO

49、V AX, SEG CLOCKMOV SI+2,AX 。將子程序入口地址地段基址送入中斷向量表INTR中斷和NMI 中斷有什么區(qū)別?解: INTR中斷為可屏蔽中斷 ,中斷請(qǐng)求信號(hào)高電平有效 . CPU能否響應(yīng)該請(qǐng)求要 看中斷允許標(biāo)志位 IF地狀態(tài) , 只有當(dāng) IF 1時(shí), CPU才可能響應(yīng)中斷 .NMI 中斷為非屏蔽中斷 , 請(qǐng)求信號(hào)為上升沿有效 , 對(duì)它地響應(yīng)不受 IF標(biāo)志位地約 束, CPU只要當(dāng)前指令執(zhí)行結(jié)束就可以響應(yīng) NMI 請(qǐng)求.在中斷服務(wù)程序地入口處 , 為什么常常要使用開中斷指令? 解:中斷服務(wù)程序分為兩種 , 一種是在進(jìn)入服務(wù)子程序后不允許被中斷 , 另一種 則可以被中斷 .

50、在入口處使用開中斷指令表示該中斷服務(wù)程序是允許被中斷地服 務(wù)程序, 即在進(jìn)入服務(wù)子程序后允許 CPU響應(yīng)比它級(jí)別高地中斷請(qǐng)求 .試說明8088CPU可屏蔽中斷地響應(yīng)過程 . 解:可屏蔽中斷地響應(yīng)過程主要分為 5個(gè)步驟, 即:1)中斷請(qǐng)求 . 外設(shè)在需要時(shí)向 CPU地INTR 端發(fā)出一個(gè)高電平有效地中斷請(qǐng)求 信號(hào).2)中斷判優(yōu) .若IF1, 則識(shí)別中斷源并找出優(yōu)先級(jí)最高地中斷源先予以響應(yīng),在其處理完后 , 再響應(yīng)級(jí)別較低地中斷源地請(qǐng)求 .3)中斷響應(yīng) . 中斷優(yōu)先級(jí)確定后 , 發(fā)出中斷地中斷源中優(yōu)先級(jí)別最高地中斷請(qǐng) 求就被送到 CPU.4)中斷處理 .5)中斷返回 . 中斷返回需執(zhí)行中斷返回指令

51、 IRET, 其操作正好是 CPU硬件在中 斷響應(yīng)時(shí)自動(dòng)保護(hù)斷點(diǎn)地逆過程 . 即 CPU會(huì)自動(dòng)地將堆棧內(nèi)保存地?cái)帱c(diǎn)信息彈出 到IP、CS和FLAG中, 保證被中斷地程序從斷點(diǎn)處繼續(xù)往下執(zhí)行 .CPU滿足什么條件能夠響應(yīng)可屏蔽中斷?解:1)CPU要處于開中斷狀態(tài) , 即IF1, 才能響應(yīng)可屏蔽中斷 .2)當(dāng)前指令結(jié)束 .3)當(dāng)前沒有發(fā)生復(fù)位 RESET)、保持 HOLD )和非屏蔽中斷請(qǐng)求 NMI ). 4)若當(dāng)前執(zhí)行地指令是開中斷指令 STI)和中斷返回指令 IRET ) , 則在執(zhí)行 完該指令后再執(zhí)行一條指令 , CPU才能響應(yīng) INTR請(qǐng)求.5)對(duì)前綴指令 ,如LOCK 、REP等, CP

52、U會(huì)把它們和它們后面地指令看作一個(gè)整 體,直到這個(gè)整體指令執(zhí)行完 ,方可響應(yīng) INTR請(qǐng)求.6.14 單片 8259A能夠管理多少級(jí)可屏蔽中斷?若用 3片級(jí)聯(lián)能管理多少級(jí)可屏蔽 中斷? 不要求)解:由于 8259A有8位可屏蔽中斷請(qǐng)求輸入端 ,故單片8259A能夠管理 8級(jí)可屏蔽 中斷. 若用3片級(jí)聯(lián), 即1片用作主控芯片 ,兩片作為從屬芯片 , 每一片從屬芯片可 管理8級(jí),則3片級(jí)聯(lián)共可管理 22級(jí)可屏蔽中斷 .具備何種條件能夠作輸入接口?何種條件能夠作輸出接口?解:對(duì)輸入接口要求具有對(duì)數(shù)據(jù)地控制能力 , 對(duì)輸出接口要求具有對(duì)數(shù)據(jù)地鎖存 能力.已知 SP) 0100H, SS ) 3500H

53、,CS ) 9000H,IP ) 0200H, 00020H) 7FH, 00021H) 1AH , 07H, 00023H) 6CH, 在地址為 90200H開始地連續(xù)兩個(gè)單元中存放一條兩字節(jié)指令I(lǐng)NT 8. 試指出在執(zhí)行該指令并進(jìn)入相應(yīng)地中斷例程時(shí) , SP、SS、 IP、CS寄存 器地內(nèi)容以及 SP所指向地字單元地內(nèi)容是什么?解: CPU在響應(yīng)中斷請(qǐng)求時(shí)首先要進(jìn)行斷點(diǎn)保護(hù) , 即要依次將 FLAGS和INT下一 條指令地 CS、 IP寄存器內(nèi)容壓入堆棧 , 亦即棧頂指針減 6, 而SS地內(nèi)容不變 . INT 8 指令是一條兩字節(jié)指令 , 故其下一條指令地 IP 0200H 2 0202H

54、. 中斷服務(wù)子程序地入口地址則存放在中斷向量表84)所指向地連續(xù) 4個(gè)單元中. 所以, 在執(zhí)行中斷指令并進(jìn)入響應(yīng)地中斷例程時(shí), 以上各寄存器地內(nèi)容分別為:SP0100H600FAHSS3500H IP841A7FH CS(8426C07H SP0200H20202H 第7章常用數(shù)字接口電路一般來講 ,接口芯片地讀寫信號(hào)應(yīng)與系統(tǒng)地哪些信號(hào)相連? 解: 一般來講 , 接口芯片地讀寫信號(hào)應(yīng)與系統(tǒng)總線信號(hào)中地#IOR接口讀)或#IOW 接口寫)信號(hào)相連 .試說明 8253芯片地六種工作方式 . 其時(shí)鐘信號(hào) CLK和門控信號(hào) GATE分別起 什么作用?解:可編程定時(shí) /計(jì)數(shù)器8253具有六種不同地工作方

55、式 , 其中: 方式0:軟件啟動(dòng)、不自動(dòng)重復(fù)計(jì)數(shù) . 在寫入控制字后 OUT端變低電平 , 計(jì)數(shù)結(jié)束 后OUT端輸出高電平 , 可用來產(chǎn)生中斷請(qǐng)求信號(hào) , 故也稱為計(jì)數(shù)結(jié)束產(chǎn)生中斷地 工作方式 .方式1:硬件啟動(dòng)、不自動(dòng)重復(fù)計(jì)數(shù) . 所謂硬件啟動(dòng)是在寫入計(jì)數(shù)初值后并不開 始計(jì)數(shù) , 而是要等門控信號(hào) GATE出現(xiàn)由低到高地跳變后 , 在下一個(gè) CLK脈沖地 下降沿才開始計(jì)數(shù) , 此時(shí)OUT端立刻變?yōu)榈碗娖?. 計(jì)數(shù)結(jié)束后 , OUT端輸出高電 平, 得到一個(gè)寬度為計(jì)數(shù)初值 N個(gè)CLK脈沖周期寬地負(fù)脈沖 . 方式2:既可軟件啟動(dòng) , 也可以硬件啟動(dòng) . 可自動(dòng)重復(fù)計(jì)數(shù) .在寫入控制字后 ,OUT

56、 端變?yōu)楦唠娖?. 計(jì)數(shù)到最后一個(gè)時(shí)鐘脈沖時(shí) OUT端變?yōu)榈?電平, 再經(jīng)過一個(gè) CLK周期, 計(jì)數(shù)值減到零 , OUT又恢復(fù)為高電平 . 之后再自動(dòng)轉(zhuǎn) 入計(jì)數(shù)初值 , 并重新開始新地一輪計(jì)數(shù) . 方式2下OUT端會(huì)連續(xù)輸出寬度為 Tclk地 負(fù)脈沖, 其周期為 NTclk,所以方式 2也稱為分頻器 , 分頻系數(shù)為計(jì)數(shù)初值 N. 方式3:也是一種分頻器 , 也有兩種啟動(dòng)方式 , 自動(dòng)重復(fù)計(jì)數(shù) .當(dāng)計(jì)數(shù)初值 N為偶 數(shù)時(shí), 連續(xù)輸出對(duì)稱方波 即N/2個(gè)CLK脈沖低電平 , N/2個(gè)CLK脈沖高電平) , 頻 率為1/N) Fclk. 若N為奇數(shù) ,則輸出波形不對(duì)稱 ,其中N1)2個(gè)時(shí)鐘周期 高電

57、平, N1) 2個(gè)時(shí)鐘周期低電平 . 方式4和方式5都是在計(jì)數(shù)結(jié)束后輸出一個(gè) CLK脈沖周期寬地負(fù)脈沖 , 且均為不自 動(dòng)重復(fù)計(jì)數(shù)方式 . 區(qū)別在方式 4是軟件啟動(dòng) , 而方式 5為硬件啟動(dòng) .時(shí)鐘信號(hào) CLK為8253芯片地工作基準(zhǔn)信號(hào) . GATE信號(hào)為門控信號(hào) . 在軟件啟動(dòng) 時(shí)要求GATE在計(jì)數(shù)過程中始終保持高電平;而對(duì)硬件啟動(dòng)地工作方式, 要求在寫入計(jì)數(shù)初值后 GATE端出現(xiàn)一個(gè)由低到高地正跳變 , 啟動(dòng)計(jì)數(shù) .8253可編程定時(shí) / 計(jì)數(shù)器有兩種啟動(dòng)方式 , 在軟件啟動(dòng)時(shí) , 要使計(jì)數(shù)正常進(jìn) 行,GATE端必須為 )電平 ,如果是硬件啟動(dòng)呢? 解:在軟件啟動(dòng)時(shí) , 要使計(jì)數(shù)正常進(jìn)行

58、 , GATE端必須為高電平;如果是硬件啟動(dòng),則要在寫入計(jì)數(shù)初值后使 GATE端出現(xiàn)一個(gè)由低到高地正跳變 ,以啟動(dòng)計(jì)數(shù) .若8253芯片地接口地址為 D0D0H D0D3H , 時(shí)鐘信號(hào)頻率為 2MHz .現(xiàn)利用計(jì) 數(shù)器0、1、2分別產(chǎn)生周期為 10us地對(duì)稱方波及每 1ms和1s產(chǎn)生一個(gè)負(fù)脈沖 , 試畫 出其與系統(tǒng)地電路連接圖 , 并編寫包括初始化在內(nèi)地程序 .解:根據(jù)題目要求可知 , 計(jì)數(shù)器0CNT0 )工作于方式 3, 計(jì)數(shù)器1CNT1)和計(jì)數(shù) 器2CNT2)工作于方式2.時(shí)鐘頻率 2MHz,即周期為0.5us,從而得出各計(jì)數(shù)器地計(jì)數(shù)初值分別為:CNT0:10us/0.5us = 20C

59、NT1:1ms/0.5us = 2000CNT2:1s/0.5us = 2 1000000顯然, 計(jì)數(shù)器2地計(jì)數(shù)初值已超出了 16位數(shù)地表達(dá)范圍 , 需經(jīng)過一次中間分頻 ,可 將OUT1端地輸出脈沖作為計(jì)數(shù)器 2地時(shí)鐘頻率 .這樣 , CNT2地計(jì)數(shù)初值就等于 1s/1ms = 1000. 線路連接如圖所示 .82538253地初始化程序如下:MOV DX , 0D0D3HMOV AL , 16H ;計(jì)數(shù)器 0,低8位計(jì)數(shù), 方式3OUT DX, ALMOV AL ,74H ;計(jì)數(shù)器 1,雙字節(jié)計(jì)數(shù) ,方式2OUT DX, ALMOV AL , 0B4H ;計(jì)數(shù)器 2, 雙字節(jié)計(jì)數(shù) , 方式2

60、OUT DX, ALMOV DX , 0D0D0HMOV AL ,20 ;送計(jì)數(shù)器 0地計(jì)數(shù)初值OUT DX, ALMOV DX , 0D0D1HMOV AX ,2000 ;送計(jì)數(shù)器 1地計(jì)數(shù)初值OUT DX, ALMOV AL , AHOUT DX, ALMOV DX , 0D0D2HMOV AX ,1000 ;送計(jì)數(shù)器 2地計(jì)數(shù)初值OUT DX, ALMOV AL , AHOUT DX, AL某一計(jì)算機(jī)應(yīng)用系統(tǒng)采用 8253芯片地計(jì)數(shù)器 0作頻率發(fā)生器 , 輸出頻率為 500Hz;用計(jì)數(shù)器1產(chǎn)生1000Hz地連續(xù)方波信號(hào), 輸入8253地時(shí)鐘頻率為 1.19MHz.試問:初始化時(shí)送到計(jì)數(shù)器

溫馨提示

  • 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)論