微機原理課后習(xí)題參考答案_第1頁
微機原理課后習(xí)題參考答案_第2頁
微機原理課后習(xí)題參考答案_第3頁
微機原理課后習(xí)題參考答案_第4頁
微機原理課后習(xí)題參考答案_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1部分 微型計算機基礎(chǔ)知識1.1 微處理器、微型計算機和微型計算機系統(tǒng)三者之間有什么不同?【解】微處理器:指計算機內(nèi)部對數(shù)據(jù)進行處理并對處理過程進行控制的部件,伴隨著大規(guī)模集成電路技術(shù)的迅速發(fā)展,芯片集成密度越來越高,CPU可以集成在一個半導(dǎo)體芯片上,這種具有中央處理器功能的大規(guī)模集成電路器件,被統(tǒng)稱為“微處理器”。 微型計算機:簡稱“微型機”、“微機”,也稱“微電腦”。由大規(guī)模集成電路組成的、體積較小的電子計算機。由微處理機(核心)、存儲片、輸入和輸出片、系統(tǒng)總線等組成。特點是體積小、靈活性大、價格便宜、使用方便。微型計算機系統(tǒng):簡稱“微機系統(tǒng)”。由微型計算機、顯示器、輸入輸出設(shè)備、電源及

2、控制面板等組成的計算機系統(tǒng)。配有操作系統(tǒng)、高級語言和多種工具性軟件等。 CPU在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?CPU應(yīng)該具備哪些主要功能?【解】CPU在內(nèi)部結(jié)構(gòu)上由運算器、控制器、寄存器陣列和內(nèi)部總線等各部分構(gòu)成,其主要功能是完成各種算數(shù)及邏輯運算,并實現(xiàn)對整個微型計算機控制,為此,其內(nèi)部又必須具備傳遞和暫存數(shù)據(jù)的功能。1.3 微型計算機采用總線結(jié)構(gòu)有什么優(yōu)點?【解】 簡化了系統(tǒng)結(jié)構(gòu),便于系統(tǒng)設(shè)計制造; 大大減少了連線數(shù)目,便于布線,減小體積,提高系統(tǒng)的可靠性; 便于接口設(shè)計,所有與總線連接的設(shè)備均采用類似的接口; 便于系統(tǒng)的擴充、更新與靈活配置,易于實現(xiàn)系統(tǒng)的模塊化; 便于設(shè)備的軟件設(shè)計,所有接

3、口的軟件就是對不同的口地址進行操作; 便于故障診斷和維修,同時也降低了成本??偩€的邏輯電路有些是三態(tài)的,即輸出電平有三種狀態(tài):邏輯“0”,邏輯“1”和“高阻”態(tài)。1.4計算機總線有哪些,分別是什么?【解】總線按其信號線上傳輸?shù)男畔⑿再|(zhì)可分為三組: 數(shù)據(jù)總線,一般情況下是雙向總線; 地址總線,單向總線,是微處理器或其他主設(shè)備發(fā)出的地址信號線; 控制總線,微處理器與存儲器或接口等之間15 數(shù)據(jù)總線和地址總線在結(jié)構(gòu)上有什么不同之處?如果一個系統(tǒng)的數(shù)據(jù)和地址合用一套總線或者合用部分總線,那么要靠什么來區(qū)分地址和數(shù)據(jù)?【解】數(shù)據(jù)總線(DB)為雙向結(jié)構(gòu),數(shù)據(jù)在CPU與存儲器或I/O接口之間的傳送是雙向的,

4、(數(shù)據(jù)既可以讀也可以寫),其寬度通常與微處理器的字長相同。而地址總線(AB)是CPU向存儲器或I/O接口傳送地址的信號線,只需單向傳輸,它的位數(shù)決定了CPU可以直接尋址的范圍。8086CPU為了減少芯片的引腳數(shù)量,采用數(shù)據(jù)與地址線復(fù)用,既作數(shù)據(jù)總線也作為地址總線。它們主要靠信號的時序來區(qū)分。通常在讀寫數(shù)據(jù)時,總是先輸出地址(指定要讀或?qū)憯?shù)據(jù)的單元),然后再讀或?qū)憯?shù)據(jù)。第2部分 80X86微處理器2.1 IA-32結(jié)構(gòu)微處理器直至Pentium 4,有哪幾種?【解】80386、80486、Pentium 、Pentium Pro、Pentium II、Pentium III、Pentium 4。

5、2.2 IA-32結(jié)構(gòu)微處理器有哪幾種操作模式?【解】IA-32結(jié)構(gòu)支持3種操作模式:保護模式、實地址模式和系統(tǒng)管理模式。操作模式確定哪些指令和結(jié)構(gòu)我是可以訪問的。2.3 IA-32結(jié)構(gòu)微處理器的地址空間如何形成?【解】由段寄存器確定的段基地址與由各種尋址方式確定的有效地址相加形成了線性地址。若未啟用分頁機制,線性地址即為物理地址;若啟用分頁機制,則它把線性地址轉(zhuǎn)換為物理地址。2.4 基本程序執(zhí)行寄存器是由哪些寄存器組成?【解】基本程序執(zhí)行寄存器由以下寄存器組成:(1)通用寄存器。這8個寄存器能用于存放操作數(shù)和指針。(2)段寄存器。這些寄存器最多能保持6個段先擇子。(3)EFLAGS(程序狀態(tài)

6、和控制)寄存器。EFLAGS寄存器報告正在執(zhí)行的程序的狀態(tài)并允許有限地(應(yīng)用程序級)控制處理器。(4)EIP(指令指針)寄存器。EIP寄存器包含下一條要執(zhí)行的釜底抽薪32位指針。2.5 實地址方式的存儲器是如何組織的?地址如何形成?【解】IA-32結(jié)構(gòu)微處理器中的實地址方式是為了與8086(8088)CPU兼容而設(shè)置的。所以IA-32結(jié)構(gòu)微處理器的實地址方式是從存儲器組織來看與8086(8088)CPU的存儲器組織是一樣的。8086微處理器有20條地址引線,它的直接尋址能力為220=1MB。所以,在一個由8086組成的系統(tǒng)中,可以有多達(dá)1MB的存儲器。這1MB邏輯上可以組織成一個線性矩陣。地址

