微機(jī)原理及接口技術(shù)李干林-習(xí)題參考解答_第1頁(yè)
微機(jī)原理及接口技術(shù)李干林-習(xí)題參考解答_第2頁(yè)
微機(jī)原理及接口技術(shù)李干林-習(xí)題參考解答_第3頁(yè)
微機(jī)原理及接口技術(shù)李干林-習(xí)題參考解答_第4頁(yè)
微機(jī)原理及接口技術(shù)李干林-習(xí)題參考解答_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答習(xí)題參考解答1.1什么是微處理器、微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)?參考答案:將運(yùn)算器和控制器集成在一塊大規(guī)模集成電路芯片上作為中央處理部件,簡(jiǎn)稱為微處理器;以微處理器為核心,再配上存儲(chǔ)器、接口電路等芯片,構(gòu)成微型計(jì)算機(jī);微型計(jì)算機(jī)系統(tǒng)由硬件和軟件系統(tǒng)兩大部分組成:(1)硬件系統(tǒng)由微型計(jì)算機(jī)和外設(shè)組成的計(jì)算機(jī)實(shí)體;(2)軟件系統(tǒng)是指為微型計(jì)算機(jī)運(yùn)行的全部技術(shù)資料和各種程序,由系統(tǒng)軟件和應(yīng)用軟件構(gòu)成。1.2什么是微型計(jì)算機(jī)的三種總線?參考答案:系統(tǒng)總線包含有三種不同功能的總線,即數(shù)據(jù)總線DB(DataBus)、地址總線AB(AddressBus)和控制總線CB(ControlBus)。

“數(shù)據(jù)總線DB”用于傳送數(shù)據(jù)信息。數(shù)據(jù)總線是雙向三態(tài)形式的總線,即他既可以把CPU的數(shù)據(jù)傳送到存儲(chǔ)器或I/O接口等其它部件,也可以將其它部件的數(shù)據(jù)傳送到CPU。

