微機原理與接口技術(shù)-顧暉-習(xí)題參考答案_第1頁
微機原理與接口技術(shù)-顧暉-習(xí)題參考答案_第2頁
微機原理與接口技術(shù)-顧暉-習(xí)題參考答案_第3頁
微機原理與接口技術(shù)-顧暉-習(xí)題參考答案_第4頁
微機原理與接口技術(shù)-顧暉-習(xí)題參考答案_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理與接口技術(shù)--顧暉-習(xí)題參考答案第1章習(xí)題答案1.答:計算機硬件的基本組成部分有:運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大組成部分;運算器功能:完成各種算術(shù)運算或邏輯運算;控制器功能:發(fā)出各種控制信息,使計算機各部件協(xié)調(diào)工作;存儲器功能:存儲程序和數(shù)據(jù);輸入設(shè)備:將程序和數(shù)據(jù)輸入的部件;輸出設(shè)備:將結(jié)果數(shù)據(jù)輸出的部件。2.答:以微型計算機為核心,配以鼠標、鍵盤等外圍設(shè)備、電源、接口電路,以及控制計算機工作的軟件構(gòu)成微型計算機系統(tǒng)。3.答:主板與外部設(shè)備之間的數(shù)據(jù)傳輸必須通過系統(tǒng)總線,所以系統(tǒng)總線包含的信號線必須滿足下列各種輸入/輸出操作的需要:①訪問分布于主板之外的存儲器;②訪問I/O接口;③適應(yīng)外部中斷方式;④適應(yīng)存儲器直接與外部設(shè)備交換信息。總線控制邏輯的任務(wù)就是產(chǎn)生和接受這些操作所需要的信號。4.答:計算機有運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大部分組成,計算機內(nèi)部采用二進制數(shù)據(jù)的格式表示數(shù)據(jù)和指令。程序?qū)⑹孪缺4嬖趦?nèi)存儲器中,計算機在工作時,不需要操作人員干預(yù),自動逐條取出指令并執(zhí)行。5.答:CPU首先執(zhí)行主板上BIOS中的自檢程序;執(zhí)行引導(dǎo)裝入程序,依次搜尋硬盤、光盤等;讀出引導(dǎo)記錄,裝入引導(dǎo)程序;由引導(dǎo)程序?qū)⒉僮飨到y(tǒng)裝入內(nèi)存;執(zhí)行操作系統(tǒng)。6.答:BIOS是BaicInputOutputSytem的縮寫,指的是基本輸入輸出系統(tǒng)\。它是一組固化到計算機ROM芯片上的程序,保存著計算機最重要的基本輸入輸出的程序、系統(tǒng)設(shè)置信息、開機后自檢程序和系統(tǒng)自啟動程序。7.答:略。2第2章習(xí)題答案1.答:為了區(qū)別所使用的數(shù)制,一般用以下兩種書寫格式表示:①用括號將數(shù)字括起,后面加數(shù)制區(qū)分,數(shù)制用下標的形式給出;②用后綴區(qū)分,二進制數(shù)、十進制數(shù)、八進制數(shù)、十六進制數(shù)的后綴分別為字母B(或b)、D(或d)、O(或o)或Q(或q)、H(或h)。例如:十六進制數(shù)56.78可以表示成(56.78)16或56.78H;十進制數(shù)56.78可以表示成(56.78)10或56.78D。2.答:123D采用十進制,0AFH采用十六進制,77Q采用八進制,1001110B采用二進制。3.答:字長為8位的二進制數(shù)原碼表示的最大值:127,最小值:-127;補碼表示的最大值:127,最小值:-128。字長為16位的二進制數(shù)原碼表示的最大值:32767,最小值:-32767;補碼表示的最大值:32767,最小值:-32768。4.答:(1)125D=01111101B=7DH(2)255D=11111111B=FFH(3)72D=01001000B=48H(4)5090D=0001001111100010B=13E2H5.答:(1)11110000B=240D=F0H(2)10000000B=128D=80H(3)11111111B=255D=FFH(4)01010101B=85D=55H6.答:(1)FFH=255D=11111111B(2)ABCDH=43947D=1010101111001101B(3)123H=291D=0000000100100011B(4)FFFFH=65535D=1111111111111111B7.答:(1)8位時(16)原=00010000;(16)補=00010000;16位時(16)原=0000000000010000;(16)補=0000000000010000;(2)8位時(-16)原=10010000;(-16)補=11110000;16位時(-16)原=1000000000010000;(-16)補=1111111111110000;(3)8位時(+0)原=00000000;(+0)補=00000000;16位時(+0)原=0000000000000000;(+0)補=0000000000000000;3(4)8位時(-0)原=10000000;(-0)補=00000000;16位時(-0)原=1000000000000000;(-0)補=0000000000000000;(5)8位時(127)原=01111111;(127)補=01111111;16位時(127)原=0000000001111111;(127)補=0000000001111111;(6)8位時-128超過原碼表示的范圍;(-128)補=10000000;16位時(-128)原=1000000010000000;(-128)補=1111111110000000;(7)8位時(121)原=01111001;(121)補=01111001;16位時(121)原=0000000001111001;(121)補=0000000001111001;(8)8位時(-9)原=10001001;(-9)補=11110111;16位時(-9)原=1000000000001001;(-9)補=1111111111110111;8.答:(1)[某]補=11000010;(2)[-某]補=00001101;(3)[某]原=11000010;9.答:(1)A>B;(2)A<B10.答:(1)溢出;(2)13H;(3)溢出;(4)EDH;(5)EDH。11.答:4)[某]反=10111101。((1)10001000;(2)11101110;(3)01100110;(4)10101100;(5)00000000;(6)10101100;(7)=01010011。12.答:(1)30H=48,字符為‘0’;(2)39H=57,字符為‘9’;(3)42H=66,字符為‘B’;(4)62H=98,字符為‘b’;(5)20H=32,字符為空格;(6)7H=7,字符為報警符;13、答:十進制49123762壓縮BCD碼01001001B000100100011B00000111B01100010B非壓縮BCD碼0000010000001001B000000010000001000000011B00000111B0000011000000010BASCII碼3439H313233H37H3632H4第3章習(xí)題答案1.(1)答:物理地址:物理地址(PA)是20位無符號二進制數(shù),是CPU訪問存儲器的實際地址。每個存儲單元對應(yīng)一個物理地址。8086存儲空間的物理地址范圍是:00000H~FFFFFH。邏輯地址:采用分段結(jié)構(gòu)的存儲器中,把通過段地址和偏移地址來表示的存儲單元的地址稱為邏輯地址,記為:段地址:偏移地址。段地址:8086規(guī)定各邏輯段從節(jié)的整數(shù)邊界開始,即段首地址二進制值的低4位是0000,把段首地址的高16位稱為段基址或段地址。偏移地址:把某一存儲單元相對于段地址的段內(nèi)偏移量稱為偏移地址(也稱有效地址EA)。段地址和偏移地址都是是16位無符號二進制數(shù)。(2)答:時鐘周期:計算機的“時鐘”是由振蕩源產(chǎn)生的、幅度和周期不變的節(jié)拍脈沖,每個脈沖周期稱為時鐘周期,又稱為T狀態(tài)或T周期,時鐘周期是微機系統(tǒng)工作的最小時間單元。總線周期:當(dāng)CPU訪問存儲器或輸入/輸出端口時,需要通過總線進行讀或?qū)懖僮?,這個過程稱為總線周期(BuCycle)??偩€周期是利用總線完成一次讀/寫所需要的時間。指令周期:執(zhí)行一條指令所需要的時間稱為指令周期(IntructionCycle)。指令周期由1個或多個總線周期組成。(3)答:最小模式:也稱為單處理器模式,是指系統(tǒng)中只有一片8086微處理器,所連接的存儲器容量不大、片子不多,所要連接的I/O端口也不多,系統(tǒng)的控制總線就直接由CPU的控制線供給,從而使得系統(tǒng)中的總線控制電路減到最少。最小模式適用于較小規(guī)模的系統(tǒng)。最大模式:相對于最小模式而言,適用于中、大型規(guī)模的系統(tǒng)。系統(tǒng)中有多個微處理器,其中一個是主處理器8086,其他的處理器稱為協(xié)處理器,承擔(dān)某方面專門的工作。需要增加一片8288來對8086CPU發(fā)出的控制信號進行變換和組合,以得到對存儲器或I/O端口的讀/寫信號和對鎖存器、總線收發(fā)器的控制信號。2.答:EU:負責(zé)指令的執(zhí)行,即從總線接口部件BIU的指令隊列取指令,指令執(zhí)行后向BIU送回運算結(jié)果,同時把運算結(jié)果的狀態(tài)特征保存到標志寄存器中。BIU:負責(zé)CPU與存儲器、I/O設(shè)備之間的數(shù)據(jù)傳送。BIU完成以下操作:取指令送給指令隊列、配合執(zhí)行部件從指定的內(nèi)存單元或者外設(shè)端口中取數(shù)據(jù)、將數(shù)據(jù)傳送給執(zhí)行部件或者把執(zhí)行部件的操作結(jié)果傳送到指定的內(nèi)存單元或外設(shè)端口中。8086的BIU和EU在很多時候可以并行工作,使得取指令、指令譯碼和執(zhí)行指令這些操作構(gòu)成操作流水線。①當(dāng)指令隊列中有兩個空字節(jié),且EU沒有訪問存儲器和I/O接口的要求時,BIU會自動把指令取到指令隊列中。②當(dāng)EU準備執(zhí)行一條指令時,它會從指令隊列前部取出指令執(zhí)行。在執(zhí)行指令的過程中,如果需要訪問存儲器或者I/O設(shè)備,那么EU會向BIU發(fā)出訪問總線的請求,以完成訪問存儲器或者I/O接口的操作。如果此時BIU正好處于空閑狀態(tài),那么,會立即響應(yīng)EU的總線請求;但如果BIU正在將某個指令字節(jié)取到指令隊列中,那么,BIU將首先完成這個取指令操作,然后再去響應(yīng)EU發(fā)出的訪問總線的請求。③當(dāng)指令隊列已滿,而且EU又沒有總線訪問時,BIU便進入空閑狀態(tài)。5④在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時,下面要執(zhí)行的指令就不是在程序中緊接著的那條指令了,而BIU往指令隊列裝入指令時,總是按順序進行的。在這種情況下,指令隊列中已經(jīng)裝入的指令就沒有用了,會被自動消除。隨后,BIU會往指令隊列中裝入另一個程序段中的指令。3.答:地址信號是CPU發(fā)送給內(nèi)存或I/O設(shè)備的,所以地址線是單向的;數(shù)據(jù)信號可以從CPU發(fā)送給內(nèi)存或I/O設(shè)備,也可以從內(nèi)存或I/O設(shè)備發(fā)送給CPU,故而數(shù)據(jù)線是雙向的。4.答:8086CPU中有14個寄存器。它們是:4個16位的通用寄存器:A某、B某、C某、D某和8個8位的通用寄存器:AH、AL、BH、BL、CH、CL、DH、DL;指針和變址寄存器SP、BP、SI、DI;4個16位的段寄存器CS、DS、SS和ES;標志寄存器FR;指令指針寄存器IP。功能略。5.答:(1)加法運算的結(jié)果為:CEACH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=1;(2)加法運算的結(jié)果為:68ACH;CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0;(3)加法運算的結(jié)果為:DDDDH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=0。6.答:8086CPU可尋址的存儲器地址范圍是00000H~FFFFFH;可尋址的I/O端口地址范圍是0000H~FFFFH。7.答:由于8086CPU提供20位地址,但8086中可用來存放地址的寄存器,如IP、SP、B某、SI等都是16位的,只能直接尋址64KB。為了尋址1MB存儲空間,8086CPU采用了典型的存儲器分段技術(shù),即將整個存儲器空間分為許多邏輯段,每個邏輯段的容量小于或等于64KB。分段后,對存儲器的尋址操作不再直接用20位的物理地址,而是采用段地址加段內(nèi)偏移地址的二級尋址方式。8.答:將AH的內(nèi)容送存儲單元的操作過程中:M/IO1,WR0,RD1,DT/R1;將I/O端口的內(nèi)容送AL的操作過程中:M/IO0,WR1,RD0,DT/R0。9.答:BHEA0有效的數(shù)據(jù)引腳操作00AD15~AD0(一個總線周期同時訪問奇體和偶體,從奇地址單元讀/寫字數(shù)據(jù)的高8位,從偶地址單元讀/寫字數(shù)據(jù)的低8位)從偶地址讀/寫一個字610AD7~AD0從偶地址讀/寫一個字節(jié)01AD15~AD8從奇地址讀/寫一個字節(jié)0110AD15~AD8(第一個總線周期從奇字數(shù)據(jù)的低8位)AD7~AD0(第二個總線周期從偶地址單元讀/寫字數(shù)據(jù)的高8位)從奇地址讀/寫一個字10.答:8086系統(tǒng)復(fù)位后,指令指針(IP)為0000H;CS寄存器為FFFFH,其他寄存器為0000H;指令隊列清空。11.答:8086的A19/S6~A16/S3和AD15~AD0是復(fù)用信號,需要地址鎖存器將地址信息保存起來,為外接存儲器或外設(shè)提供地址信息。需要鎖存的信號是:地址信號及BHE信號。12.答:8086CPU一個基本的總線周期包含4個時鐘周期:T1、T2、T3和T4在T1狀態(tài),M/IO有效,指示CPU訪問的是存儲器還是外設(shè),之后CPU往多路復(fù)用總線上發(fā)出地址信息,以指出要尋址的存儲單元或外設(shè)端口的地址。在T1狀態(tài),CPU還必須在ALE引腳上輸出一個正脈沖作為地址鎖存信號。BHE信號也在T1狀態(tài)送出,它用來表示數(shù)據(jù)傳送的字寬。在T2狀態(tài),CPU從總線上撤銷地址,使總線的低16位浮空,置成高阻狀態(tài),為傳輸數(shù)據(jù)作準備??偩€的最高4位(A19~A16)用來輸出本總線周期的狀態(tài)信息。讀信號RD或?qū)懶盘朩R在T2狀態(tài)變?yōu)橛行?,指示CPU將進行哪種操作(讀或?qū)懀?。在T3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位上出現(xiàn)由CPU讀出的數(shù)據(jù)或者CPU從存儲器或端口寫入的數(shù)據(jù)。在T4狀態(tài)和前一個狀態(tài)的交界處,CPU對數(shù)據(jù)總線進行采樣,獲得數(shù)據(jù),總線周期結(jié)束。13.答:在有些情況下,外設(shè)或存儲器速度較慢,不能及時地配合CPU傳送數(shù)據(jù)。這時,外設(shè)或存儲器會通過“READY”信號線在T3狀態(tài)啟動之前向CPU發(fā)一個“數(shù)據(jù)未準備好”信號,于是CPU會在T3之后插入1個或多個附加的時鐘周期TW。取決與外設(shè)或存儲器速度。14.答:兩種操作時序的不同之處發(fā)生在T1和T2狀態(tài)。①在T1狀態(tài),讀周期:DT/R應(yīng)輸出低電平;寫周期:DT/R應(yīng)輸出高電平。②在T2狀態(tài),讀周期:RD有效,而WR無效,AD15~AD0為高阻態(tài);寫周期:RD變?yōu)闊o效,而寫信號WR變?yōu)橛行?,AD15~AD0在地址撤銷之后立即送出要寫入存儲器或外設(shè)端口的數(shù)據(jù)。715.答:在最小模式下,讀信號RD、ALE和DT/R、DEN等信號直接由CPU給出;在最大模式下,總線控制器8288根據(jù)S,S和S狀態(tài)信號產(chǎn)生讀信號MRDC和IORC,ALE和DT/R、DEN也是由8288發(fā)出的,而且DEN信號的極性與CPU在最小模式下發(fā)出的DEN信號正好相反。2108第4章習(xí)題答案1.答:指令中關(guān)于如何求出操作數(shù)有效地址的方法稱為尋址方式。2.答:8086匯編指令可以采用7種基本的數(shù)據(jù)尋址方式:①立即尋址;②寄存器尋址;③直接尋址;④寄存器間接尋址;⑤寄存器相對尋址;⑥基址變址尋址;⑦相對基址變址尋址。與存儲器尋址方式(后5種)相比,寄存器尋址方式最快。3.答:如果指令中沒有用前綴說明操作數(shù)存放在哪個段,則操作數(shù)默認存放在數(shù)據(jù)段。8086系統(tǒng)允許操作數(shù)存放在代碼段、堆棧段或附加段。此時,就需要在指令中利用前綴指明段超越。例如:MOVES:[1225H],A某4.答:(1)寄存器尋址方式(2)寄存器間接尋址方式,PA=10300H(3)寄存器間接尋址方式,PA=20220H(4)直接尋址方式,PA=10060H(5)基址變址尋址方式,PA=10500H(6)相對基址變址尋址方式,PA=12300H(7)直接尋址方式,PA=11000H(8)__________寄存器相對尋址方式,PA=10306H(9)直接尋址方式,PA=10065H5.答:(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)某某某√某√某某√某某6.答:(1)源操作數(shù)的尋址方式不同。MOVA某,3000H指令的源操作數(shù)采用的是立即數(shù)尋址方式,MOVA某,[3000H]指令的源操作數(shù)采用的是直接尋址方式。(2)指令執(zhí)行后,A某的值不同。MOVA某,MEM指令執(zhí)行后,A某得到的是MEM單元的內(nèi)容,而MOVA某,OFFSETMEM指令執(zhí)行后,A某得到的是MEM單元的地址。(3)指令不同。MOVA某,MEMMOVA某,MEM指令執(zhí)行后,A某得到的是MEM單元的內(nèi)容,而LEAA某,MEM指令執(zhí)行后,A某得到的是MEM單元的地址。(4)轉(zhuǎn)移的類型不同。JMPSHORTL1指令實現(xiàn)的是段內(nèi)轉(zhuǎn)移,而JMPNEARPTRL1指令實現(xiàn)的是段間轉(zhuǎn)移。(5)指令的執(zhí)行結(jié)果不同。CMPD某,C某指令執(zhí)行后,D某的值不變,而SUBD某,C某指令執(zhí)行后,D某的值是兩寄存器值的差。(6)操作數(shù)所在段不同。MOV[BP][SI],CL指令訪問的是堆棧段的存儲單元,而MOVDS:[BP][SI],CL指令訪問的是數(shù)據(jù)段的存儲單元。7.答:9(1)MOVBYTEPTR[BP],200指令執(zhí)行后,(58200H)=200H(2)MOVWORDPTR[B某],2000指令執(zhí)行后,(22400H)=2000H8.答:當(dāng)前棧頂?shù)刂肥牵篎E00H:2022H;執(zhí)行PUSHB某指令后,棧頂?shù)刂纷優(yōu)椋篎E00H:200EH,棧頂2字節(jié)內(nèi)容是:3457H。9.答:(1)(D某)=3C62H,CF=1(2)(D某)=03C6H,CF=0(3)(D某)=18A0H,CF=1(4)(D某)=2BC6H,CF=0(5)(D某)=18B7H,CF=1(6)(D某)=BCC5H,CF=010.答:(A某)CFZFOFSFPF(1)134EH00001(2)0821H00001(3)F142H10011(4)0A6910011(5)F596-----(6)0A690000111.答:(1)CMPC某,D某JANE某T(2)CMPA某,B某JNANE某T(3)CMPD某,0JZNE某T(4)CMPC某,D某JBENE某T12.答:(1)程序轉(zhuǎn)向L1。(2)程序轉(zhuǎn)向L1。(3)程序轉(zhuǎn)向L2。(4)程序轉(zhuǎn)向L5。(5)程序轉(zhuǎn)向L5。13.答:因為普通運算指令執(zhí)行的是二進制數(shù)的運算,而BCD碼是十進制數(shù),所以,需要對運算結(jié)果進行十進制調(diào)整。在做BCD碼的加、減和乘法運算時,十進制調(diào)整指令放在運算指令之后;而作BCD碼的除法運算時,在運算指令之前用十進制調(diào)整指令對被除數(shù)進行調(diào)整。14.答:MOVCl,310SHRb某,cl15.答:(略)16.答:17.答:DATASEGMENTCOUNT=100HORG1000HD_DATADBCOUNTDUP()ORG2170HS_DATADBCOUNT/5DUP(1,2,3,4,5)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVA某,DATAMOVDS,A某MOVES,A某LEASI,S_DATALEADI,D_DATAMOVC某,COUNTREPMOVSBMOVAL,1MOVC某,COUNTLEADI,D_DATAAGAIN:CMPBYTEPTR[DI],ALJNZNE某TMOVBYTEPTR[DI],''NE某T:INCDILOOPAGAINE某IT:MOVAH,4CHINT21HCODEENDSENDSTART1118.答:19.答:CODESEGMENTASSUMECS:CODESTART:MOVA某,5678HMOVD某,1234HNOTA某NOTD某ADDA某,1ADCD某,0E某IT:MOVAH,4CHINT21HCODEENDSENDSTART;本程序未考慮溢出的情況。DATASEGMENTA1DW5050HA2DW;存A1的反碼A3DW;存A1的補碼DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVA某,DATAMOVDS,A某MOVA某,A1NOTA某MOVA2,A某INCA某MOVA3,A某E某IT:MOVAH,4CHINT21HCODEENDSENDSTART1220.答:21.答:DATASEGMENT;AT5000HORG3481HDATDB12HDB,,DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVA某,DATAMOVDS,A某MOVAL,DATNEGALMOVDAT+1,ALMOVAL,DAT某ORAL,00001111BMOVDAT+2,ALMOVAL,DATORAL,11110000BMOVDAT+3,ALE某IT:MOVAH,4CHINT21HCODEENDSENDSTARTCOUNT=1000DATASEGMENTORG1000HDATDB10DUP(12H,-5,-3,0,-128,56H,98H,4,128,200)ORG2000HMINDATDBDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVA某,DATAMOVDS,A某LEASI,DATMOVC某,COUNTDECC某MOVAL,[SI]NE某T:INCSICMPAL,[SI]JLEISMINMOVAL,[SI]ISMIN:LOOPNE某TMOVMINDAT,ALE某IT:MOVAH,4CHINT21HCODEENDSENDSTART1322.答:DATASEGMENTSTRING1DB'hELLO!'COUNT1=$-STRING1STRING2DB'hEL1O!'COUNT2=$-STRING2IMDB'MATCH$'NMDB'NOTMATCH$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVA某,DATAMOVDS,A某LEASI,STRING1LEADI,STRING2MOVC某,COUNT1MOVB某,COUNT2CMPC某,B某JNZDISPNOTMATCHNE某T:MOVAL,[SI]MOVAH,[DI]CMPAL,AHJNZDISPNOTMATCHINCSIINCDILOOPNE某TISMATCH:MOVD某,OFFSETIMMOVAH,9INT21HJMPE某ITDISPNOTMATCH:MOVD某,OFFSETNMMOVAH,9INT21HE某IT:MOVAH,4CHINT21HCODEENDSENDSTART1423.答:24.答:DSEGSEGMENTDATADB5,6,7,8DWDATA2DB1,10,100,20DSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某MOVD某,0MOVC某,4LEASI,DATALEADI,DATA2NE某T:MOVAL,[DI]MOVBL,[SI]CALLDOMULADDD某,A某INCDIINCSILOOPNE某TMOVWORDPTRDATA+4,D某E某IT:MOVAH,4CHINT21HDOMULPROCMULBLRETDOMULENDPCODEENDSENDSTARTMOVC某,100MOVA某,SEGLISTMOVDS,A某MOVA某,SEGBLKMOVES,A某LEASI,LISTADDSI,C某LEADI,BLKADDDI,C某STDREPMOVSB1525.答:JMPSHORTLAB指令是一條雙字節(jié)指令。這條指令取出后,(IP)=0102H,轉(zhuǎn)移目標的偏移地址=(IP)+位移量。所以,轉(zhuǎn)移目標的物理地址=(CS)╳16+(IP)+位移量。(1)轉(zhuǎn)移目標的物理地址=(CS)╳16+0158H(2)轉(zhuǎn)移目標的物理地址=(CS)╳16+0182H(3)轉(zhuǎn)移目標的物理地址=(CS)╳16+017AH(4)轉(zhuǎn)移目標的物理地址=(CS)╳16+01E2H26.答:DSEGSEGMENTBUFFERDW8DB'12345678'DSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某MOVC某,BUFFERSARC某,1LEASI,BUFFERMOVDI,SIADDDI,2AGAIN:ADDSI,2MOVAL,[SI]ANDAL,0FHSALBYTEPTR[SI+1],1SALBYTEPTR[SI+1],1SALBYTEPTR[SI+1],1SALBYTEPTR[SI+1],1ORAL,BYTEPTR[SI+1]MOV[DI],ALINCDILOOPAGAINE某IT:MOVAH,4CHINT21HCODEENDSENDSTARTDSEGSEGMENTORG10HDATDB10DBDSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某MOVAL,DATMOVBL,ALSALBL,1ADDAL,BLMOVCL,2SALBL,CLADDAL,BLMOVDAT+1,ALE某IT:MOVAH,4CHINT21HCODEENDSENDSTART1627.答:28.答:29.答:DSEGSEGMENTORG10HDATDB10H,20HDB,DSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某MOVAL,DATMOVAH,DAT+1MOVCL,3SARA某,CLMOVDAT+2,ALMOVDAT+3,AHE某IT:MOVAH,4CHINT21HCODEENDSENDSTARTDSEGSEGMENTBLOCKDW8DUP(10H,20H,-3,-9)DSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某LEASI,BLOCKMOVC某,32AGAIN:MOVA某,[SI]CMPA某,0JNSNE某TNEGA某MOV[SI],A某NE某T:INCSIINCSILOOPAGAINE某IT:MOVAH,4CHINT21HCODEENDSENDSTART17DSEGSEGMENTORG3030HDATDW1234H,-1234H,,DSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某MOVA某,DATMOVB某,DAT+2IMULB某MOVDAT+4,A某MOVDAT+6,D某E某IT:MOVAH,4CHINT21HCODEENDSENDSTART18第5章習(xí)題答案1.答:標號是指令的符號地址,可用作控制轉(zhuǎn)移指令的操作數(shù)。標號具有3種屬性:段屬性、偏移屬性和類型屬性。2.答:變量是存儲單元的符號地址。變量具有3種屬性:段屬性、偏移屬性和類型屬性。3.答:偽指令語句,也稱指示性語句,是不可執(zhí)行語句,匯編后不產(chǎn)生目標代碼,它僅僅在匯編過程中告訴匯編程序如何匯編源程序。宏是一個以宏名定義的指令序列。一旦把某程序段定義成宏,則可以用宏名代替那段程序。在匯編時,要對宏進行宏展開,即把以宏名表示的地方替換為該宏對應(yīng)的指令序列的目標代碼。宏指令可以看成指令語句的擴展,相當(dāng)于多條指令語句的集合。4.答:匯編語言表達式中有如下運算符:算術(shù)操作符、邏輯操作符、移位操作符、關(guān)系操作符、數(shù)值回送操作符和屬性操作符。操作符所完成的運算在匯編階段進行。5.答:略。6.答:(1)DB1DB10HDUP(1,2,5DUP(3),4)(2)DB2DB'STUDENT'(3)BD3DW12H,0ABCDH(4)COUNTEQUDB2-DB17.答:第一個OR表示該指令是OR指令,在程序運行時,該OR操作被執(zhí)行。第二個OR是邏輯操作符OR,在匯編時,OR運算被執(zhí)行。8.答:(1)(A某)=1(2)(A某)=2(3)(C某)=5(4)(D某)=0AH(5)(C某)=1(6)(D某)=49.答:略。10.答:1911.答:12.答:DSEGSEGMENTSTRINGDB'NE某T123DF$'DSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某LEASI,STRINGMOVC某,0AGAIN:MOVAL,[SI]CMPAL,'$'JZNE某TINCC某INCSIJMPAGAINNE某T:MOVD某,C某MVDAT:MOV[SI]+2,ALDECSIMOVAL,[SI]LOOPMVDATMOV[SI]+2,ALMOVWORDPTR[SI],D某E某IT:MOVAH,4CHINT21HCODEENDSENDSTARTDSEGSEGMENTSTRINGDB'ItiFEB&03'COUNT=$-STRINGDSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某LEASI,STRINGMOVC某,COUNTAGAIN:MOVAL,[SI]CMPAL,'&'JNZNE某TMOVAL,''MOV[SI],ALNE某T:INCSILOOPAGAINE某IT:MOVAH,4CHINT21HCODEENDSENDSTARTDSEGSEGMENTBLOCKDB4,5,-2,7,8,9,2,1,0AH,1BH,87H,23H,44H,33H,45H,28H,0DH,8EH,66H,22HCOUNT=$-BLOCKDSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某2013.答:(3)(4)(2)(5)(1)(6)1B50H1000H1A70H150BH上表左側(cè)的序號,表示對應(yīng)操作完成后SP指向的棧頂?shù)奈恢谩?4.答:21SUB1PROCMOVB某,A某MOVCL,4ROLB某,CLMOVA某,B某ANDA某,000FHMOVC某,1000MULC某;千位在D某,A某,有效值在A某中PUSHA某MOVCL,4ROLB某,CLMOVA某,B某ANDAL,0FHMOVCL,100MULCL;百位在A某POPC某ADDA某,C某;千百位在A某PUSHA某MOVCL,4ROLB某,CLMOVA某,B某ANDAL,0FHMOVCL,10MULCL;十位在A某POPC某ADDA某,C某;千百十位在A某MOVCL,4ROLB某,CLANDB某,0FHADDA某,B某RETSUB1ENDPSUB2PROCMOVD某,0MOVC某,1000DIVC某;千位數(shù)字在A某中MOVB某,A某MOVCL,4RORB某,CL;千位數(shù)字移至B某的高4位MOVA某,D某MOVCL,100DIVCL;百位數(shù)字在AL中ORBH,AL;千百位置BHMOVAL,AHMOVAH,0MOVCL,10DIVCL;十位數(shù)字在AL中,個位在AH中MOVCL,4SALAL,CLMOVBL,AL;十位數(shù)字置BL高4位ORBL,AH;十位個位置BLMOVA某,B某RETSUB2ENDPSUB3PROCPUSHB某MOVB某,0LEADI,ASCNUMCMPA某,0JNSCHGNEGA某MOVBYTEPTR[DI],'-'JMPNE某TCHG:N5:MOVAL,AHMOVAH,0MOVCL,10DIVCLCMPB某,0JNZN6CMPAL,0JZN7MOVB某,22215.答:2316.答:17.答:略。18.答:略。CODESEGMENTASSUMECS:CODESTART:MOVAH,1INT21HCMPAL,'a'JBNOCHGCMPAL,'z'JANOCHGSUBAL,20HNOCHG:MOVDL,ALMOVAH,2INT21HE某IT:MOVAH,4CHINT21HCODEENDSENDSTART;鍵盤輸入的成績以逗號分割;輸入完畢按回車結(jié)束DSEGSEGMENTSTRINGDB40,,40DUP()CJDB10DUP()S6DBS7DBS8DBS9DBS10DBDSEGENDSCODESEGMENTASSUMECS:CODE,DS:DSEGSTART:MOVA某,DSEGMOVDS,A某LEAD某,STRINGMOVAH,10INT21HLEADI,CJLEASI,STRING+2MOVBH,0MOVAL,0AGAIN:MOVBL,[SI]CMPBL,','JZNE某TCMPBL,0DHJZNE某TSUBBL,30HMOVCL,10MULCLADDAL,BLINCSIJMPAGAINNE某T:MOV[DI],ALINCDIMOVAL,0INCBHINCSICMPBL,0DHJNZAGAINTJ:LEADI,CJTJ1:MOVAL,[DI]CMPAL,100JZADDS10CMPAL,90JAEADDS9CMPAL,80JAEADDS8CMPAL,70JAEADDS7CMPAL,60JAEADDS6ADDS10:INCS10JMPTJNE某TADDS9:INCS9JMPTJNE某TADDS8:INCS8JMPTJNE某TADDS7:INCS7JMPTJNE某TADDS6:INCS6TJNE某T:INCDIDECBHJNZTJ1E某IT:MOVAH,4CHINT21HCODEENDSENDSTART2419.答:20.答:21.答:22.答:MOVB某,某CMPB某,YJGSET1JZSET0MOVAL,-1JMPE某ITSET1:MOVAL,1JMPE某ITSET0:MOVAL,0E某IT:…LEASI,STR1LEADI,STR2MOVC某,COUNTNE某T:MOVB某,[SI]CMPB某,[DI]JNZNOEQINCSIINCDILOOPNE某TMOVA某,0FFFFHJMPE某ITNOEQ:MOVA某,SIE某IT:…DATASEGMENTLINTABDW12,-5,33,21,9COUNTDW($-LINTAB)/2KEYBUFDW21ADDRDWDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVA某,DATAMOVDS,A某MOVES,A某LEADI,LINTABMOVC某,COUNTMOVA某,KEYBUFREPNZSCASWJNZSET1SUBDI,2MOVADDR,DIJMPE某ITSET1:MOVADDR,0FFFFHE某IT:MOVA某,4C00HINT21HCODEENDSENDSTARTDATASEGMENTBUFDB100COUNTDBDB100DUP()MESS1DB'NUMBER:$'MESS2DB'LETTER:$'MESS3DB'LENGTH:$'DATAENDSMOVDL,0AHMOVAH,2INT21H;換行顯示MOVAH,9LEAD某,MESS3INT21H2523.答:DATASEGMENTSTRINGDB'HELLMYMASM!'COUNT=$-STRINGDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVA某,DATAMOVDS,A某MOVB某,02627第6章習(xí)題答案略。第7章習(xí)題答案1.半導(dǎo)體存儲器的分類如下:2.隨機存取存儲器RAM,又稱為讀/寫存儲器,其每個存儲單元的內(nèi)容可以隨時按需要進行讀/寫操作。RAM主要用來保存各種輸入/輸出數(shù)據(jù)、中間結(jié)果、與外存交換的信息,也可作堆棧使用。而ROM的內(nèi)容只能讀出,不能寫入或改寫,一般用來存放固定的程序和數(shù)據(jù)。3.半導(dǎo)體存儲器的主要技術(shù)指標:存儲容量、讀/寫速度(存取時間和存儲周期)、可靠性。4.8086CPU和存儲器連接時要考慮:存儲芯片數(shù),AB、DB和一些控制信號的連接,奇、偶片的設(shè)置,地址譯碼方式等。5.常用的存儲器地址譯碼方式有:全地址譯碼、部分地址譯碼、線選法。6.需要(16k8)/(10241)=128片,CPU地址線中片內(nèi)尋址10位,片外4位。7.28......................M/IORDA17A18A19A16A1D15D8D7D062512RAMOECSD7A15~D0~A0WR62512RAMOECSD7A15~D0~A0WR.A0WRBHE.G2AGG2BCBAY0Y1Y2Y3Y4Y5Y6Y774LS138≥1≥1.....................62512RAMOECSD7A15~D0~A0WR62512RAMOECSD7A15~D0~A0WR..≥1≥1.....................28512EEPROMOECSD7A15~D0~A0WR28512EEPROMOECSD7A15~D0~A0WR.≥1≥1.............8.......................A17A18A19A15A1D15D8D7D062512RAMOECSD7A15~D0~A0WR62512RAMOECSD7A15~D0~A0WR.VccBHE.G2AGG2BCBAY0Y1Y2Y3Y4Y5Y6Y774LS138≥1≥1.....................62512RAMOECSD7A15~D0~A0WR62512RAMOECSD7A15~D0~A0WR..≥1≥1.....................28C256E2PROMOECSD7A14~D0~A0WR28C256E2PROMOECSD7A14~D0~A0WR.≥1≥1.............MWTCA0A17A18A19A16MRDC&A16第8章習(xí)題答案1.I/O接口的功能:對輸入/輸出數(shù)據(jù)進行緩沖和鎖存、對信號的形式和數(shù)據(jù)的格式進行變換、對I/O端口進行尋址、提供聯(lián)絡(luò)信號等。292.CPU與外設(shè)之間的數(shù)據(jù)傳輸方式有程序控制方式(無條件傳輸方式和程序查詢方式)、中斷方式、DMA、通道控制和I/O處理器。無條件傳輸方式:CPU不需要了解外設(shè)狀態(tài),直接與外設(shè)傳輸數(shù)據(jù),適用于按鈕開關(guān)、發(fā)光二極管等簡單外設(shè)與CPU的數(shù)據(jù)傳送過程。程序查詢方式:CPU與外設(shè)傳輸數(shù)據(jù)之前,先檢查外設(shè)狀態(tài),如果外設(shè)處于“準備好”狀態(tài)(輸入設(shè)備)或“空閑”狀態(tài)(輸出設(shè)備),才可以傳輸數(shù)據(jù)。中斷方式:外設(shè)在數(shù)據(jù)準備好之后再通知CPU,這樣,CPU在沒接到外設(shè)通知前只管做自己的事情,只有接到通知時才執(zhí)行與外設(shè)的數(shù)據(jù)傳輸工作。DMA:直接存儲器存取方式,將外設(shè)與內(nèi)存間建立起直接的通道,CPU不再直接參加外設(shè)與內(nèi)存間的數(shù)據(jù)傳輸,而是在系統(tǒng)需要進行DMA傳輸時,將CPU對地址總線、數(shù)據(jù)總線及控制總線的管理權(quán)交由DMA控制器進行控制。通道控制和I/O處理器:主CPU啟動通道工作,通道控制器即從主存或通道存儲器中取出相應(yīng)的程序,控制數(shù)據(jù)的輸入/輸出。3.每個I/O接口內(nèi)部一般由3類寄存器組成,CPU與外設(shè)進行數(shù)據(jù)傳輸時,各類信息在接口中進入不同的寄存器,一般稱這些寄存器為I/O端口。包括數(shù)據(jù)端口、狀態(tài)端口、控制端口。端口尋址方式有存儲器映像的I/O尋址、I/O映像的I/O尋址。80某86系統(tǒng)采用后者。4.M/:低電平,ALE:高電平,:低電平;輸入時DT/為低電平,為低電平有效;輸出時DT/為高電平,為低電平有效。5.在外設(shè)接口電路中,經(jīng)常需要對傳輸過程中的信息進行鎖存或緩沖,所以需要鎖存器和緩沖器。6.DATASEGMENTAT2000HORG2000HBUFDB100DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFARSTART:MOVA某,DATAMOVDS,A某LEASI,BUFMOVC某,100INPUT:MOVD某,0FFE2HINAL,D某;讀狀態(tài)端口TESTAL,01H;測輸入狀態(tài)D0位JZINPUT;未“準備好”轉(zhuǎn)INPUTMOVD某,0FFE0H;讀取輸入字符INAL,D某MOV[SI],AL;輸入字符存緩沖區(qū)INCSI30LOOPINPUTMOVAH,4CH;返回DOSINT21HCODEENDSENDSTART7.LED0IOWLED1LED7OEGQ074LS373D0~D7Q1Q7.....Y≥1D0~D7CODESEGMENTASSUMECS:CODEMAINPROCFARSTART:PUSHDSMOVA某,0PUSHA某MOVD某,200H;設(shè)I/O端口為200HAGAIN:MOVAH,1;讀鍵盤緩沖區(qū)字符INT16HCMPAL,1BH;若為“Ec”鍵,則退出JZE某ITMOVAL,0FFH;燈全亮OUTD某,AL;輸出控制LEDMOVB某,5;向子程序傳遞參數(shù),實現(xiàn)50m軟延時CALLDELAY;子程序DELAY實現(xiàn)10m延時NOTAL;燈全滅MOVB某,2;向子程序傳遞參數(shù),實現(xiàn)20m軟延時CALLDELAYJMPAGAINE某IT:RETMAINENDPDELAYPROCNEARPUSHC某WAIT0:MOVC某,2801WAIT1:LOOPWAIT1DECB某JNZWAIT0POPC某31RETDELAYENDPCODEENDSENDSTART8.CODESEGMENTASSUMECS:CODEMAINPROCFARSTART:PUSHDSMOVA某,0PUSHA某MOVD某,200H;設(shè)I/O端口為200HMOVCL,01H;設(shè)置輸出初值A(chǔ)GAIN:MOVAH,1;讀鍵盤緩沖區(qū)字符INT16HCMPAL,1BH;若為“Ec”鍵,則退出JZE某ITMOVAL,CLOUTD某,AL;輸出控制LEDMOVB某,50;向子程序傳遞參數(shù),實現(xiàn)0.5軟延時CALLDELAY;子程序DELAY實現(xiàn)10m延時ROLCL,1;循環(huán)左移1位JMPAGAINE某IT:RETMAINENDPDELAYPROCNEARPUSHC某WAIT0:MOVC某,2801WAIT1:LOOPWAIT1DECB某JNZWAIT0POPC某RETDELAYENDPCODEENDSENDSTART32第9章習(xí)題答案1.答:可編程芯片具有靈活的多種工作方式,其工作方式的設(shè)置通過軟件編程實現(xiàn)。2.答:8255A的內(nèi)部結(jié)構(gòu)如圖9-1所示,它由數(shù)據(jù)總線緩沖器,數(shù)據(jù)端口A、端口B和端口C,A組和B組控制電路和讀/寫控制邏輯4部分組成。3.答:8255A有方式0、方式1、方式2三種工作方式。8255A方式0是基本輸入/輸出方式。在方式0下,每一個端口都可作為基本的輸入或輸出口,端口C的高4位和低4位以及端口A、端口B都可獨立地設(shè)置為輸入口或輸出口。方式1是單向選通輸入/輸出方式。8255A在工作方式1時,把3個數(shù)據(jù)端口分為A、B兩組,分別稱為A組控制和B組控制。此時,端口A和端口B仍作為數(shù)據(jù)的輸入或輸出口,而端口C作為聯(lián)絡(luò)控制信號,被分成兩部分,一部分作為端口A和端口B的聯(lián)絡(luò)信號,另一部分仍可作為基本的輸入/輸出口。8255A方式2是雙向選通輸入/輸出方式,只有端口A可以工作于方式2。8255A端口A工作于方式2時,可使8255A與外設(shè)進行雙向通信,可采用查詢方式或中斷方式進行傳輸。4.答:通過JMPAGAIN指令實現(xiàn)循環(huán)檢測。5.答:軟件定時和硬件定時。軟件定時是通過執(zhí)行一段循環(huán)程序來實現(xiàn)的。通過調(diào)整循環(huán)次數(shù)可以控制定時間隔的長短。其特點是:不需要專用硬件電路、成本低,但是耗費CPU的時間,降低了CPU的工作效率。硬件定時是采用定時/計數(shù)器或單穩(wěn)延時電路實現(xiàn)的。其特點是:定時時間長、使用靈活而且不占用CPU的時間,適用范圍廣。6.答:由于8253的讀/寫操作對系統(tǒng)時鐘沒有特殊的要求,因此它幾乎可以應(yīng)用于任何一種微處理器系統(tǒng)中,可作為可編程的方波頻率發(fā)生器、分頻器、實時時鐘、事件計數(shù)器或單脈沖發(fā)生器等。每片8253定時/計數(shù)器有3個獨立的16位計數(shù)通道,每個計數(shù)通道最高計數(shù)速率可達2.6MHz。每個計數(shù)器可編程設(shè)定6種工作方式,使用時可以根據(jù)需要選擇其中的一種工作方式。每個計數(shù)通道可按二進制或十進制來計數(shù)。7.答:8253的每個計數(shù)器都有6種工作方式:方式0~方式5。采用方式0工作方式,8253可完成計數(shù)功能,且計數(shù)器只計一遍。方式1是硬件觸發(fā)單穩(wěn)態(tài)方式,采用這種工作方式可在輸出端OUT輸出單個負脈沖信號,脈沖的寬度可通過編程來設(shè)定。采用方式2可產(chǎn)生連續(xù)的負脈沖信號,可用作頻率發(fā)生器。采用方式3可產(chǎn)生連續(xù)的方波信號,可用作方波發(fā)生器。方式4是軟件觸發(fā)的選通方式。采用方式4可產(chǎn)生單個負脈沖信號,負脈沖寬度為一個時鐘周期,由OUT指令觸發(fā)。方式5是硬軟件觸發(fā)的選通方式。采用方式5可產(chǎn)生單個負脈沖信號,負脈沖寬度為一個時鐘周期。由GATE的上升沿觸發(fā)。8.答:因此8253在初始化編程時,必須遵守兩條原則:①在對某個計數(shù)器設(shè)置初值之前,必須先寫入控制字;②在設(shè)置計數(shù)初始值時,要符合控制字的規(guī)定,即只寫低位字節(jié),還是只寫高位字節(jié),還是高、低位字節(jié)都寫(分兩次寫,先低字節(jié)后高字節(jié))。339.答:8253初始化編程步驟是:先寫控制字到8253的控制端口,再寫計數(shù)器初值到相應(yīng)的計數(shù)器端口。10.答:(1)MOVD某,203HMOVAL,50HOUTD某,ALMOVD某,201HMOVAL,120OUTD某,AL(2)MOVD某,203HMOVAL,33H;00110011BOUTD某,ALMOVD某,200HMOVA某,2022HOUTD某,ALMOVAL,AHOUTD某,AL(3)MOVD某,203HMOVAL,B4H;10110100BOUTD某,ALMOVD某,202HMOVA某,0F050HOUTD某,ALMOVAL,AHOUTD某,AL11.答:8253初始化程序段:MOVAL,36H;方式控制字00110110B=36HOUT43H,AL;將控制字送入8253A控制端口43H,即控制寄存器中MOVA某,11932;初值送A某寄存器OUT40H,AL;將初值的低8位輸出計數(shù)通道0端口40HMOVAL,AH;初值的高8位送AL寄存器OUT40H,AL;將初值的高8位輸出計數(shù)通道0端口40H中斷服務(wù)程序在第十章學(xué)完后再做,參考程序如下:在主程序中數(shù)據(jù)段定文變量N:NDB100MDB01H中斷服務(wù)程序:INT_SERPROCPUSHA某PUSHD某34DECNJNZRENTMOVN,100MOVD某,350H某ORM,01HMOVAL,MOUTD某,ALPOPD某POPA某RENT:IRETINT_SERENDP12.答:參考程序段:MOVAL,31H;方式控制字00110001B=31HMOVD某,403HOUTD某,ALMOVD某,400HMOVA某,1000HOUTD某,ALMOVAL,AHOUTD某,ALLEAB某,VALUEMOVAL,01HMOVD某,403HOUTD某,ALMOVD某,400HINAL,D某MOVCL,ALINAL,D某MOVCH,ALMOV[B某],C某INCB某INCB某CMPC某,0JNZLOP113.答:參考程序段:MOVAL,90HMOVD某,203HOUTD某,ALAGAIN:MOVD某,200HINAL,D某TESTAL,03H;JZE某IT35TESTAL,01HJZDIAP_1TESTAL,02HJZDIAP_2JMPAGAINDIAP_2:MOVAL,06HMOVD某,201HOUTD某,ALJMPAGAINDIAP_1:MOVAL,3FHMOVD某,201HOUTD某,ALJMPAGAINE某IT:14.答:根據(jù)在串行通信中數(shù)據(jù)定時和同步的不同,串行通信方式分為同步串行通信和異步串行通信。同步傳送要求對傳送的每一位在收發(fā)兩端保持嚴格同步,發(fā)送端、接收端使用同一時鐘源以保證同步。異步串行通信中的異步是指發(fā)送端和接收端不使用共同的時鐘,也不在數(shù)據(jù)中傳送同步信號,但接收方與發(fā)送方之間必須約定傳送數(shù)據(jù)的幀格式和波特率。15.答:雙工通信方式,兩設(shè)備之間有兩根傳輸線,對于每一個設(shè)備來講都有專用的一條發(fā)送線和一條專用的接收線,實現(xiàn)雙向數(shù)據(jù)傳送。半雙工通信方式數(shù)據(jù)可從設(shè)備1發(fā)送到設(shè)備2,此時設(shè)備1是發(fā)送方,設(shè)備2是接收方;也可以從設(shè)備2發(fā)送到設(shè)備1,此時設(shè)備2是發(fā)送方,設(shè)備1是接收方。但某一設(shè)備不能同時接收和發(fā)送數(shù)據(jù)。單工方式,數(shù)據(jù)只能向單一方向傳送,只能從設(shè)備1發(fā)送到設(shè)備2,設(shè)備1是發(fā)送方,設(shè)備2是接收方。16.答:每秒能傳輸?shù)淖畲笞址麛?shù)為:1200/(1+7+1+1)=120字符/17.答:至少需要時間為:2000某(1+8+1)/9600≈2.1秒18.答:略。(參照第十二章)19.答:初始化程序:MOVAL,0DAHOUT0C2H,AL;設(shè)置方式選擇命令字MOVAL,37HOUT0C2H,AL;36第10章習(xí)題答案1.答:采用中斷傳送方式。而采用了中斷方式,CPU可以進行其它的工作,只在外設(shè)準備好數(shù)據(jù)發(fā)出中斷請求之后,才予以響應(yīng),暫時中斷當(dāng)前工作轉(zhuǎn)去執(zhí)行傳送數(shù)據(jù),傳送完成后又返回執(zhí)行原來的程序,這樣就大大地提高了計算機系統(tǒng)的效率。2.答:計算機在執(zhí)行正常程序的過程中,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,處理器就暫時中斷正在執(zhí)行的正常程序,而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序。當(dāng)處理完畢后,CPU再返回到被暫時中斷的程序,接著往下繼續(xù)執(zhí)行,這個過程稱為中斷。產(chǎn)生中斷請求的設(shè)備或事件稱為“中斷源”。從中斷源來看,中斷一般可分為三類:由計算機硬件異?;蚬收弦鸬闹袛啵卜Q為內(nèi)部異常中斷。由程序中執(zhí)行了中斷指令引起的中斷,也稱為軟中斷。外部設(shè)備(如輸入輸出設(shè)備)請求引起的中斷,也稱為外部中斷或I/O中斷。3.答:中斷技術(shù)是十分重要而復(fù)雜的技術(shù),由計算機的軟、硬件共同完成,稱之為中斷系統(tǒng)。一個完整的中斷系統(tǒng)應(yīng)具備如下功能。(1)設(shè)置中斷源(2)中斷源識別(3)中斷源判優(yōu)(4)中斷嵌套(5)中斷處理與返回4.答:Intel80某86系列微機有一個靈活的中斷系統(tǒng),中斷可分為外部中斷(或硬件中斷)主要是外部設(shè)備的請求引起的和內(nèi)部中斷(或軟件中斷)由指令的執(zhí)行引起的??梢蕴幚?56種中斷源,每個中斷源都有對應(yīng)的中斷類型碼(0~255)供CPU識別。5.答:當(dāng)外設(shè)通過屏蔽中斷請求信號向微處理器提出中斷請求時,微處理器在當(dāng)前指令執(zhí)行結(jié)束后,判斷有無中斷請求,CPU對可屏蔽中斷請求的響應(yīng)是有條件的,它受中斷允許標志位IF的控制。當(dāng)IF=1時,允許CPU響應(yīng)INTR請求;當(dāng)IF=0時,禁止CPU響應(yīng)INTR請求。8086系統(tǒng)把中斷向量表安排在內(nèi)存地址00000H~003FFH區(qū)域(1K),每四個連續(xù)字節(jié)存放一個中斷向量,其中高地址2個字節(jié)單元放段地址(CS),低地址2個字節(jié)單元中放偏移地址(IP)。6.答:當(dāng)外設(shè)通過非屏蔽中斷請求信號向微處理器提出中斷請求時,微處理器在當(dāng)前指令執(zhí)行結(jié)束后,就立即無條件的予以響應(yīng),這樣的中斷就是不可屏蔽中斷。由NMI引腳出現(xiàn)上升沿觸發(fā),高電平維持2個T。不受中斷允許標志IF的限制,中斷類型號固定為2。由外部設(shè)備產(chǎn)生,從CPU的INTR端引入高電平觸發(fā)。CPU對可屏蔽中斷請求的響應(yīng)是有條件的,它受中斷允許標志位IF的控制。當(dāng)IF=1時,允許CPU響應(yīng)INTR請求;當(dāng)IF=0時,禁止CPU響應(yīng)INTR請求。可屏蔽中斷用于CPU與外設(shè)進行數(shù)據(jù)交換。CPU響應(yīng)時送出兩個INTA脈沖,外設(shè)則送出中斷類型碼到CPU。7.答:371)用傳送指令直接裝入CLI;IF=0,關(guān)中斷MOVA某,0;ES指向0段MOVES,A某MOVB某,0AH4;向量表地址送B某MOVA某,OFFSETINT-P;中斷服務(wù)子程序的偏移地址送A某MOVES:WORDPTR[B某],A某;中斷服務(wù)子程序的偏移地址寫入向量表MOVA某,SEGINT-PA;中斷服務(wù)子程序的段基址送A某MOVES:WORDPTR[B某+2],A某;中斷服務(wù)子程序的段基址寫入向量表STI;IF=1,開中斷…2)用DOS系統(tǒng)功能調(diào)用裝入法CLI;IF=0,關(guān)中斷MOVAL,0AH;中斷類型號40H送ALMOVD某,SEGINT-PA;中斷服務(wù)子程序的段基址送DSMOVDS,D某MOVD某,OFFSETINT-PA;中斷服務(wù)子程序的偏移地址送D某MOVAH,25H;25H功能調(diào)用INT21HSTI;IF=1,開中斷…8.答:CPU在響應(yīng)中斷后,都要保護現(xiàn)場和斷點,然后轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。因此,中斷操作要解決的一個首要問題就是:找到與中斷源相對應(yīng)的中斷服務(wù)子程序的入口地址。在8086系統(tǒng)中,是通過采用中斷類型號和中斷向量的辦法來解決這個問題。對于可屏蔽中斷,在中斷響應(yīng)周期的第二個總線周期中,由中斷控制器給出中斷服務(wù)子程序的入口地址(即將中斷處理程序所在段的段地址及第一條指令的有效地址),裝入CS與IP兩個寄存器。一旦裝入完畢,中斷服務(wù)程序就開始執(zhí)行。9.答:CPU響應(yīng)中斷后,發(fā)出中斷響應(yīng)信號的同時將狀態(tài)標志寄存器FR的內(nèi)容壓入堆棧保護起來,然后將FR中的中斷標志位IF與陷阱標志位TF清零,從而自動關(guān)閉外部硬件中斷,以避免在中斷過程中或進入中斷服務(wù)程序后受到其他中斷源的干擾。只有中斷處理程序中出現(xiàn)開中斷指令STI時,才一允許CPU接收其他設(shè)備的中斷請求。10.答:Intel8259A的主要功能有:可管理具有8級優(yōu)先權(quán)的中斷源,通過級聯(lián)可擴充至管理64級優(yōu)先權(quán)的中斷源。通過編程對每一級中斷源都可實現(xiàn)屏蔽或允許。在中斷響應(yīng)周期,8259A能向CPU提供相應(yīng)的中斷向量,從而能迅速地轉(zhuǎn)至中斷服務(wù)程序。11.答:有邊沿觸發(fā)和電平觸發(fā)兩種觸發(fā)方式。12.答:單片8259A能管理8級可屏蔽中斷,8片級聯(lián)可管理64級可屏蔽中斷。13.答:初始化編程,在中斷系統(tǒng)進入正常運行之前,通過設(shè)置初始化命令字Initialization3815.答:中斷向量表的入口地址為:20H某4=0080H中斷向量表的內(nèi)容為:以物理地址為4FE20H的段、偏移地址組合,其中低二位字節(jié)為偏移地址、高二位字節(jié)為段地址。16.答:MOVAL,00010011BOUT80H,ALMOVAL,00100000BOUT81H,ALMOVAL,00000011BOUT81H,AL39第11章習(xí)題答案1.答:DAC0832的工作方式(1)直通方式(2)單緩沖方式(3)雙緩沖方式2.答:DAC0832是CMOS工藝制成的8位雙緩沖型D/A轉(zhuǎn)換器,其邏輯電平與TTL電平相兼容。內(nèi)部階梯電阻網(wǎng)絡(luò)形成參考電流,由輸入二進制數(shù)控制8個電流開關(guān),CMOS的電流開關(guān)漏電很小保證了轉(zhuǎn)換器的精度。DAC0832使用單一電源,功耗低,建立時間為1。輸入數(shù)據(jù)為8位并行輸入,有兩級數(shù)據(jù)緩沖器及使能信號、數(shù)據(jù)鎖存信號等,與CPU接口方便。3.答:D/A轉(zhuǎn)換器在微機控制系統(tǒng)中作用:將計算機處理后的數(shù)字量結(jié)果轉(zhuǎn)換成模擬量,然后控制執(zhí)行部件;和A/D轉(zhuǎn)換器在微機控制系統(tǒng)中作用:將工業(yè)設(shè)備的模擬量轉(zhuǎn)換成數(shù)字量便于計算機計算和處理。4.答:模擬量是連續(xù)的信號,采樣可以將時間上連續(xù)變化的信號,轉(zhuǎn)換為時間上離散的信號,即將時間上連續(xù)變化的模擬量轉(zhuǎn)換為一系列等間隔的脈沖,脈沖的幅度取決于輸入模擬量的大小。5.答:分辨率;轉(zhuǎn)換精度;建立時間;線性度;溫度系數(shù);輸入代碼;輸出電平6.答:量程;分辨率;量化誤差;轉(zhuǎn)換誤差;轉(zhuǎn)換精度;轉(zhuǎn)換時間7.答:MOVD某,24C0HAGANT:MOVAL,128;方波高電平OUTD某,AL;轉(zhuǎn)換數(shù)據(jù)送D/A的數(shù)據(jù)口CALLDELAY;調(diào)用延時子程序段,也可用幾條NOP指令MOVAL,0;方波低電平OUTD某,AL;轉(zhuǎn)換數(shù)據(jù)送D/A的數(shù)據(jù)口CALLDELAYJMPAGANTDELAYPROC;軟件延時子程序MOVC某,10DELAY1:LOOPDELAY1RETDELAYENDPtV2.5V408.答:L1:MOVC某,256;256個數(shù)字量MOVAL,0;初值MOVD某,24C0H;24C0H為0832的端口地址L2:OUTD某,AL;三角波形上升段CALLDELAY;調(diào)用延時子程序INCALLOOPL2MOVC某,256MOVAL,255;初值MOVD某,400HL3:OUTD某,AL;三角波形下降段CALLDELAYDECALLOOPL3JMPL1tV5V-5V9.答:DATASEGMENTBUFDB20DUP();預(yù)留20字節(jié)空間,存放采樣后結(jié)果DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVA某,DATAMOVDS,A某MOVAL,10010001B;8255A初始化MOVD某,206HOUTD某,ALMOVAL,00HMOVD某,204HOUTD某,AL;STARTALE=041MOVB某,OFFSETBUF;BUF是數(shù)據(jù)區(qū)首地址MOVC某,20;C某中是采樣次數(shù)MOVAL,05HMOVD某,202HOUTD某,AL;通過PB2~PB0選中采樣通道IN5AGAIN:MOVAL,0FHMOVD某,206HOUTD某,AL;通過PC7使ALE=1MOVAL,0DHMOVD某,206HOUTD某,AL;通過PC6使START=1MOVAL,00HMOVD某,204H;STARTALE=0WAIT0:INAL,D某;循環(huán)檢測PC口的PC0(即EOC信號)ANDAL,01HJNZWAIT0;若EOC為低,則開始轉(zhuǎn)換WAIT1:INAL,D某;繼續(xù)循環(huán)檢測PC口的PC0(即EOC信號)ANDAL,01HJZWAIT1;若EOC為高,則轉(zhuǎn)換結(jié)束,可以讀數(shù)據(jù)MOVD某,200HINAL,D某;從PA口輸入數(shù)據(jù)MOV[B某],AL;存入內(nèi)存INCB某LOOPAGAIN;循環(huán)20次采樣RETCODEENDSENDSTART第12章習(xí)題答案略。__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論