7、范圍為00000HFFFFFH。但是,在8086內(nèi)部的AIU能進行16位運算,有關(guān)地址的寄存器如SP、IP,以及BP、SI、DI等也都是16位的,因而8086對地址的運算也只能是16位。這就是說,對于8986來說,各種尋址方式,尋找操作數(shù)的范圍最多只能是64KB。所以,整個1MB存儲器以64KB為范圍若干段。在尋址一個具體物理單元時,必須要由一個基地址再加上各種尋址方式確定的16位偏移量來形成實際的20位物理地址。段基地址就是由8088向處理器段寄存器中的16位數(shù)自動左移4位,然后再與16位偏移量相加,形成20位物理地址。2.6 通用寄存器起什么作用?【解】通用寄存器主要用于:(1)邏輯和算術(shù)

8、操作的操作數(shù)。(2)用于地址計算的操作數(shù)。(3)內(nèi)存指針。2.7 8086的基本程序執(zhí)行寄存器是由哪些寄存器組成?【解】基本程序執(zhí)行寄存器是由八個通用寄存器、四個段寄存器、標(biāo)志寄存器FLAG和IP寄存器組成。2.8 8086的存儲器是如何組織的?地址如何形成?【解】8086的存儲器采用分段機制。實際存儲單元地址由段基址左移四位加上偏移地址構(gòu)成20位的物理地址所組成。2.9 指令地址如何形成?【解】由段寄存器CS確定的段基地址與由指令指針確定的偏移理相加形成指令地址。2.10 8086微處理器的總線接口部件有哪些功能?請一一說明。【解】總線接口單元(BIU)負(fù)責(zé)與存儲器接口;執(zhí)行單元(EU)執(zhí)行

9、各種操作。BIU主要由段寄存器、指令指針、加法器(形成20位地址)和預(yù)取的指令流隊列等組成。2.11 8086微處理器的總線接口有哪幾部分組成?【解】8086微處理器中的總線接口單元(BIU)負(fù)責(zé)CPU與存儲器之間的信息傳送。由(1)4個段地址寄存器。即CS DS ES SS。(2)16位的指令指針寄存器IP。(3)20位的地址加法器。(4) 6字節(jié)的指令隊列。具體地說,BIU既負(fù)責(zé)從內(nèi)存的指定部分取出指令,送至指令隊列中的排隊(8086的指令隊列有6個字節(jié),而8088的指令隊列只有4個字節(jié));也負(fù)責(zé)傳送執(zhí)行指令時所需的操作數(shù)。執(zhí)行單元(EU)負(fù)責(zé)執(zhí)行指令規(guī)定的操作。2.12 段寄存器CS=1

10、200H,指令指針寄存器IP=FF00H,此時,指令的物理地址為多少?【解】指令的物理地址=12000H+FF00H=21F00H2.13 8086微處理器的執(zhí)行部件有什么功能?由哪幾部分組成?【解】8086微處理器的執(zhí)行部件負(fù)責(zé)指令的執(zhí)行。它主要由算術(shù)邏輯單元、標(biāo)志寄存器和通用寄存器等部分組成。2.14 狀態(tài)標(biāo)志和控制標(biāo)志有何不同?程序中是怎樣利用這兩類標(biāo)志的?8086微處理器的狀態(tài)標(biāo)志和控制標(biāo)志分別有哪些?【解】狀態(tài)標(biāo)志反映算術(shù)和邏輯運算的結(jié)果,主要用于各種條件??刂茦?biāo)志實現(xiàn)一些控制作用。EFLAGS寄存器有下面6個狀態(tài)標(biāo)志。(1)進位標(biāo)志C(Carry Flag)當(dāng)結(jié)果的最高位(字節(jié)操作

11、時的D7或字操作時的D15、雙字操作的D31)產(chǎn)生一個進位或借位,則C=1,否則為0。這個標(biāo)志主要用于我字節(jié)數(shù)的加、減法運算。移位和循環(huán)指令也能夠把存儲器或寄存器中的最高位(左移時)或最低位(右移時)放入標(biāo)志C中。(2)輔助進位標(biāo)志A(Auxitiary Carry Flag)在字節(jié)操作時,則由低半字節(jié)(一個字節(jié)的低4位)向高半字節(jié)有進位或借位,則A=1,否則為0 。這個標(biāo)志用于十進制算術(shù)運算指令中。(3)溢出標(biāo)志O(Overflow Flag) 在算術(shù)運算中,帶符號數(shù)的運算結(jié)果超出了8位、16位或32位帶符號數(shù)所能表達(dá)的范圍,即在字節(jié)運算時大于+127或小于-128,在字運算時大于+3276

12、7或小于-32768,在雙字運算時大于+231-1或小于-231,則此標(biāo)志置位,否則復(fù)位。一個任先的溢出中數(shù)據(jù)指令,在溢出情況下能產(chǎn)生中斷。(4)符號標(biāo)志S(Sign Flag)符號標(biāo)志值與運算結(jié)果的最高位相同。即結(jié)果的最高位(字操作時為D15)為1,則S=1;否則,S=0。由于在IA-32結(jié)構(gòu)微處理器中,符號數(shù)是用補碼表示的,所以S表示了結(jié)果的符號,0=正,1=負(fù)。(5)奇偶標(biāo)志P(Parity Flag)若操作結(jié)果中“1”的個數(shù)為偶數(shù),則P=1,否則P=0。這個標(biāo)志可用于檢查在數(shù)據(jù)傳送過程中是否發(fā)生錯誤。(6)零標(biāo)志Z(Zero Flag)若運算的結(jié)果為0,則Z=1,否則Z=03個控制標(biāo)志

13、,TF陷阱標(biāo)志位(單步標(biāo)志位、跟蹤標(biāo)志)。當(dāng)該位置1時,將使8086/8088進入單步工作方式,通常用于程序的調(diào)試。IF中斷允許標(biāo)志位,若該位置1,則處理器可以響應(yīng)可屏蔽中斷,否則就不能響應(yīng)可屏蔽中斷。DF方向標(biāo)志位,若該位置1,則串操作指令的地址修改為自動減量方向,反之,為自動增量方向。2.15 如果一個堆棧從地址1250::0000H開始,它的最后一個字的偏移地址為0100H,SP的內(nèi)容為0052H,問:(1)棧頂?shù)刂肥鞘裁矗浚?)棧底地址是什么?(3)在SS中的段地址是什么?(4)存入數(shù)據(jù)2345H后,SP的內(nèi)容是什么?【解】. 棧頂?shù)刂?250:0052,SP指向棧頂?shù)刂贰? 棧底地址