“地址總線AB”是專門用來(lái)傳送地址的,由于地址只能從CPU傳向外部存儲(chǔ)器或I/O端口,所以地址總線總是單向三態(tài)的?!翱刂瓶偩€CB”用來(lái)傳送控制信號(hào)和時(shí)序信號(hào)。1.3評(píng)估微型計(jì)算機(jī)的主要技術(shù)指標(biāo)有哪些?參考答案:評(píng)估微型計(jì)算機(jī)的主要技術(shù)指標(biāo)有:⑴CPU的字長(zhǎng),決定計(jì)算機(jī)內(nèi)部一次可以處理的二進(jìn)制代碼的位數(shù);⑵內(nèi)存儲(chǔ)器容量與速度,內(nèi)存儲(chǔ)器容量是衡量它存儲(chǔ)二進(jìn)制信息量大小的一個(gè)重要指標(biāo),內(nèi)存儲(chǔ)器的速度用存取周期來(lái)衡量;⑶CPU指令執(zhí)行時(shí)間,反映CPU運(yùn)算速度的快慢;⑷系統(tǒng)總線的傳輸速率等。1.4將下列十進(jìn)制數(shù)分別轉(zhuǎn)換為二進(jìn)制、十六進(jìn)制數(shù)。⑴35⑵130⑶0.625⑷48.25參考答案:⑴100011B,23H⑵⑶0.101B,0.AH⑷110000.01B,30.4H1.5將下列二進(jìn)制數(shù)分別轉(zhuǎn)換為十進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)。⑴101101B⑵⑶110110.101B⑷101011.011B微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第1頁(yè)。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第1頁(yè)。⑴45,55Q,2DH⑵230,346Q,E6H⑶54.625,66.5Q,36.AH⑷43.375,53.3Q,2B.6H1.6寫(xiě)出下列十進(jìn)制數(shù)的原碼、反碼、補(bǔ)碼(分別采用8位二進(jìn)制和16位二進(jìn)制表示)。⑴38⑵120⑶-50⑷-89參考答案:⑴原碼、反碼、補(bǔ)碼:00100110B,0000000000100110B⑵原碼、反碼、補(bǔ)碼:01111000B,0000000001111000B⑶⑷1.7已知補(bǔ)碼求出其真值和原碼。⑴21H⑵93H⑶45A6H⑷0DA25H參考答案:⑴真值:+21H,原碼:21H⑵真值:-6DH,原碼:EDH⑶真值:+45A6H,原碼:45A6H⑷真值:-25DBH,0A5DBH1.8將下列十進(jìn)制數(shù)轉(zhuǎn)換為壓縮和非壓縮格式的BCD碼。⑴12⑵55⑶147⑷368參考答案:⑴00010010B,0000000100000010B⑵01010101B,0000010100000101B⑶⑷1.9下列十進(jìn)制數(shù)算術(shù)運(yùn)算,試用8位二進(jìn)制補(bǔ)碼計(jì)算,并用十六進(jìn)制數(shù)表示運(yùn)算結(jié)果,判斷是否有溢出。⑴35-45⑵80+50⑶-70-60⑷-20+(-60)參考答案:各數(shù)的補(bǔ)碼:[35]補(bǔ)=00100011B,[-45]補(bǔ)[80]補(bǔ)=01010000B,[50]補(bǔ)=00110010B,[-70]補(bǔ)補(bǔ)微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第2頁(yè)。[-20]微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第2頁(yè)。35+(35+(-45)00100011B80+5001010000B+00110010B-70+(-60)101111110B-20+(-60)CY=0,CS=0OF=CY⊕CS=0⊕0=0沒(méi)有溢出CY=0,CS=1OF=CY⊕CS=0⊕1=1有溢出CY=1,CS=0OF=CY⊕CS=1⊕0=1有溢出CY=1,CS=1OF=CY⊕CS=1⊕1=0沒(méi)有溢出⑴⑵⑶-70-60=01111110B=-126,結(jié)果不正確,有溢出,因?yàn)?130超出了8位補(bǔ)碼的表示下限-128;⑷1.10分別寫(xiě)出下列字符串的ASCII碼(十六進(jìn)制表示)。⑴3aB8⑵eF10⑶+5(0:⑷Howareyou?參考答案:⑴⑵⑶2B3528303AH⑷2.18086CPU內(nèi)部由哪兩部分組成?它們的主要用途是什么?參考答案:8086CPU內(nèi)部按功能分執(zhí)行單元EU和總線接口單元BIU。執(zhí)行單元的功能:負(fù)責(zé)指令的執(zhí)行。同時(shí)向BIU輸出數(shù)據(jù)(操作結(jié)果),并對(duì)寄存器和標(biāo)志寄存器進(jìn)行管理。在ALU中進(jìn)行16位運(yùn)算,數(shù)據(jù)傳送和處理均在EU控制下進(jìn)行??偩€接口單元的功能:負(fù)責(zé)從內(nèi)存或I/O端口取指令、取操作數(shù)和保存運(yùn)算結(jié)果。2.28086/8088CPU有哪些寄存器?各有什么用途?參考答案:8086/8088CPU內(nèi)部有14個(gè)16位的寄存器,按功能可分為:通用寄存器(8個(gè))、段寄存器(4個(gè))和控制寄存器(2個(gè))。⑴.通用寄存器組EU中有4個(gè)16位的通用寄存器,即數(shù)據(jù)寄存器AX、BX、CX、DX。數(shù)據(jù)寄存器AX、BX、CX、DX一般用來(lái)存放數(shù)據(jù),但它們都有各自的特定用途。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第3頁(yè)。AX稱為累加器,是最常用的寄存器。它常用來(lái)存放算術(shù)邏輯運(yùn)算中的操作數(shù),而且一些操作要在AX中完成,如乘法操作和除法操作。此外,所有的I/O指令都使用累加器與微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第3頁(yè)。BX稱為基址寄存器。它常用來(lái)存放操作數(shù)在內(nèi)存中數(shù)據(jù)段內(nèi)的基地址。CX稱為計(jì)數(shù)器。在設(shè)計(jì)循環(huán)程序時(shí)一般使用該寄存器存放循環(huán)次數(shù)。DX稱為數(shù)據(jù)寄存器。在寄存器間接尋址的I/O指令中存放I/O端口地址;在做雙字長(zhǎng)乘除法運(yùn)算時(shí),DX與AX一起存放一個(gè)雙字長(zhǎng)操作數(shù),其中DX存放高16位數(shù)。⑵.指針和變址寄存器8086/8088CPU中,有一組4個(gè)16位寄存器,它們是基址指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI。這組寄存器存放的內(nèi)容是某一段地址偏移量,用來(lái)形成操作數(shù)地址,主要在堆棧操作和變址運(yùn)算中使用。SP稱為堆棧指針寄存器;BP稱為基址指針寄存器;SI稱為源變址寄存器;DI稱為目的變址寄存器。⑶.段寄存器CS、DS、SS、ES8086/8088有20位地址總線,一共可以尋址1M的空間。而所有內(nèi)部寄存器都是16位的,只能直接尋址64KB,因此采用分段技術(shù)來(lái)解決。將1MB的存儲(chǔ)空間分成若干邏輯段,每段最長(zhǎng)64KB,這些邏輯段在整個(gè)存儲(chǔ)空間中可以浮動(dòng)。8086/8088定義4個(gè)獨(dú)立的邏輯段,分別為:代碼段、數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段,將程序代碼或數(shù)據(jù)分別放在這4個(gè)邏輯段中。每個(gè)邏輯段的段地址分別放在對(duì)應(yīng)的段寄存器中,代碼或資料在段內(nèi)的偏移地址由有關(guān)寄存器或立即數(shù)給出。8086/8088的4個(gè)段寄存器:①CS稱為代碼段寄存器,用來(lái)存儲(chǔ)程序當(dāng)前使用的代碼段的段地址(起始地址)。②DS稱為數(shù)據(jù)段寄存器,用來(lái)存放程序當(dāng)前使用的數(shù)據(jù)段的段地址。③SS稱為堆棧段寄存器,用來(lái)存放程序當(dāng)前所使用的堆棧段的段地址。④ES稱為附加數(shù)據(jù)段寄存器,用來(lái)存放程序當(dāng)前使用的附加數(shù)據(jù)段的段地址。⑷.指令指針寄存器IPIP稱為指令指針寄存器,用來(lái)存放預(yù)取指令在代碼段內(nèi)的偏移地址。⑸.標(biāo)志寄存器FF稱為標(biāo)志寄存器,是一個(gè)16位的寄存器,其中只用了9位。分別為6個(gè)狀態(tài)標(biāo)志位和3個(gè)控制標(biāo)志位。2.38086/8088CPU中標(biāo)志寄存器有幾位狀態(tài)位?有幾位控制位?其含義各是什么?微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第4頁(yè)。參考答案:標(biāo)志寄存器是一個(gè)16位的寄存器,其中只用了9位。分別為6個(gè)狀態(tài)標(biāo)志位和3微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第4頁(yè)。⑴狀態(tài)標(biāo)志位狀態(tài)標(biāo)志位用來(lái)反映算術(shù)和邏輯運(yùn)算結(jié)果的一些特征。①CF:進(jìn)位標(biāo)志位。當(dāng)進(jìn)行加減運(yùn)算時(shí),若最高位發(fā)生進(jìn)位或借位則CF=1,否則CF=0。②PF:奇偶標(biāo)志位。當(dāng)運(yùn)算結(jié)果的低8位中含有偶數(shù)個(gè)1時(shí),PF=1,否則PF=0。③AF:輔助進(jìn)位標(biāo)志位。加法或減法運(yùn)算時(shí),若結(jié)果的低字節(jié)的低4位向高4位有進(jìn)位或借位,則AF=1;否則AF=0。④ZF:零標(biāo)志位。若當(dāng)前的運(yùn)算結(jié)果為0,則ZF=1;否則ZF=0。⑤SF:符號(hào)標(biāo)志位。與運(yùn)算結(jié)果的最高位相同,當(dāng)運(yùn)算結(jié)果的最高位為1時(shí),SF=1;否則為0。⑥OF:溢出標(biāo)志位。當(dāng)運(yùn)算結(jié)果超出了帶符號(hào)數(shù)的范圍,即溢出時(shí),OF=1;否則OF=0。⑵控制標(biāo)志位控制標(biāo)志位有3個(gè),用來(lái)設(shè)置控制條件來(lái)控制CPU的操作,由程序設(shè)置或清除。①TF:跟蹤標(biāo)志位。②IF:中斷允許標(biāo)志位。用來(lái)控制可屏蔽中斷的控制標(biāo)志。若IF=1,允許CPU接受可屏蔽中斷請(qǐng)求;若IF=0,則禁止CPU回應(yīng)可屏蔽中斷請(qǐng)求。IF的狀態(tài)對(duì)非屏蔽中斷及內(nèi)部中斷沒(méi)有影響。③DF:方向標(biāo)志位??刂拼僮髦噶钣玫臉?biāo)志。2.4Intel8086CPU和8088CPU主要區(qū)別有哪些?參考答案:8086CPU與8088CPU的區(qū)別主要有以下4個(gè)方面:⑴.內(nèi)部結(jié)構(gòu)8086的指令隊(duì)列有6B,而8088僅有4B。它們的執(zhí)行單元EU完全相同,而總線接口單元BIU卻不完全相同。8086CPU內(nèi)、外部的數(shù)據(jù)總線(DB)都為16位,8088內(nèi)部數(shù)據(jù)總線為16位,外部為8位。⑵.引出線和內(nèi)存組織8086有一條高8位數(shù)據(jù)總線允許引出線,它可以看做一條附加的地址線,用來(lái)訪問(wèn)內(nèi)存的高字節(jié),而A0用來(lái)訪問(wèn)內(nèi)存的低字節(jié)。⑶.地址/數(shù)據(jù)復(fù)用線微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第5頁(yè)。8086的地址/數(shù)據(jù)復(fù)用線是16位AD15~AD0;而8088僅有AD7~AD0復(fù)用,A8~A15僅微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第5頁(yè)。⑷.內(nèi)存與I/O接口選通信號(hào)電平。內(nèi)存與I/O接口選通信號(hào)電平不同:8086為M/,即高電平進(jìn)行存儲(chǔ)器操作,低電平進(jìn)行I/O操作;而8088則相反,為IO/。2.5邏輯地址和物理地址指的是什么?如果已知邏輯地址為1200:0ABCDH,其物理地址為多少?參考答案:把用段地址和偏移地址表示存儲(chǔ)單元的地址稱為邏輯地址,段地址和段內(nèi)偏移地址經(jīng)20位地址加法器生成的20位地址稱為物理地址。已知邏輯地址為1200:0ABCDH,其物理地址為12000H+0ABCDH=1CBCDH。2.6若CS為3000H,試說(shuō)明現(xiàn)行代碼段可尋址的存儲(chǔ)空間的范圍。參考答案:可尋址的存儲(chǔ)空間的范圍:30000H+0000H~30000H+FFFFH,既:30000H~3FFFFH2.7設(shè)現(xiàn)行數(shù)據(jù)段位于存儲(chǔ)器10000H到1FFFFH存儲(chǔ)單元,DS段寄存器內(nèi)容為多少?參考答案:一個(gè)邏輯段最大范圍:0000H~FFFFH,因此DS段寄存器內(nèi)容為:1000H。參考答案:78563412DS:0000HDS:0001HDS:0002HDS:0001HDS:0003H2.9已知堆棧段寄存器SS=4000H,堆棧指針SP=0100H,試將數(shù)據(jù)56789ABCH推入堆棧,畫(huà)出進(jìn)棧示意圖。最后棧頂SP=?參考答案:最后棧頂SP=400FCH4010040100HBC9A7856SP→400FEH56789ABC400FCH微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第6頁(yè)。2.10微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第6頁(yè)。⑴1234H+6789H⑵23A5H–65C2H參考答案:⑴1234H+6789H=79BDH,CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0;⑵23A5H–65C2H=0BDE3H,CF=1,PF=0,AF=0,ZF=0,SF=1,OF=0。2.118088CPU工作在最小模式時(shí)。⑴當(dāng)CPU訪問(wèn)存儲(chǔ)器時(shí),要利用哪些信號(hào)?⑵當(dāng)CPU訪問(wèn)I/O時(shí),要利用哪些信號(hào)?參考答案:⑴IO/=0,A19/S16~A16/S3,A15~A8,AD7~AD0,ALE,讀存儲(chǔ)器時(shí):=0,DT/=0(寫(xiě)存儲(chǔ)器時(shí):=0,DT/=1),。⑵IO/=1,A19/S16~A16/S3,A15~A8,AD7~AD0,ALE,讀IO端口時(shí):=0,DT/=0(寫(xiě)IO端口時(shí):=0,DT/=1),。2.12簡(jiǎn)要說(shuō)明8086/8088的指令周期、總線周期、機(jī)器周期和時(shí)鐘周期有何不同。參考答案:(1)指令周期由若干個(gè)機(jī)器周期組成,而機(jī)器周期時(shí)間又包含若干個(gè)時(shí)鐘周期,總線周期一般由4個(gè)時(shí)鐘周期組成。(2)機(jī)器周期和總線周期的關(guān)系是:機(jī)器周期指的是完成一個(gè)基本操作的時(shí)間,這個(gè)基本操作有時(shí)可能包含總線讀/寫(xiě),因而包含總線周期,但是有時(shí)可能與總線讀/寫(xiě)無(wú)關(guān),所以,并無(wú)明確的相互包含關(guān)系。2.13什么情況下插入TW等待周期?插入TW多少,取決什么因素?參考答案:在T3狀態(tài),CPU采樣READY線,若READY信號(hào)無(wú)效,插入TW狀態(tài);插入TW狀態(tài)為一個(gè)至多個(gè),直到READY信號(hào)有效,才進(jìn)入T4狀態(tài)。2.14什么情況下會(huì)出現(xiàn)總線的空閑周期?參考答案:只有在8086CPU和存儲(chǔ)器或I/O接口之間傳輸數(shù)據(jù)時(shí),CPU才執(zhí)行總線周期,當(dāng)CPU不執(zhí)行總線周期時(shí)(指令隊(duì)列6個(gè)字節(jié)已裝滿,EU未申請(qǐng)?jiān)L問(wèn)存儲(chǔ)器),總線接口部件不和總線打交道,就進(jìn)入了總線空閑周期Ti。在空閑周期中,雖然CPU對(duì)總線進(jìn)行空操作,但是CPU內(nèi)部操作仍然進(jìn)行,即EU部件在工作。所以說(shuō),總線空操作是總線接口部件BIU對(duì)總線執(zhí)行部件EU的等待。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第7頁(yè)。3.1微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第7頁(yè)。(1)MOVSI,120(2)MOV[BX],DX(3)MOVAX,100[BX][DI](4)MOVDI,[BX+100](5)MOVAX,[1000H](6)MOVAX,80H(7)MOVAX,[BX](8)MOVCX,[BX][SI]參考答案:(1)立即數(shù)尋址(2)寄存器尋址(3)基址加變址尋址(4)基址尋址(5)直接尋址(6)立即數(shù)尋址(7)基址尋址(8)基址加變址尋址3.2指出下列指令中存儲(chǔ)器操作數(shù)物理地址的計(jì)算表達(dá)式。(1)MOVSI,[BX](2)MOV8[DI],DX(3)MOVAX,[BP][SI](4)ADDDI,[BX+100](5)ADDAX,[1000H](6)SUBAX,[BX+DI+80H](7)ADDAX,ES:[BX](8)DECWORDPTR[SI]參考答案:(1)DS×16+BX(2)DS×16+DI+8(3)SS×16+BP+SI(4)DS×16+BX+100(5)DS×16+1000H(6)DS×16+BX+DI+80H(7)ES×16+BX(8)DS×16+DI3.3指出下列指令中的錯(cuò)誤。(1)MOVBX,AL(2)MOVCS,AX(3)MOV100,CL (4)MOV[BX],[1000H](5)PUSH1234H (6)MOVCS,1200H(7)XCHGAH,12H (8)INC[2000H](9)ADD[BX],10 (10)OUT258H,AX參考答案:(1)源操作數(shù)和目的操作數(shù)寄存器類型不匹配(2)代碼段寄存器CS不允許賦值(3)立即數(shù)不能做目的操作數(shù)微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第8頁(yè)。(4)微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第8頁(yè)。(5)立即數(shù)不能做堆棧指令操作數(shù)(6)代碼段寄存器CS不允許賦值(7)立即數(shù)不能做交換指令操作數(shù) (8)字類型還是字節(jié)類型不明確(9)目的操作數(shù)類型不明確 (10)端口地址大于8位二進(jìn)制數(shù),需要通過(guò)DX傳送。3.4設(shè)(SP)=3000H,(AX)=1234H,(BX)=5678H,指出執(zhí)行下列指令后相關(guān)寄存器的內(nèi)容。PUSHAXPUSHBXPOPAXPOPBX參考答案:執(zhí)行后,(AX)=5678H,(BX)=1234H,(SP)=3000H。3.5若AX=1234H,BX=3456H,當(dāng)執(zhí)行SUBAX,BX指令后,求AX和標(biāo)志寄存器CF、AF、SF、ZF和OF標(biāo)志位的值?參考答案:(AX)=0DDDEH,CF=1,AF=1,SF=1,ZF=0,OF=0。3.6設(shè)(AH)=0F6H,(AL)=90H,問(wèn)執(zhí)行SUBAH,AL指令后,AX中的值及標(biāo)志寄存器CF、AF、SF、ZF、PF和OF標(biāo)志位的值?參考答案:(AX)=6690H,CF=0,AF=0,SF=0,ZF=0,OF=0,PF=1。3.7設(shè)(BX)=1000H,(DI)=0050H,執(zhí)行LEABX,[BX+SI-0200H]后,(BX)=?參考答案:(BX)=0E50H3.8已知(DS)=2000H,(SS)=5000H,(AX)=0012H,(BX)=0340H,(CX)=0781H,(BP)=0035H,(SI)=0100H,(DI)=0300H,(20440H)=2104H,(20742H)=0E2AH,(20372H)=6FD3H,試求單獨(dú)執(zhí)行下列指令后的結(jié)果。參考答案:微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第9頁(yè)。(1)MOVDL,[BX][SI];(DL)=微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第9頁(yè)。(2)MOV[BP][DI],CX;(50336H)=07H(3)LEABX,100H[BX][DI];(BX)=0740HMOVDX,2[BX];(DX)=0E2AH(4)SUBSI,CX;(SI)=0F97FH(5)XCHGCX,32H[BX];(CX)=6FD3H3.9下列指令完成什么功能?(1)NEGBX(2)MULBL(3)DIVCL (4)DECAX(5)SBBAX,CX (6)INCDL(7)ADCAX,1000H (8)SARAL,CL(9)DAA (10)CBW參考答案:(1)將BX中的內(nèi)容求補(bǔ)(正數(shù)變負(fù)數(shù)或負(fù)數(shù)變正數(shù),絕對(duì)值不變)后送回BX。(2)BL×AL,結(jié)果送AX。(3)AX/CL,商存于AL,余數(shù)存于AH。 (4)AX中值減1,結(jié)果送回AL。(5)AX中的值減去BX中的值再減去CF中的值,結(jié)果送回AX。 (6)DL中的值當(dāng)無(wú)符號(hào)數(shù)加1,結(jié)果送回DL。(7)AX中的內(nèi)容加上1000H后,再加上CF的值,結(jié)果送回AX。 (8)AL中的值向右移,移動(dòng)位數(shù)為CL中的值,AL左邊補(bǔ)充符號(hào)位的值。(9)將AL中的兩位BCD碼加法運(yùn)算的結(jié)果調(diào)整為兩位壓縮型十進(jìn)制數(shù),仍保留在AL中。 (10)將AL的最高有效位擴(kuò)展至AH。3.10已知AX=3405H,BX=0FE1H,CX=0002H,DX=2A3EH,求下列每條指令執(zhí)行后目的操作數(shù)的結(jié)果。(1)ANDAH,BL(2)ORCL,20H(3)NOTDX (4)XORCX,0FE3H(5)TESTAL,80H (6)CMPBX,OF123H(7)SHRDX,CL (8)SARAL,CL微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第10頁(yè)。(9)RCLAL,1 (10)RORDX,微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第10頁(yè)。參考答案:(1)(AH)=02H(2)(CL)=22H(3)(DX)=0D5B1H (4)(CX)=0FE1H(5)(AL)=05H (6)(BX)=OFE1H(7)(DX)=0A8FH (8)(AL)=01H(9)(AL)=0AH (10)(DX)=8A8FH3.11設(shè)(AX)=54D1H,執(zhí)行下列程序段指令后,求相應(yīng)的結(jié)果。MOVBL,AH參考答案:MOVCL,ALADDBL,100;BL=0B8HXCHGAL,BL;AL=0B8HSUBAL,CL;AX=54E7HJSHHANDAL,0FHHH:ADCAH,BL;AX=26E7HBL=0D1H3.12設(shè)(AX)=1023H、(BX)=0430H,執(zhí)行下列程序段指令后,求相應(yīng)的結(jié)果。MOVCL,2參考答案:SHRAH,CL;AX=0423HADDBX,AX;BX=0853HJMPNEXTMULBLNEXT:ORAX,BX;AX=0C73HHLT3.13已知當(dāng)前數(shù)據(jù)段中有一個(gè)十進(jìn)制數(shù)字0~9的7段ASCII表,其數(shù)值依次為30H~39H,其首地址為2000H。要求用XLAT指令將十進(jìn)制數(shù)46轉(zhuǎn)換成相應(yīng)的7段代碼值,存到AX寄存器中,試寫(xiě)出相應(yīng)的程序段。參考答案:MOVBX,2000HMOVAL,4微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第11頁(yè)。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第11頁(yè)。MOVAH,ALMOVAL,6XLATHLT3.14設(shè)有程序段:DATASEGMENTSTRINGDB‘Todayissaturdy!’NEQU$-STRINGDATAENDS試用字符串指令完成以下功能:⑴把該字符串傳送到附加段中偏移量為CHAR1開(kāi)始的內(nèi)存單元中;⑵檢查該字符串是否有“!”字符,若有將找到的第一個(gè)“!”用“?”將其替換。參考答案:⑴CLDMOVCX,NLEASI,STRINGLEADI,CHAR1REPMOVSB⑵LEADI,STRINGMOVAL,‘!’MOVCX,NCLDREPNESCASBMOVAL,‘?’MOV[DI],AL3.15閱讀程序段,說(shuō)明其完成的功能。MOVCX,100MOVDL,0MOVBX,1000H微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第12頁(yè)。LP1:MOVAL,微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第12頁(yè)。CMPAL,0JNZLP2INCDLLP2:INCBXLOOPLP1MOV[BX],DLHLT參考答案:程序段的功能:統(tǒng)計(jì)從數(shù)據(jù)段偏移地址1000H的100個(gè)字節(jié)單元內(nèi)容0的個(gè)數(shù),并將統(tǒng)計(jì)結(jié)果存入數(shù)據(jù)段偏移地址為1064H的內(nèi)存單元。3.16試編程完成(AL)×7/4的程序段,AL中的數(shù)為有符號(hào)數(shù)。參考答案:MOVBL,7IMULBLMOVCL,2SARAX,CL3.17使用最少指令,實(shí)現(xiàn)下述要求的功能。⑴BL的高4位置1;⑵AL的低4位取反;⑶DL中的高4位移到低4位,低4位移到高4位;⑷AH的低4位移到高4位,低4位清0。參考答案:⑴ORBL,0F0H;⑵XORAL,0FH;⑶MOVCL,4RORAH,CL;⑷MOVCL,4SHLAH,CL。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第13頁(yè)。3.18在DS:2000H為首址的內(nèi)存數(shù)據(jù)段中,存放了10個(gè)16位帶符號(hào)數(shù),試編程將其中最大和最小的帶符號(hào)數(shù)找出來(lái),分別存放到以DS:3000H和DS:3002H微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第13頁(yè)。參考答案:MOVSI,2000HMOVAX,[SI];AX中存放最大數(shù)MOVBX,[SI];BX中存放最小數(shù)MOVCX,9FIND:ADDSI,2MOVDX,[SI]CMPAX,DXJGLOP1MOVAX,DXL0P1:CMPBX,DXJLLOP2MOVBX,DXLOP2:LOOPFINDMOVSI,3000HMOV[SI],AXADDSI,2MOV[SI],BXHLT3.19設(shè)中斷類型N=8,中斷服務(wù)程序的起始地址為3000:0100H,它在中斷向量表中如何存放?參考答案:N×4=8×4=32=20HDS:0020H存放00H;DS:0021H存放01H;DS:0022H存放00H;DS:0023H存放30H。4.1下列變量各占多少字節(jié)?M1DW12,78A3H微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第14頁(yè)。M2DB3DUP(?),0AH,0DH,‘$微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第14頁(yè)。M3DB‘HOWDOYOUDO?’參考答案:變量M1占4個(gè)字節(jié),變量M2占6個(gè)字節(jié),變量M3占14個(gè)字節(jié)4.2某程序設(shè)置的數(shù)據(jù)區(qū)如下:DATASEGMENTORG1000HD1DB11,2DH,56HD2DW32,0ABD3H,7634HD3DWD1D4DB$-D1D5DB4DUP(?)D6DB‘34FS’DATAENDS畫(huà)出該數(shù)據(jù)段內(nèi)容再內(nèi)存中存放形式(要求用十六進(jìn)制補(bǔ)碼表示,按字節(jié)組織)。參考答案:0B0B2D562000D3AB347600100B????33344653D1D2D3D5D4D64.3下面的數(shù)據(jù)定義,各條MOV指令執(zhí)行后,有關(guān)寄存器的內(nèi)容是什么?微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第15頁(yè)。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第15頁(yè)。DATA2DW5DUP(?)DATA3DB‘1234’MOVAX,TYPEDATA1MOVBX,SIZEDATA2MOVCX,LENGTHDATA3參考答案:(AX)=1,(BX)=10,(CX)=44.4假設(shè)程序中的數(shù)據(jù)定義如下:DATA1DW?DATA2DB10DUP(?)DATA3DD?DATA4EQU$-DATA1求DATA4的值為多少?表示什么意義?參考答案:DATA4的值為2+10+4=16,表示下一個(gè)內(nèi)存單元距離DATA1有16個(gè)字節(jié)。4.5設(shè)平面上有一點(diǎn)P的直角坐標(biāo)(x,y),編程實(shí)現(xiàn):如果P點(diǎn)落在第I象限,則K=I;如果P點(diǎn)落在坐標(biāo)軸上,則K=0。參考答案:XDW?YDW?KDB?…MOVBX,XMOVDX,YCMPBX,0JZK0CMPDX,0JZK0JGK12微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第16頁(yè)。CMPBX,微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第16頁(yè)。JGK4MOVK,3;在第三象限JMPEXITK0:MOVK,0;在坐標(biāo)軸JMPEXITK1:MOVK,1;在第一象限JMPEXITK4:MOVK,4;在第四象限JMPEXITK12:CMPBX,0JGK1MOVK,2;在第二象限JMPEXITEXIT:MOVAH,4CHINT21H4.6編程把字符串CHAR11中小寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)的大寫(xiě)字母,并存放在CHAR22開(kāi)始的內(nèi)存單元。CHAR11DB‘a(chǎn)sdfghjkl’COUNTDB$-CHAR11CHAR22DBCOUNTDUP(?)參考答案:CHAR11DB‘a(chǎn)sdfghjkl’COUNTDB$-CHAR11CHAR22DBCOUNTDUP(?)…MOVCX,COUNTMOVBX,0LOP:MOVDL,CHAR11[BX]SUBDL,20H微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第17頁(yè)。MOVCHAR22[BX],微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第17頁(yè)。INCBXLOOPLOP4.7字符串CHAR33存放有50個(gè)字節(jié)字符,設(shè)其中有字符M,編程查找第一個(gè)M字符相對(duì)字符串CHAR33起始地址的距離,并將其存放到LENTH11字節(jié)單元。參考答案:CHAR33DB50DUP(?)LENTH11DW?…MOVCX,50LEADI,CHAR33NN:MOVAL,[DI]CMPAL,‘M’JZFIND0LOOPNNJMPEXITFIND0:LEASI,CHAR33SUBDI,SIMOVLENTH11,DIEXIT:MOVAH,4CHINT21H4.8編程計(jì)算:(A*C-B)/B,其中A、B、C均為字節(jié)變量有符號(hào)數(shù)。參考答案:ADB20HBDB93HCDB45HDDW?…MOVAL,AMOVBL,C微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第18頁(yè)。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第18頁(yè)。MOVBX,AXMOVAL,BCBWSUBBX,AXMOVAX,BXMOVCL,BIDIVCL;結(jié)果在AX中,AL中為商,AH中為余數(shù)4.9編程查找出BUF數(shù)據(jù)區(qū)中帶符號(hào)數(shù)的最大數(shù)和最小數(shù),存放在MAX和MIN存儲(chǔ)單元中。參考答案:BUFDB12H,45H,0A2H,…,48HNEQU$-BUFMAXDB?MINDB?…LEASI,BUFMOVCX,N-1MOVBL,[SI]MOVAL,BLL1:INCSIMOVDL,[SI]CMPDL,BLJGEL2MOVBL,DL;BL中的值為兩個(gè)數(shù)比較的小值JMPNEXTL2:CMPDL,ALJLENEXTMOVAL,DL;AL中的值為兩個(gè)數(shù)比較的大值NEXT:LOOPL1微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第19頁(yè)。MOVMAX,微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第19頁(yè)。MOVMIN,BL4.10從自然數(shù)1開(kāi)始累加,直到累加和大于2000為止,統(tǒng)計(jì)被累加的自然數(shù)的個(gè)數(shù),并把統(tǒng)計(jì)的個(gè)數(shù)送入NUMBER單元,把累加和送入SUM單元。參考答案:DATASEGMENTNUMBERDW?SUMDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,0MOVBX,0LP:INCBXADDAX,BXCMPAX,2000JBELPMOVNUMBER,BXMOVSUM,AXMOVAH,4CHINT21HCODEENDSENDSTART4.11編寫(xiě)一個(gè)子程序,功能是將一個(gè)字節(jié)的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)。參考答案:;名稱:BCD2BIN;功能:將一個(gè)字節(jié)的BCD碼轉(zhuǎn)換成二進(jìn)制;所用寄存器:CX微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第20頁(yè)。;入口參數(shù):AL存放兩位BCD微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第20頁(yè)。;出口參數(shù):AL存放二進(jìn)制數(shù);調(diào)用其它子程序:無(wú)BCD2BINPROCNEAR(或FAR)PUSHCXMOVCH,ALANDCH,OFH;存低8位MOVCL,4SHRAL,CL;高8位右移4位后乘10MOVCL,10MULCLADDAL,CH;高8位加低8位POPCXRETBCD2BINENDP4.12設(shè)計(jì)一個(gè)軟件延時(shí)子程序,延時(shí)時(shí)間約為1s,假設(shè)系統(tǒng)時(shí)鐘為8MHz。參考答案:分析:軟件延時(shí)可用指令執(zhí)行消耗時(shí)間來(lái)達(dá)到,延時(shí)時(shí)間主要取決于循環(huán)體指令。從手冊(cè)查得PUSHF和POPF指令分別為10和8個(gè)時(shí)鐘節(jié)拍,LOOP指令為3.4個(gè)時(shí)鐘節(jié)拍,系統(tǒng)時(shí)鐘為8MHz,每個(gè)節(jié)拍需要0.125,因此延時(shí)1ms計(jì)算循環(huán)次數(shù):X=≈374次延時(shí)1s再循環(huán)1000次。;名稱:DELAY1S;功能:延時(shí)1S子程序;所用寄存器:BX、CX;入口參數(shù):無(wú),出口參數(shù):無(wú);調(diào)用其它子程序:無(wú)DELAY1SPROCNEARPUSHBX微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第21頁(yè)。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第21頁(yè)。MOVBX,1000LP1:MOVCX,374LP2:PUSHFPOPFLOOPLP2;延時(shí)1msDECBXJNZLP1POPCXPOPBXRET;延時(shí)1SDELAY1SENDP4.13編寫(xiě)程序,在屏幕上顯示字符串“Thisisasampleprogram.”。參考答案:DATASEGMENTDA1DB‘Thisisasampleprogram.’,0DH,OAH,‘$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAH,9LEADX,DA1INT21HMOVAH,4CHINT21HCODEENDSENDSTART4.14編程實(shí)現(xiàn):從鍵盤(pán)中輸入學(xué)生的姓名XYZ,當(dāng)按任意一個(gè)鍵時(shí),屏幕上顯示出:HELLO!XYZ微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第22頁(yè)。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第22頁(yè)。CHAR1DB20DB?DB20DUP(?)CHAR2DB‘HELLO!’,‘$’…START:LEASI,CHAR1MOVAH,0AHINT21H;輸入姓名存CHAR1+2單元MOVAH,8INT21H;等待按鍵LEADX,CHAR2MOVAH,9INT21H;顯示CHAR2開(kāi)始的內(nèi)容LEABX,CHAR1+2;顯示姓名首地址MOVCL,[BX-1]MOVCH,0;CX中為輸入姓名字符個(gè)數(shù)LP:MOVAH,2MOVDL,[BX]INT21HINCBXLOOPLP;逐個(gè)顯示名字的字符5.1DRAM為什么要刷新?參考答案:動(dòng)態(tài)隨機(jī)存儲(chǔ)器DRAM依靠電容來(lái)保存信息。為了不丟失信息,需要再電容放電丟失信息前,把數(shù)據(jù)讀出來(lái)再寫(xiě)進(jìn)去,相當(dāng)于再次給電容充電,以維持所記憶的信息,這是動(dòng)態(tài)刷新。5.2設(shè)有一個(gè)具有13位地址和8位字長(zhǎng)的存儲(chǔ)器,問(wèn):⑴存儲(chǔ)器能存儲(chǔ)多少字節(jié)信息?⑵如果存儲(chǔ)器由1K×4位RAM芯片組成,共計(jì)需要多少片?⑶需要用幾位高位地址做片選譯碼來(lái)產(chǎn)生芯片選擇信號(hào)?微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第23頁(yè)。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第23頁(yè)。⑴存儲(chǔ)器能存儲(chǔ)213字節(jié)信息。⑵13位地址和8位字長(zhǎng)是8K×8位,如果存儲(chǔ)器由1K×4位RAM芯片組成,共計(jì)需要16片。⑶需要用A10、A11、A12位高位地址做片選3-8譯碼來(lái)產(chǎn)生芯片選擇信號(hào)。5.3設(shè)有16片256K×1位的SRAM芯片。(1)只采用位擴(kuò)展方法可構(gòu)成多大容量的存儲(chǔ)器?(2)如果采用8位的字節(jié)編址方式,該存儲(chǔ)器需要多少地址線?參考答案:(1)256K×16位存儲(chǔ)器;(2)構(gòu)成的存儲(chǔ)器是512K×8位,219=512K,則需要19根地址線。5.4設(shè)有若干片32K×8位的SRAM芯片,設(shè)計(jì)一個(gè)總?cè)萘繛?4K的16位存儲(chǔ)器,需要多少片32K×8位的SRAM芯片?參考答案:(64K×16)/(32K×8)=4,需要4片5.5如果某存儲(chǔ)器分別有8、12、16位地址線,對(duì)應(yīng)的存儲(chǔ)單元由多少?參考答案:對(duì)于的存儲(chǔ)單元分別是:256個(gè)、4K個(gè)、64K個(gè)。5.6已知ROM的容量為8K×8,設(shè)它的首地址為30000H,那么最后一個(gè)單元地址是多少?參考答案:最后一個(gè)單元地址是:30000H+1FFFH=31FFFH5.7設(shè)有若干片256KB的SRAM芯片,構(gòu)成2048KB存儲(chǔ)器。(1)需要多少片256KBSRAM芯片?(2)構(gòu)成2048KB存儲(chǔ)器需要多少地址線?參考答案:(1)需要2048/256=8片256KBSRAM芯片;(2)2048K=221,構(gòu)成2048KB存儲(chǔ)器需要21地址線。5.8CPU有16根地址線,即A15~A0,計(jì)算圖5.19所示的片選信號(hào)和指定的基地址范圍。A15CPUA12A15CPUA12&≥1CS1CS2參考答案:微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第24頁(yè)。低電平有效需要A15~A12全是高電平1值,低電平有效需要A15~A12全是低電平0值。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第24頁(yè)。A15~A12:1111B=0FH,A11~A0變化范圍:000H~FFFH。因此地址范圍:F000H~FFFFH。A15~A12:000B=0H,A11~A0變化范圍:000H~FFFH。因此地址范圍:0000H~0FFFH。6.1為什么外設(shè)要通過(guò)接口電路和主機(jī)系統(tǒng)相連?參考答案:微機(jī)CPU和外設(shè)信號(hào)存在速度差異、信號(hào)電平差異及驅(qū)動(dòng)能力差異、信號(hào)形式差異(CPU只能處理數(shù)字信號(hào),而外設(shè)有數(shù)字量、模擬量、非電量等)、時(shí)序差異等問(wèn)題,這些都需要通過(guò)在CPU與外設(shè)之間設(shè)置相應(yīng)的I/O接口電路來(lái)予以解決。接口電路具有:速度協(xié)調(diào)、數(shù)據(jù)鎖存、三態(tài)緩沖、數(shù)據(jù)轉(zhuǎn)換、中斷控制功能等。6.2什么叫端口?通常有哪幾類端口?計(jì)算機(jī)對(duì)I/O端口編址時(shí)通常采用哪兩種方法?在8086/8088系統(tǒng)中,用哪種方法對(duì)I/O端口進(jìn)行編址?參考答案:端口是接口電路中能被CPU直接訪問(wèn)(讀/寫(xiě))的寄存器,每個(gè)端口都有一個(gè)地址。一般說(shuō)來(lái),I/O接口電路中有3種端口:數(shù)據(jù)端口,狀態(tài)端口和控制端口。I/O端口地址通常有兩種編址方式:一種是將內(nèi)存地址與I/O端口地址統(tǒng)一編在同一地址空間中,稱為存儲(chǔ)器映像的I/O編址方式;另一種是將內(nèi)存地址與I/O端口地址分別編在不同的地址空間中,稱為I/O端口單獨(dú)編址方式。在8086/8088系統(tǒng)中,采用I/O端口單獨(dú)編址方式。6.3CPU與外設(shè)間數(shù)據(jù)傳送的控制方式有哪幾種?它們各自的優(yōu)缺點(diǎn)是什么?參考答案:傳送方式有:無(wú)條件傳送方式、查詢傳送方式、中斷傳送方式、以及DMA方式等。⑴無(wú)條件傳送是一種最簡(jiǎn)單的程序控制傳送方式,CPUI/O前不需要查詢外設(shè)的工作狀態(tài),任何時(shí)候都可訪問(wèn)。優(yōu)點(diǎn)是簡(jiǎn)單,缺點(diǎn)是只有像開(kāi)關(guān)、發(fā)光二極管、繼電器、步進(jìn)電動(dòng)機(jī)等外設(shè)在與CPU進(jìn)行信息交換時(shí)才可以采用無(wú)條件傳送方式。⑵查詢傳送方式在執(zhí)行I/O操作之前,需要通過(guò)程序?qū)ν庠O(shè)的狀態(tài)進(jìn)行檢查。當(dāng)所選定的外設(shè)已準(zhǔn)備“就緒”后,才開(kāi)始進(jìn)行I/O操作。其優(yōu)點(diǎn)是使CPU能和不同速度的外設(shè)傳送數(shù)據(jù),缺點(diǎn)是需要占用CPU資源。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第25頁(yè)。⑶中斷傳送方式是指外設(shè)就緒時(shí),主動(dòng)向CPU發(fā)出中斷請(qǐng)求,從而使CPU去執(zhí)行相應(yīng)的中斷服務(wù)程序,完成與外設(shè)間的數(shù)據(jù)傳送。采用中斷方式傳送,數(shù)據(jù)傳送實(shí)時(shí)性好,另外在外設(shè)未準(zhǔn)備就緒時(shí),CPU微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第25頁(yè)。⑷DMA方式又叫直接存儲(chǔ)器存取方式,是在外設(shè)和存儲(chǔ)器之間開(kāi)辟直接的數(shù)據(jù)傳送通路,在存儲(chǔ)器和外設(shè)之間的通路上直接傳送數(shù)據(jù)。DMA方式的實(shí)現(xiàn)主要是靠硬件(DMA控制器)實(shí)現(xiàn)的,不必進(jìn)行保護(hù)現(xiàn)場(chǎng)等一系列額外操作,優(yōu)點(diǎn)是減輕了CPU的負(fù)擔(dān),特別適合于高速度大批量數(shù)據(jù)傳送的場(chǎng)合。缺點(diǎn)是要增設(shè)DMA控制器,硬件電路比其它方式更為復(fù)雜。6.4結(jié)合指令簡(jiǎn)述下圖CPU與外設(shè)以查詢方式輸出數(shù)據(jù)的接口電路工作過(guò)程(設(shè)地址譯碼數(shù)據(jù)口地址為60H,狀態(tài)口地址為61H)。參考答案:工作過(guò)程:當(dāng)輸出裝置把CPU輸出的數(shù)據(jù)輸出以后,發(fā)出一個(gè)信號(hào),使D觸發(fā)器置0,即使BUSY線為0,當(dāng)CPU輸入這個(gè)狀態(tài)信息后(經(jīng)G3至D7),知道外設(shè)為“空”,于是執(zhí)行輸出指令。待執(zhí)行輸出指令后,由地址信號(hào)和/IO及相“與”,經(jīng)G1發(fā)出選通信號(hào),把在數(shù)據(jù)總線上的輸出數(shù)據(jù)送至鎖存器;同時(shí),觸發(fā)D觸發(fā)器為“1”狀態(tài),它一方面通知外設(shè)輸出數(shù)據(jù)已準(zhǔn)備好,可以執(zhí)行輸出操作,另一方面在數(shù)據(jù)由輸出裝置輸出以前,一直保持為1,告知CPU(CPU通過(guò)讀狀態(tài)端口知道)外設(shè)BUSY,阻止CPU輸出新的數(shù)據(jù)。查詢輸出部分的程序如下:POLL:INAL,61H;查狀態(tài)端口中的狀態(tài)信息D7TESTAL,80HJNEPOLL;D7=1,即忙線=1,則循環(huán)再查MOVAL,[SI];若外設(shè)空閑,則由內(nèi)存讀取數(shù)據(jù)OUT60H,AL;輸出到60H地址端口單元6.5什么是中斷向量表?在8086/8088的中斷向量表中有多少不同的中斷向量?若已知中斷類型號(hào)是10,說(shuō)明如何在中斷向量表中查找中斷向量?參考答案:8086/8088的256個(gè)中斷處理子程序的入口地址統(tǒng)一存放在內(nèi)存的一個(gè)固定區(qū)域。每個(gè)中斷處理子程序的入口地址占用4字節(jié)存儲(chǔ)單元,低地址的兩字節(jié)存放中斷處理子程序入口地址的偏移量(IP),高地址的兩字節(jié)存放段地址(CS)。這些中斷處理子程序的入口地址,稱為中斷向量。256個(gè)中斷向量要使用256×4=1024個(gè)字節(jié),這1024字節(jié)所占的內(nèi)存區(qū)域,稱中斷向量表。每個(gè)中斷服務(wù)程序入口地址在中斷向量表中的位置可由“中斷類型碼×4”計(jì)算出來(lái)。若中斷類型碼n=10,則其中斷向量存放在中斷向量表00028H(10×4=40=28H)開(kāi)始的連續(xù)4個(gè)單元中。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第26頁(yè)。6.68086/8088微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第26頁(yè)。參考答案:內(nèi)部中斷具有如下特點(diǎn):(1)內(nèi)部中斷的除法出錯(cuò)中斷、溢出中斷、INTn中斷優(yōu)先級(jí)均高于外部中斷,外部中斷中NMI級(jí)別高于INTR,只有單步中斷優(yōu)先級(jí)最低且低于外中斷。(2)除單步中斷外其他內(nèi)部中斷均無(wú)法禁止。(3)由于中斷類型碼已確定,所以不用執(zhí)行中斷響應(yīng)周期取中斷類型碼。(4)由于內(nèi)部中斷均處于程序的固定位置處,所以無(wú)隨機(jī)性。6.78086CPU響應(yīng)可屏蔽中斷的過(guò)程。參考答案:當(dāng)8086CPU的INTR引腳有中斷申請(qǐng)輸入時(shí),如果標(biāo)志寄存器的IF=1,CPU響應(yīng)可屏蔽硬件中斷,并在引腳輸出2個(gè)低電平,時(shí)序如下圖所示。第1第1個(gè)INTA總線周期T1T2T3T4第2個(gè)INTA總線周期T1T2T3T4T1T1空閑狀態(tài)CLKALEINTAAD7~AD0中斷類型號(hào)8086的中斷響應(yīng)時(shí)序由兩個(gè)連續(xù)的中斷響應(yīng)總線周期組成,中間由空閑時(shí)鐘周期隔開(kāi)。在兩個(gè)總線周期中,輸出為低電平,以響應(yīng)這個(gè)中斷。第1個(gè)總線周期表示有一個(gè)中斷響應(yīng)正在進(jìn)行,這樣可以使申請(qǐng)中斷的設(shè)備有時(shí)間去準(zhǔn)備在第2個(gè)總線周期內(nèi)發(fā)出中斷類型號(hào)。在第2個(gè)總線周期中,中斷類型號(hào)必須在16位數(shù)據(jù)總線的低8位(AD0~AD7)上傳送給8086。因此,提供中斷類型號(hào)的中斷接口電路8259A的8位數(shù)據(jù)線是接在8086的16位數(shù)據(jù)線的低8位上。在中斷響應(yīng)總線周期期間,經(jīng)和的配合作用,使得8086可以從申請(qǐng)中斷的接口電路中取得一個(gè)單字節(jié)的中斷類型號(hào)。得到中斷向量,進(jìn)入中斷服務(wù)子程序。微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第27頁(yè)。7.1設(shè)8255A的控制口地址為83H,要求A口工作在方式0輸出,B口工作在方式0輸入,C口高4位輸入,低4位輸出,試編寫(xiě)8255A微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第27頁(yè)。參考答案:初始化程序:OUT83H,AL7.2下圖當(dāng)A7A6A5=111,A4A3A0=100時(shí),=0,選中8255A。求8255A四個(gè)端口的8位地址;電路功能為開(kāi)關(guān)K7~K0隨時(shí)控制LED7~LED0的亮滅,試編寫(xiě)程序?qū)崿F(xiàn)功能。參考答案:4個(gè)端口地址:F0H、F2H、F4H和F6H,初始化程序:OUT0F6H,ALHH:INAL,0F0HOUT0F2H,ALJMPHH7.3編一初始化程序,使8255A的PC2端輸出一個(gè)負(fù)跳變。如果要求PC6端輸出一個(gè)負(fù)脈沖,則初始化程序又是如何?設(shè)8255A控制口地址為63H。參考答案:8255A的PC2端輸出一個(gè)負(fù)跳變程序:MOVAL,00000101BOUT63H,AL;PC2輸出高電平HH1:MOVCX,10LOOPHH1;延時(shí)等待MOVAL,00000100BOUT63H,AL;PC2輸出低電平PC6端輸出一個(gè)負(fù)脈沖程序:MOVAL,00001101BOUT63H,AL;PC6輸出高電平HH2:MOVCX,10LOOPHH2;延時(shí)等待MOVAL,00001100B微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第28頁(yè)。OUT63H,ALPC6微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第28頁(yè)。HH3:MOVCX,10LOOPHH3;延時(shí)等待MOVAL,00001101BOUT63H,AL;PC6輸出高電平7.4某系統(tǒng)中8253芯片的通道0~通道2和控制口端口地址分別為0F000H~0F003H,定義通道0工作在方式3,CLK0=5MHz,要求OUT0=1kHz方波;通道2工作在方式2,用OUT0作為計(jì)數(shù)脈沖,計(jì)數(shù)值為1000。請(qǐng)編寫(xiě)初始化程序。參考答案:通道0的計(jì)數(shù)值:5MHz/1kHz=5000MOVAL,00110110BMOVDX,0F003HOUTDX,AL;通道0初始化MOVAX,5000MOVDX,0F000HOUTDX,ALMOVAL,AHOUTDX,AL;通道0送計(jì)數(shù)值MOVDX,0F003HOUTDX,ALMOVAX,1000MOVDX,0F002HOUTDX,ALMOVAL,AHOUTDX,AL;通道2送計(jì)數(shù)值7.5設(shè)8253的通道0~通道2和控制口端口地址分別為300H,302H,304H,306H,定義通道0工作在方式3,CLK0=2MHz。要求通道0輸出1KHz的方波。試編寫(xiě)初始化程序,并畫(huà)出硬件連線示意圖。參考答案:計(jì)數(shù)初值:2MHz/1KHz=2000初始化程序:微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第29頁(yè)。MOVDX,微機(jī)原理及接口技術(shù)李干林—習(xí)題參考解答全文共32頁(yè),當(dāng)前為第29頁(yè)。MOVAL,00110110BOUTDX,ALMOVAX,2000MOVDX,300HOUTDX,ALMOVAL,AHOUTDX,AL硬件連線示意圖:CLK0CLK0GATE0OUT082532MHz時(shí)鐘輸入+5V1KHz方波輸出7.68259A中斷控制器的中斷屏蔽寄存器(IMR)和8086/8088CPU的中斷允許標(biāo)志IF有什么差別?在

溫馨提示

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