14、1250:0100,棧底地址為高地址。. SS中的段地址為1250,SS中的段地址為堆棧段地址。存入2345H后,SP內(nèi)容為0050H。一次入棧操作,SP=SP-2。2.16 8086微處理器是怎樣解決地址線和數(shù)據(jù)線的復(fù)用問題的?ALE信號何時有效?【解】采用分時復(fù)用的方法。ALE在T1時刻有效,其他時間段均無效。第3部分 80X86微處理器的指令系統(tǒng)3.1 分別指出下列指令中的源操作數(shù)和目的操作數(shù)的尋址方式。(1)MOV SI,300(2)MOV CX,DATADI(3)ADD AX,BXSI(4)AND AX,CX(5)MOV BP,AX(6)PUSHF【解】(1)源操作數(shù)為立即尋址,目的

15、操作數(shù)為寄存器尋址。(2)源操作數(shù)為變址寄存器加位移量尋址,目的操作數(shù)為寄存器尋址。(3)源操作數(shù)為基址加變址尋址,目的操作數(shù)為寄存器尋址。(4)源操作數(shù)和目的操作數(shù)都 為寄存器尋址。(5)源操作數(shù)為寄存器址,目的操作數(shù)為寄存器間接尋址。(6)為堆棧操作。3.2 8086匯編語言指令的尋址方式有哪幾類?哪種尋址方式的執(zhí)行速度最快?【解】尋址方式分為:立即尋址方式、寄存器操作數(shù)尋址方式和存儲器操作數(shù)尋址方式。其中,寄存器操作數(shù)尋址方式的執(zhí)行速度最快。3.3試述指令MOV AX,2000H和MOV AX,DS:2000H的區(qū)別。【解】前一條指令是立即數(shù)尋址,即把立即數(shù)2000H傳送至寄存器AX。后

16、一條指令是直接尋址,是把數(shù)據(jù)(DS)段中的地址為2000H單元的內(nèi)容傳送至寄存器AX。3.4 堆棧操作指令時要注意什么問題?傳送指令和交換指令在涉及內(nèi)存操作數(shù)時應(yīng)該分別要注意什么問題?【解】使用堆棧指令可以把內(nèi)存單元作為一個操作數(shù)(從內(nèi)存到內(nèi)存)。但堆棧固定在堆棧段,且只能由SP指向。且堆棧操作要修改堆棧指針。MOV指令不能實現(xiàn)內(nèi)存單元間的數(shù)據(jù)傳送。XCHG指令是交換,有一個操作數(shù)必須是寄存器。3.5 斷下列指令書寫是否正確。 (1) MOY AL,BX (2) MOY AL,CL (3) INC BX(4) MOV 5,AL (5) MOV BX,SI (6) MOV BL,0F5H (7)

17、 MOV DX,2000H (8) POP CS (9) PUSH CS【解】 (1)不正確,AL與BL數(shù)據(jù)寬度不同。(2)正確。(3)不正確,因為不明確是增量字節(jié)還是字。(4)不正確,立即數(shù)不能作為目的操作數(shù)。(5)不正確,因為不明確要傳送的是字節(jié)還是字。(6)正確。(7)正確。(8)不正確,CS不能作為POP指令的操作數(shù)。(9)不正確,CS不能作為PUSH指令的操作數(shù)。3.6寫出以下指令中內(nèi)存操作數(shù)的所在地址。(1)MOV AL,BX+10(2)MOV BP+10,AX(3)INC BYTE PTRSI+5(4)MOV DL,ES:BX+SI(5)MOV BX,BP+DI+2【解】(1)數(shù)

18、據(jù)段BX+10單元(2)堆棧段BP+10單元(3)數(shù)據(jù)段SI+5字節(jié)單元(4)附加段(ES段)BX+SI單元(5)堆棧段BP+DI+2單元3.7 兩種方法寫出從80H端口讀入信息的指令。再用兩種方法寫出從40H口輸出100H的指令。【解】 (1)IN AL,80H (2)MOV DX,80H IN AL,DX (3)MOV AL,100H OUT 40H,AL (4)MOV AL,100HMOV DX,40HOUT DX,AL3.8假如:AL=20H,BL=10H,當(dāng)執(zhí)行CMP AL,BL后,問: (1)AL、BL中的內(nèi)容是兩個無符號數(shù),比較結(jié)果如何?影響哪幾個標(biāo)志位? (2)AL、BL中的內(nèi)

19、容是兩個有符號數(shù),結(jié)果又如何,影響哪幾個標(biāo)志位?【解】 (1)AL=20H,BL=10H,O=0,S=0,Z=0,A=0,P=0,C=0。 (2)因為兩個都是符號正數(shù),其結(jié)果與(1)相同。3.9設(shè)堆棧指針SP的初始值為1000H,AX=2000H,BX=3000H,試問:(1)執(zhí)行指令PUSH AX后SP=?(2)再執(zhí)行PUSH BX及POP AX后SP=?、AX=?、BX=?【解】(1)SP=OFFEH.。 (2)SP=OFFEH;AX=3000H;BX=3000H。3.10要想完成把3000H送2000H中,用指令:MOV 2000H,3000H 是否正確?如果不正確,應(yīng)用什么方法?【解】

20、不正確。 正確的方法為: MOV AL,3000H MOV 2000H,AL3.11若要使AL10,有哪幾種方法,試編寫出各自的程序段?!窘狻?(1)使用乘法指令: MOV BL,10 ;乘數(shù) MUL BL ;AL*BL,結(jié)果存入AX (2)使用移位指令: SHL AL,1 ;AL*2 MOV BL,AL ;保留一份 SHL AL,2 ;AL*2*2*2 ADD AL,BL ;AL*(8+2) (3)使用加法指令: ADD AL,AL MOV BL,AL ADD AL,AL ADD AL,AL ADD AL,BL3.12 用兩種方法寫出從80H端口讀入信息的指令。再用兩種方法寫出從40H口輸出

21、100H的指令?!窘狻浚?)IN AL,80H (2)MOV DX,80H IN AL,DX (3)MOV AL,100H OUT 40H,AL (4)MOV AL,100H MOV DX,40H OUT DX,AL3.13 8086匯編語言指令的尋址方式有哪幾類?用哪一種尋址方式的指令執(zhí)行速度最快?【解】尋址方式分為:立即數(shù)尋址方式、寄存器操作數(shù)尋址方式和存儲器操作數(shù)尋址方式。其中,寄存器操作數(shù)尋址方式的指令執(zhí)行速度最快。3.14普通移位指令和循環(huán)移位指令(帶CF的和不帶CF的兩類)在執(zhí)行操作時,有什么差別?在編制乘、除法程序時,為什么常用移位指令來代替乘、除法指令?試編寫一個程序段,實現(xiàn)將

22、BX中的數(shù)乘以10,結(jié)果仍放在BX中的操作?!窘狻窟@兩種指令的區(qū)別在于是否把標(biāo)志位(CF)的值放入循環(huán)中。作移一位相當(dāng)于乘2,右移一位相當(dāng)于除2。故左移或右移可實現(xiàn)乘或除2的冪。而移位指令比乘法和除法指令要快得多。要實現(xiàn)BX中的數(shù)乘10,可以用乘(2+8)實現(xiàn),乘2即左移1位,乘8即左移3位,把左移1位和左移3位的數(shù)相加就行。 SHL BX,1 MOV AX,BX SHL BX,2 ADD BX,AX3.15用串操作指令設(shè)計實現(xiàn)如下功能的程序段:首先將100H個數(shù)從2170H處搬到1000H處;然后,從中檢索出相等于AL中字符的單元,并將此單元的值換成空格符?!窘狻縈OV SI,2170H M

23、OV DI,1000H MOV CX,100HREP MOVS DI,SINEXT: SCASB JZ NI LOOP NEXT NI: DEC DI MOV DI,20H JMP NEXT3.16在使用條件轉(zhuǎn)移指令時,要特別注意它們均勻為相對轉(zhuǎn)移指令,請解釋“相對轉(zhuǎn)移”的含義。如果要向較遠(yuǎn)的地方進行條件轉(zhuǎn)移,那么,程序中應(yīng)該怎樣設(shè)置?【解】相對轉(zhuǎn)移即為相對于指令指針的轉(zhuǎn)移,通常偏移量是8位數(shù),這是短(short)轉(zhuǎn)移;它可以規(guī)定16位偏移量,這就是段內(nèi)(near)轉(zhuǎn)移。3.17用寄存器間接尋址方式時,BX、BP、SI、DI分別針對什么情況來使用?這四個寄存器組合間接尋址時,地址時怎樣計算的?

24、舉例進行說明?!窘狻吭诩拇嫫鏖g接尋址方式下,BX和BP作為間接寄存器使用,而SI、DI作為變址寄存器使用。除BP間接默認(rèn)的段為堆棧段,其他的都默認(rèn)為數(shù)據(jù)段。它們都可以單獨使用,或加上偏移量后組合使用。如:BX+nBP+nSI+nDI+nBX+SI+nBX+DI+nBP+SI+nBP+DI+n3.18 下面這些指令中哪些是正確的?哪些是錯誤的?如果是錯誤的,請說明原因。 (1)XCHG CS,AX (2)MOV BX,1000 (3)XCHG BX,IP (4)PUSH CS (5)POP CS (6)IN BX,DX (7)MOV BYTEBX,1000 (8)MOV CS,1000【解】(1

25、)錯誤,CS不能交換。 (2)錯誤,MOV指令不能在內(nèi)存間傳送。 (3)錯誤,IP不能交換。 (4)錯誤,CS可以作為PUSH指令的操作數(shù)。 (5)錯誤,CS可以作為POP指令的操作數(shù)。 (6)錯誤,IN指令的目的操作數(shù)是累加器。 (7)錯誤,目的操作數(shù)是字節(jié)單元。 (8)錯誤,CS不能作為MOV指令的目的操作數(shù)。3.19 字節(jié)擴展指令和字?jǐn)U展指令用在什么場合?【解】主要用于字節(jié)相除和字相除之前,把被除數(shù)擴展為兩倍寬度的操作數(shù)。3.20使用堆棧操作指令時要注意什么問題?傳送指令和交換指令在涉及內(nèi)存操作數(shù)時分別要注意什么問題?【解】使用堆棧指令可以把內(nèi)存單元作為一個操作數(shù)(從內(nèi)存到內(nèi)存)。但堆棧

26、固定在堆棧段且只能由SP指向。且堆棧操作要修改堆棧指針。MOV指令不能實現(xiàn)內(nèi)存單元間的數(shù)據(jù)傳送。XCHG指令是交換,有一個操作數(shù)必須是寄存器。3.21在執(zhí)行中斷指令時,堆棧的內(nèi)容有什么變化?中斷處理子程序的入口地址是怎樣得的?【解】在執(zhí)行中斷指令后,處理器先推入標(biāo)志寄存器,在推入斷點后的指令指針和CS值。中斷處理器的入口地址是由中斷向量和中斷向量表(描述符)表得到的。3.22在執(zhí)行中斷返回指令I(lǐng)RET和普通子程序返回指令RET時,具體操作內(nèi)容有什么不同?【解】IFET除了彈出中斷要返回的指令的地址(CS和IP)外,還要恢復(fù)中斷前的標(biāo)志寄存器。 3.23 什么叫BCD碼?什么叫組合的BCD碼?什

27、么叫非組合的BCD碼?8086匯編語言在對BCD碼的加、減、乘、除運算時,采用什么方法?【解】BCD碼為十進制編碼的二進制數(shù)。組合的BCD數(shù)是把兩位BCD加在一個字節(jié)中,高位的在高4位。非組合的BCD碼是把一位BCD數(shù)放在一個字節(jié)的低4位高4位為0。8086在BCD加、減和乘法運算以后用BCD調(diào)整指令把結(jié)果調(diào)整為正確的BCD數(shù)。在BCD除法之前先用BCD調(diào)整指令再做除法。3.24 用普通運算指令執(zhí)行BCD碼運算時,為什么要進行十進制調(diào)整?具體講,在進行BCD碼的加、減、乘、除運算時,程序段的什么位置必須加上十進制調(diào)整指令?【解】因為8086指令把操作數(shù)作為二進制數(shù)進行二進制運算,要得到正確的B

28、CD結(jié)果,需要進行調(diào)整。在加、減、乘法指令之后加上BCD調(diào)整指令,而在除法指令之前先用BCD調(diào)整指令再用除法指令。第4四部分 匯編語言程序設(shè)計4.1 在下列程序運行后,給相應(yīng)的寄存器及存儲單元填入運行的結(jié)果:MOV AL,10HMOV CX,1000HMOV BX,2000HMOV CX,ALXCHG CX,BXMOV DL,01HXCHG CX,BXMOV BX,DLHLT【解】寄存器及存儲單元的內(nèi)容如下:AL=10HBL=00HBH=20HCL=00HCH=10HDL=01HDH=10H(1000H)=10H(2000H)=01H4.2 自1000單元開始有一個100個數(shù)的數(shù)據(jù)塊,若要把它

29、傳送到自2000H開始的存儲區(qū)中去,可以采用以下3種方法實現(xiàn),試分別編制程序以實現(xiàn)數(shù)據(jù)塊的傳送。(1)不用數(shù)據(jù)塊傳送指令;(2)用單個傳送的數(shù)據(jù)塊傳送指令;(3)用數(shù)據(jù)塊成組傳送指令。【解】(1) LEA SI,1000H LEA DI,2000H MOV CX,100L1: MOV AX,SI MOV DI,AX LOOP L1 HLT(2) LEA SI,I000H LEA DI,2000H MOV CX,100 CLD L1: MOVSBLOOP L1HLT(3) LEA SI,1000H LEA DI,2000HMOV CX,100CLDREP MOVSB HLT4.3 編寫一個程序,

30、把自1000H單元開始的100個數(shù)傳送至1050H開始的儲存中。【解】 LEA SI,1000HLEA DI,1050HADD SI,63HADD DI,63HMOV CX,100STDREP MOVSB HLT4.4在自0500H單元開始,存有100個數(shù)。要求把他傳送到1000H開始的存儲區(qū)中,但在傳送過程中要檢查數(shù)的值,遇到第一個零就停止傳送。 【解】 LEA SI,0500HLEA DI,1000HMOV CX,100 N1: MOV AL,SI TEST AL,0 JZ,N2 MOV DI,AL INC SI INC DI LOOP N1N2: HLT4.5 把在題4.7中指定的數(shù)據(jù)塊

31、中的正數(shù),傳送到自1000H開始的存儲區(qū);而把其中的負(fù)數(shù),傳送到自1100H開始的存儲區(qū)。且分別統(tǒng)計正數(shù)和負(fù)數(shù)的個數(shù),分別存入1200H和1201H單元中?!窘狻?LEA SI,0500H LEA DI,1000H LEA BX,1100H MOV CX,100MOV DX,0N1: MOV AL,SI TEST AL,0 JS N2 MOV DI,AL INC DL INC SI INC DI JMP N3N2: MOVBX,ALINC DHINC SIINC BX N3: LOOP N1LEA BX ,1200HMOV BX,DLMOV BX+1,DHHLT4.6 自0500H單元開始,有

32、10個無符號數(shù),編寫一個程序求這10個數(shù)的和(用8位書運算指令),把和放到050A及050B單元中(和用兩個字節(jié)表示),且高位在050B單元?!窘狻?LEA BX,0500HMOV AX,0MOV CL,10N1: MOV DL,BXADD AL,DLADC AH,0INC BXDEC CLJNZ N1MOV 050AH,AX4.7 在0100H單元和010AH單元開始,存放兩個各為10個字節(jié)的BCD數(shù)(地址最低處放的是最低字節(jié)),求出他們的和,并且把和放在0114H開始的存儲單元中?!窘狻?LEA SI,0100HLEA DI,0114HCLCMOV CL,10N1: MOV AL,SIMO

33、V BL,10SIADC AL,BLDAAMOV DI,ALINC SIINC DIDEC CL JNZ N14.8 若在0200HE 0201H單元中兩個正數(shù),編寫一個程序比較它們的大小。并且把大的數(shù)放在0201H單元中?!窘狻縈OV AL ,0200HCMP AL,0201HJNS LAGJMP NEXTLAG:XCHG AL,0201HNEXT:4.9 若自0500H單元開始有1000個帶數(shù)符號數(shù),把它們的最小植找出來,并且放在1000H單元中。【解】 LEA BX,0500HMOV AX,BXINC BXINC BXMOV CX,999AGAIN:CMP AB.BXJL NEXTMOV

34、 AX.BXNEXT: INC BX INC BXLOOP AGAINMOV 1000H,AXHLT4.10 在自BUFFER單元開始,放有一個數(shù)據(jù)塊,BUFFER和BUFFER+1單元中放的是數(shù)據(jù)塊的長度,自BUFFER+2開始存放的是一ASC碼表示的十進制數(shù)碼,把它們轉(zhuǎn)換成BCD碼,并且把兩個相鄰單元的數(shù)碼并成一個單元(地址高的放在高4位),放到自BUFFER+2開始的存儲區(qū)中?!窘狻?MOV CX,BUFFERLEA SI,BUFFER+2LEA DI,BUFFER+2TRAN: MOV AL,SISUB AL,30HMOV BL,ALINC SIMOV AL,SISUB AL,30HS

35、HL AL,4ADD AL,BL MOV DI,ALINC SIINC DIDEC CXDEC CXJNZ TRAN4.11 在自BUFFER單元開始,放有一個數(shù)據(jù)塊,BUFFER和BUFFER+1單元中放的是數(shù)據(jù)塊的長度,自BUFFER+2開始存放數(shù)據(jù),每一個單元放的是兩位BCD碼把它們分別轉(zhuǎn)換成ASC碼,放到自BLOCK開始的存儲區(qū)中(低4位BCD碼轉(zhuǎn)換成的ASC碼放在地址低的單元),而BLOCK和BLOCK+1放轉(zhuǎn)換成的ASC碼的長度。【解】 MOV CX,BUFFERMOV DX,CXADD DX,DXLEA SI,BUFFER+2LEA DI,BLOCK+2MOV BLOCK,DXT

36、RAN:MOV AL,SIMOV BL,ALAND AL,0FHADD AL,30HMOV DI,ALINC DIMOV AL,BLSHR AL,4ADD AL,30HMOV DI,ALINC SIINC DIDEC CXJNZ TRAN4.12 若自STRING單元開始存放一個字符串(一字符結(jié)尾),編寫一個程序統(tǒng)計這個字符串的長度(不包括字符);并且把字符的長度,放在STRING單元,把整個字符串往下移兩個存儲單元?!窘狻?LEA DI,STRINGXOR DX,DXMOV AL,CLDAGAIN: SCASBJE N1INC DXJMP AGAINN1: LEA SI,STRING+2XC

37、HG SI,DIMOV CX,DX、REP MOVSBMOV STRING,DX4.13 TRING單元開始存放一個字符串(以字符空格引導(dǎo),以結(jié)尾),編寫一個程序統(tǒng)計這個字符串的長度(忽略前導(dǎo)空格和結(jié)尾的字符)【解】 LEA DI,STRINGXOR DX,DXMOV AL,20HCLDAGAIN:SCASBJNE N1JMPAGAINN1: MOV AL,A1:SCASBJE N2INC DXJMP A1N2: MOV LENGTH,DX4.14 自STRI1和STRI2開始各有一個由10個字符組成的字符串,檢查這兩個字符串是否相等,在STFLAG單元中建立一個標(biāo)志(相等為00和,不等為FF

38、H)?!窘狻?LEA SI,STR1LEA DI,STR2MOVCX,10CLDREPZ CMPSBJNE UNMATMOV AL,0JMP OUTPTUNMAT: MOV AL,0FFHOUTPT: MOV STFLAG,AL4.15 在自BLOCK開始的存儲區(qū)中有1000個帶符號數(shù)。試用氣泡排序法編寫一個程序,使它們排列有序?!窘狻?NAME BOBBLE_SORTDATA1 SEGMENTBLOCK DW X1,X2,.,X999DATA1 ENDSSTACK SEGNEBT PARA STACK STACKDB 100DUP(?)STACK ENDSCODE SEGMENT ASSUM

39、E CS:CODE,DS:DATA1,SS:STACKSTART PROC FARBEGIN:PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXCONT1:MOV BL,0MOV CX,1000ADD CX,CXMOV SI,CXDEC SIDEC SIAGAIN: MOV AX,BLOCKSICMP AX,BLOCKSI-2JGE NEXTXCHG AX,BLOCKSI-2MOV SI,AXMOV BL,-1NEXT:DEC SIDEC SILOOP AGAINCMP BL,0JNE CONT1RETSTART ENDPCODE ENDSEND BEGIN4

40、.16若在0500H單元中有一個數(shù) (1)利用加法指令把它乘2,且送回原存儲單元(假定X2后仍為一個字節(jié)); (2)X4; (3)X10(假定Xl0255). 【解】 (1) LEA BX, 050OH MOV AL, BX ADD AL, AL MOVBX,AL (2) LEA BX, 0500H MOV AL, BX ADD AL, AL ADD AL, AL MOVBX,AL (3)LEABX, 050OH MOVAL, BX ADDAL, AL MOVDL, AL ADDAL, AL ADD AL,AL ADDAL, DL MOVBX,AL4.17 利用查表法計算平方值。已知0 9的平

41、方值連續(xù)存在以SQTAB開始的存儲區(qū)域中,求SUR單元內(nèi)容X的平方值,并放在DIS單元中。假定0X 9且為整數(shù)?!窘狻糠治觯航⑵椒奖?,通過查表完成。STACKSEGMENTDB 100 DUP(?)STACK ENDSDATASEGMENTSUR DB ?DIS DB ?SQTAB DB 0,1,4,9,16,25,36,49,64,81 ; 09的平方表DATA ENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATABEGIN:PUSH DSMOVAX,0PUSHAX ;保證返回DOS,MOVAX,DATAMOVDS,AX ;為DS送初

42、值LEA BX,SQTAB ;以下程序部分完成查表求平方值MOVAH,0 ;亦可用查表指令完成(如下程序段)MOVAL,SUR ;AL=X LEA BX, SQTABADDBX,AX ; MOV AL, SURMOVAL,BX ; XLAT MOVDIS,AL ; MOV DIS, ALCODEENDSEND BEGIN4.18已知 Z=(X+Y)-(W+Z),其中X,Y,Z,W均為用壓縮BCD碼表示的數(shù),寫出程序。【解】分析:這也是一種典型的直線程序,在這里要注意是BCD數(shù)相加,要進行十進制調(diào)整。MOVAL,ZMOVBL,WADDAL,BLDAAMOVBL,AL ; BL=(W+Z)MOVA

43、L,XMOVDL,YADDAL,DL ; AL=(X+Y)DAA ;十進制調(diào)整SUBAL,BL ; AL=(X+Y)-(Z+W)DAS ;十進制調(diào)整MOVZ,AL ;結(jié)果送Z 4.19試編寫程序段,實現(xiàn)符號函數(shù)?!窘狻糠治觯鹤兞縓的符號函數(shù)可表示為: 1 X0Y= 0 X=0-1 X0 程序可通過對符號標(biāo)志的判別來確定執(zhí)行哪一分支。START:MOVAX,BUFFER ;(BUFFER)=XORAX,AXJEZERO ;X0,則轉(zhuǎn)ZEROJNSPLUS ;X為正數(shù),則轉(zhuǎn)PLUSMOVBX,0FFFFH ;X為負(fù)數(shù),則1送BXJMPCONT1ZERO:MOVBX,0JMPCONT1PLUS:MO

44、VBX,1CONT1: 4.20一監(jiān)控程序,有10個控制命令鍵。這些命令的實現(xiàn)由監(jiān)控程序中10個子程序完成,子程序入口地址為ADR0ADR9。據(jù)此建立跳轉(zhuǎn)表,表內(nèi)存放10條跳轉(zhuǎn)指令,JMP ADR0JMP ADR9。設(shè)10個命令鍵編號為09?!窘狻糠治觯罕淼刂?= 表基地址 + 偏移量,按鍵號X為條件,每條跳轉(zhuǎn)指令長度為3個字節(jié),則按鍵號X對應(yīng)的命令子程序的跳轉(zhuǎn)指令在跳轉(zhuǎn)表中的偏移量是3X。JMP NEAR BRA1JMP NEAR BRA2JMP NEAR BRA3BRA-TAB 程序:MOV AH,0MOV BL,ALADD AL,AL ;求2XADD AL,BL ;求3X,即位移量MOV

45、 BX,OFFSET BRA-TAB ;設(shè)BRA-TAB為表首ADD BX,AXJMP BX4.21 利用表實現(xiàn)分支表4-1 子程序R1R8的入口地址表P1子程序R1的入口偏移地址P2子程序R2的入口偏移地址P3子程序R3的入口偏移地址.P7子程序R7的入口偏移地址P8子程序R8的入口偏移地址根據(jù)AL中各位被置位情況,控制轉(zhuǎn)移到8個子程序P1P8之一中去。地址表的結(jié)構(gòu)如表4-1所示。【解】分析:對于這種程序關(guān)鍵要找出每種情況的轉(zhuǎn)移地址,從圖中可見表地址=表基地址+偏移量, 而偏移量可由AL各位所在位置*2求得。流程圖見圖4-1。DATASEGMENTBASEDW SR0,SR1,SR2,SR3

46、, SR4,SR5,SR6,SR7DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA,ES:DATABEGIN: PUSHDSXORAX,AXPUSH AXMOVAX,DATA MOVDS,AX LEABX,BASE ;表頭送BXINAL,PORT GETBIT:RCR AL,1 ;右移一位JC GETAD ;移出位是1?INCBX INC BX ;修改指針JMPGETBI GETAD:JMP WORDPTRBX ;實現(xiàn)散轉(zhuǎn)CODEENDS 圖4-1 流程圖END BEGIN4.22寄存器AL中存放了當(dāng)前外部中斷請求的狀態(tài)。DD對應(yīng)INTINT,編程查詢中斷請求

47、發(fā)自哪一個中斷源并轉(zhuǎn)相應(yīng)中斷服務(wù)子程序。【解】分析:查詢順序即為優(yōu)先級順序,條件測試時,通過對AL移位,依次檢測各位。程序:ROR AL,1JC R0ROR AL,1JC R1ROR AL,1JC R2ROR AL,1JC R74.23將內(nèi)存中某一區(qū)域的原數(shù)據(jù)塊傳送到另一區(qū)域中。【解】分析:這種程序若源數(shù)據(jù)塊與目的數(shù)據(jù)塊之間地址沒有重疊,則可直接用傳送或串操作實現(xiàn);若地址重疊,則要先判斷源地址+數(shù)據(jù)塊長度是否小于目的地址,若是,則可按增量方式進行,否則要修改指針指向數(shù)據(jù)塊底部,采用減量方式傳送。程序如下:DATASEGMENTSTRDB1000DUP(?)STR1EQUSTR+7STR2EQU

48、STR+25STRCOUNTEQU50DATAENDSSTACKSEGMENT PARA STACK STACKSTAPNDB100DUP(?)STACKENDSCODESEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKGOO PROCPUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVCX,STRCOUNTMOVSI,STR1MOVDI,STR2CLDPUSHSIADDSI,STRCOUNT-1CMPSI,DIPOPSIJLOKSTDADDSI,STRCOUNT-1A

49、DDDI,STRCOUNT-1OK:REPMOVSBRETGOOENDPCODEENDSENDGOO第5部分 總線時序5.1 總線周期的含義是什么?8086/8088CPU的基本總線周期由幾個時鐘組成?如果 一個CPU的時鐘頻率為8MHz,那么,它的一個時鐘周期是多少?一個基本總線周期是多 少?如果主頻為5MHz呢? 【解】CPU訪問總線(從內(nèi)存儲器或I/0端口讀/寫字節(jié)或字)所需的時間稱為總線周 期。8086/8088CPU的基本總線周期由4個時鐘組成。若CPU的時鐘頻率為8(5)MHz, 時鐘周期為1/8MHz=125(1/5MHz=2O)ns,基本總線周期為4125(200)ns=500

50、(800)ns 5.2在總線周期的TI、T2、T3、T4狀態(tài),CPU分別執(zhí)行什么動作?什么情況下需要插入 等待狀態(tài)Tw?Tw在哪兒插入?怎樣插入? 【解】 T1周期:8086發(fā)出20位地址信號,同時送出地址鎖存信號ALE;T2周期:8086開始執(zhí)行數(shù)據(jù)傳送;T3周期:下降沿采樣READY,若有效則T3結(jié)束后進入T4 ,若無效則插入等待周期TW,在TW繼續(xù)采樣READY,直至其變?yōu)橛行Ш笤龠M入T4 ; T4周期:8086完成數(shù)據(jù)傳送。下面以存儲器讀為例進行說明。 在Tl周期:輸出地址信號、地址鎖存允許信號、內(nèi)存或I/O端口訪問控制信號; 在T2周期:CPIJ開始執(zhí)行數(shù)據(jù)傳送操作,此時,8086C

51、PU內(nèi)部的多路開關(guān)進行切換,將 地址/數(shù)據(jù)線AD15AD0上的地址撤銷,切換為數(shù)據(jù)總線,為讀寫數(shù)據(jù)作準(zhǔn) 備。8288總線控制器發(fā)出數(shù)據(jù)總線允許信號和數(shù)據(jù)發(fā)送/接收控制信號 DT/R允許數(shù)據(jù)收發(fā)器工作,使數(shù)據(jù)總線與8086CPU的數(shù)據(jù)線接通,并控制數(shù) 據(jù)傳送的方向。同樣,把地址/狀態(tài)線A19/S6A16/S3切換成與總線周期有 關(guān)的狀態(tài)信息,指示若干與周期有關(guān)的情況。 在T3周期:開始的時鐘下降沿上,8086CPU采樣READY線。如果READY信號有效(高電平),則在T3狀態(tài)結(jié)束后進人TA狀態(tài)。在T4狀態(tài)開始的時鐘下降沿,把數(shù)據(jù)總線上的數(shù)據(jù)讀入CPU或?qū)懙降刂愤x中的單元。 在T4狀態(tài):結(jié)束總線

52、周期。如果訪問的是慢速存儲器或是外設(shè)接口,則應(yīng)該在Tl狀態(tài)輸出的地址,經(jīng)過譯碼選中某個單元或設(shè)備后,立即驅(qū)動READY信號到低電平。8086CPU在T3狀態(tài)采樣到READY信號無效,就會插入等待周期Tw,在Tw 狀態(tài)CPU繼續(xù)采樣READY信號;直至其變?yōu)橛行Ш笤龠M人T4狀態(tài),完成數(shù)據(jù)傳送,結(jié)束總線周期。在T4狀態(tài),8086CPU完成數(shù)據(jù)傳送,狀態(tài)信號S2 S0 。變?yōu)闊o操作的過渡狀態(tài)。在此期間,8086CPU結(jié)束總線周期,恢復(fù)各信號線 的初態(tài),準(zhǔn)備執(zhí)行下一個總線周期。 5.3 8086和8088是怎樣解決地址線和數(shù)據(jù)線的復(fù)用問題的?ALE#信號何時處于有效電平?【解】 8086/8088通過

53、利用ALE信號的是否有效來解決地址線和數(shù)據(jù)線的復(fù)用問題。ALE作為最小模式的地址鎖存允許信號輸出端,在任何總線周期的T1狀態(tài),ALE輸出有效電平,以表示當(dāng)前在地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息。5.4總線的分類有哪幾種?【解】按位置分:片內(nèi)總線、片總線(局部總線)、內(nèi)總線(系統(tǒng)總線)、外總線(通信總線)按功能分:數(shù)據(jù)總線、地址總線、控制總線、電源和地線、備用線5.5總線的特性【解】物理特性物理連接方式,根數(shù)、插頭、引腳排列功能特性每一根線的功能電氣特性每一根線信號傳送方向、有效電平范圍時間特性每一根線的時序5.6 常用總線類型【解】ISA工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)總線PCI外部設(shè)備互連總線USB通用串

54、行接口總線5.7 8086的基本總線周期有哪幾種?【解】存儲器讀或?qū)懀?I/O端口讀或?qū)?;中斷響?yīng)周期;總線保持請求與保持響應(yīng)周期。5.8 試說明PCI總線的特點【解】PCI總線是一種不依賴任何具體CPU的局部總線。特點是: 高性能,32位或64位總線寬度;支持突發(fā)工作方式,后邊可跟無數(shù)個數(shù)據(jù)總線周期;處理器/內(nèi)存與系統(tǒng)能力完全一致;總線時鐘頻率為33MHZ/66MHZ。 低成本,即插即用;多路復(fù)用體系結(jié)構(gòu)減少了管腳個數(shù)和PCI部件。 總線設(shè)備的工作與CPU相對獨立。 支持多主控設(shè)備。 數(shù)據(jù)完整,提供數(shù)據(jù)和地址的奇偶校驗功能。 兩種電壓環(huán)境,5V、3.3V。5.9 說明USB總線的特點。【解】

55、Universal Serial Bus 通用串行總線的特點 傳輸速率高,USB1.0,1.5Mb/s12Mb/s,用于低速外設(shè)(鍵盤、鼠標(biāo)等),USB2.0傳輸速率可高達(dá)480Mb/s,用于高速外設(shè)(U盤、移動硬盤、多媒體等)。 支持即插即用。 支持熱插拔。 良好的擴展性。 可靠性高。 開放的統(tǒng)一標(biāo)準(zhǔn)。 總線供電。 傳送距離,低速(1.5Mb/s)傳輸時采用非屏蔽電纜,結(jié)點間距離為3m,高速(12Mb/s)傳輸時采用屏蔽電纜,結(jié)點間距離為5m。 低成本。接口電路簡單,易于實現(xiàn),特別適合低速設(shè)備。第6部分 存儲器系統(tǒng)6.1 試說明半導(dǎo)體存儲器的分類。 【解】6.2 存儲器與系統(tǒng)連接時應(yīng)注意哪些

56、問題?【解】 CPU總線的帶負(fù)載能力,較大系統(tǒng)可加緩沖器或總線驅(qū)動器 存儲器的組織、地址分配與片選問題 CPU的時序與存儲器的存取速度之間的配合 存儲器電平信號與CPU的電平匹配(CPU信號多為TTL標(biāo)準(zhǔn)電平) 控制信號的連接6.3 存儲器芯片的片選信號有幾種產(chǎn)生方式?試述每種方式的優(yōu)、缺點?!窘狻烤€選方式(線選法)譯碼電路簡單,地址重疊;不同地址線作選片控制時,地址區(qū)間不同。全局譯碼選擇方式(全譯碼法)片選控制的地址譯碼采用全部高位地址線(A15A10)參與譯碼,每一組地址區(qū)間確定,唯一,但譯碼電路復(fù)雜。局部譯碼選擇方式(部分譯碼法)線選法和全譯碼法相結(jié)合的方法。6.4內(nèi)存擴展電路如下圖示,

57、試寫出各芯片的信號名稱和存儲器地址空間?!窘狻靠刂菩盘枺篊E、WE、OE 地址信號:A12A0 地址信號:A15、A14、A13 RAM 6264:Y0 0000 0000 0000 0000 0001 1111 1111 1111 0000H 1FFFH EEPROM 28C64:Y7 1110 0000 0000 0000 1111 1111 1111 1111 E000H FFFFH 第7部分 輸入輸出接口7.1 外部設(shè)備為什么要通過接口電路和主機系統(tǒng)相連?【解】因為外部設(shè)備種類繁多,輸入信息可能是數(shù)字量模擬量,而且輸入速度電平功率與CPU差距很大。所以通常要通過接口電路與主機系統(tǒng)相連。

58、7.2接口電路的作用是什么?按功能可分為幾類?【解】接口電路使主機與不同種類的設(shè)備不同信號類型不同工作速度與不同電平和功率的外部設(shè)備能過正確連接,以保證信息的正確傳送。接口電路按功能可以分為并行接口電路和串行接口兩大類。7.3 數(shù)據(jù)信息有哪幾類/。舉例說明它們各自的含義。【解】數(shù)據(jù)信息可分為3種類型:(1)數(shù)字量:由鍵盤等輸入的信息是以二進制形式表示的數(shù)或一ASC碼表示的數(shù)或字符.(2)模擬量:當(dāng)計算機用與控制時,大量的現(xiàn)場信息經(jīng)過傳感器把非電量(例如溫度、壓力、流量、位移等)轉(zhuǎn)換為電量,并經(jīng)過放大得模擬電壓或電流.這些模擬量必須先經(jīng)過A/D轉(zhuǎn)換才能輸入計算機(位數(shù)由A/D轉(zhuǎn)換的精度確定);計

59、算機的控制輸出也必須先經(jīng) 過D/A轉(zhuǎn)換才能去控制執(zhí)行機構(gòu).(3)開關(guān)量:著是一些兩個狀態(tài)的量,例如電機的運轉(zhuǎn)與停止開關(guān)的合與斷閥門的打開與關(guān)閉等.這些量只要用位二進制數(shù)即可表示,故字長8位的機器一次輸入或輸出可控制8個這樣的開關(guān)量.7.4 CPU和輸入輸出設(shè)備之間傳送的信息以那幾類?【解】CPU 的輸入輸出設(shè)備之間傳送的信息主要有3類.(1)數(shù)據(jù)(DATE):在微型計算機中,數(shù)據(jù)通常為8位16位或32位.(2)狀態(tài)信息(STATUS):在輸入時,有輸入設(shè)備反對信息是否準(zhǔn)備好(READY);在輸出時有輸出設(shè)備是否有空(EMPTY),若輸出設(shè)備正在輸出信息,則以忙(BUSY)指示等.(3)控制信息

60、(CONTROL):例如,控制輸入輸出設(shè)備啟動或停止等.7.5什么叫端口?通常有哪幾類端口?計算機對I/O端口編址時常采用哪兩種方法?在8086/8088系統(tǒng)中,用哪種方法對I/O端口進行編址?【解】端口是信息輸入或輸出的通路。在計算機中用地址來區(qū)分不同的端口。計算機對I/O端口編址時通常采用兩種方法。(1)存儲器對應(yīng)輸入輸出方式在這種方式中,把一個外設(shè)端口作為存儲器的一個單元來對待,故沒一個外設(shè)端口占有存儲器的一個地址。從外部設(shè)備輸入一個數(shù)據(jù),作為一次存儲器讀的操作;而向外部設(shè)備輸出一個數(shù)據(jù),則作為一次存儲器寫的操作。(2)端口尋址的輸入輸出方式在這種工作方式中:CPU有專門的I/O指令,用

溫馨提示

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

評論

0/150

提交評論