微機(jī)原理與接口技術(shù)——基于8086和Proteus仿真第2版 習(xí)題參考答案

上傳人:gfy****yf 文檔編號(hào):54682767 上傳時(shí)間:2022-02-15 格式:DOC 頁(yè)數(shù):59 大?。?51.05KB
收藏 版權(quán)申訴 舉報(bào) 下載
微機(jī)原理與接口技術(shù)——基于8086和Proteus仿真第2版 習(xí)題參考答案_第1頁(yè)
第1頁(yè) / 共59頁(yè)
微機(jī)原理與接口技術(shù)——基于8086和Proteus仿真第2版 習(xí)題參考答案_第2頁(yè)
第2頁(yè) / 共59頁(yè)
微機(jī)原理與接口技術(shù)——基于8086和Proteus仿真第2版 習(xí)題參考答案_第3頁(yè)
第3頁(yè) / 共59頁(yè)

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《微機(jī)原理與接口技術(shù)——基于8086和Proteus仿真第2版 習(xí)題參考答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《微機(jī)原理與接口技術(shù)——基于8086和Proteus仿真第2版 習(xí)題參考答案(59頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第1章 習(xí)題答案1.答:為了區(qū)別所使用的數(shù)制,一般用以下兩種書(shū)寫(xiě)格式表示: 用括號(hào)將數(shù)字括起,后面加數(shù)制區(qū)分,數(shù)制用下標(biāo)的形式給出; 用后綴區(qū)分,二進(jìn)制數(shù)、十進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)的后綴分別為字母B(或b)、D(或d)、O(或o)或Q(或q)、H(或h)。例如:十六進(jìn)制數(shù)56.78可以表示成(56.78)16或56.78H; 十進(jìn)制數(shù)56.78可以表示成(56.78)10或56.78D。2.答:123D采用十進(jìn)制,0AFH采用十六進(jìn)制,77Q采用八進(jìn)制,1001110B采用二進(jìn)制。3.答:字長(zhǎng)為8位的二進(jìn)制數(shù)原碼表示的最大值:127,最小值:-127;補(bǔ)碼表示的最大值:127,最小值:-

2、128。字長(zhǎng)為16位的二進(jìn)制數(shù)原碼表示的最大值:32767,最小值:-32767;補(bǔ)碼表示的最大值:32767,最小值:-32768。4.答:(1)125D=0111 1101B=7DH(2) 255D=1111 1111B=FFH(3)72D=0100 1000B=48H(4)5090D=0001 0011 1110 0010B=13E2H5.答:(1)1111 0000B=240D=F0H(2) 1000 0000 B =128D =80H(3)1111 1111 B =255 D =FFH(4)0101 0101B=85D=55H6.答:(1)FFH=255D=1111 1111B(2)

3、 ABCDH=43947D=1010 1011 1100 1101B(3) 123H=291D=0000 0001 0010 0011B(4) FFFFH=65535D=1111 1111 1111 1111B7.答:(1)8位時(shí)(16)原=0001 0000 ; (16)補(bǔ)=0001 0000;16位時(shí)(16)原=0000 0000 0001 0000 ; (16)補(bǔ)=0000 0000 0001 0000;(2) 8位時(shí)(-16)原=1001 0000 ; (-16)補(bǔ)=1111 0000;16位時(shí)(-16)原=1000 0000 0001 0000 ; (-16)補(bǔ)=1111 1111

4、1111 0000;(3) 8位時(shí)(+0)原=0000 0000; (+0)補(bǔ)=0000 0000;16位時(shí)(+0)原=0000 0000 0000 0000; (+0)補(bǔ)=0000 0000 0000 0000;(4) 8位時(shí)(-0)原=1000 0000 ; (-0)補(bǔ)=0000 0000;16位時(shí)(-0)原=1000 0000 0000 0000; (-0)補(bǔ)=0000 0000 0000 0000;(5) 8位時(shí)(127)原=0111 1111; (127)補(bǔ)=0111 1111;16位時(shí)(127)原=0000 0000 0111 1111; (127)補(bǔ)=0000 0000 0111

5、 1111;(6) 8位時(shí)-128超過(guò)原碼表示的范圍; (-128)補(bǔ)=1000 0000;16位時(shí)(-128)原=1000 0000 1000 0000; (-128)補(bǔ)=1111 1111 1000 0000;(7) 8位時(shí)(121)原=0111 1001 ; (121)補(bǔ)=0111 1001;16位時(shí)(121)原=0000 0000 0111 1001; (121)補(bǔ)=0000 0000 0111 1001;(8) 8位時(shí)(-9)原=1000 1001 ; (-9)補(bǔ)=1111 0111;16位時(shí)(-9)原=1000 0000 0000 1001; (-9)補(bǔ)=1111 1111 111

6、1 0111;8.答:(1) x補(bǔ)=1100 0010;(2)-x補(bǔ)=0000 1101;(3)x原=1100 0010;(4)x反=1011 1101。9.答:(1)AB;(2)AB10.答:(1)溢出;(2)13H;(3)溢出;(4)EDH;(5)EDH。11.答:(1)1000 1000;(2)1110 1110;(3)0110 0110;(4)1010 1100;(5)0000 0000;(6)1010 1100;(7)=0101 0011。12.答:(1)30H=48,字符為0;(2)39H=57,字符為9;(3)42H=66,字符為B;(4)62H=98,字符為b;(5)20H=3

7、2,字符為空格;(6)7H=7,字符為報(bào)警符;13、答:十進(jìn)制49123762壓縮BCD碼0100 1001B0001 0010 0011B0000 0111B0110 0010B非壓縮BCD碼0000 0100 0000 1001B0000 0001 0000 0010 0000 0011B0000 0111B0000 0110 0000 0010BASCII碼3439H313233H37H3632H第2章 習(xí)題答案1.(1)答:物理地址:物理地址(PA)是20位無(wú)符號(hào)二進(jìn)制數(shù),是CPU訪問(wèn)存儲(chǔ)器的實(shí)際地址。每個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)物理地址。8086存儲(chǔ)空間的物理地址范圍是:00000HFFFF

8、FH。邏輯地址:采用分段結(jié)構(gòu)的存儲(chǔ)器中,把通過(guò)段地址和偏移地址來(lái)表示的存儲(chǔ)單元的地址稱為邏輯地址,記為:段地址:偏移地址。段地址:8086規(guī)定各邏輯段從節(jié)的整數(shù)邊界開(kāi)始,即段首地址二進(jìn)制值的低4位是0000,把段首地址的高16位稱為段基址或段地址。偏移地址:把某一存儲(chǔ)單元相對(duì)于段地址的段內(nèi)偏移量稱為偏移地址(也稱有效地址EA)。段地址和偏移地址都是是16位無(wú)符號(hào)二進(jìn)制數(shù)。(2)答:時(shí)鐘周期:計(jì)算機(jī)的“時(shí)鐘”是由振蕩源產(chǎn)生的、幅度和周期不變的節(jié)拍脈沖,每個(gè)脈沖周期稱為時(shí)鐘周期,又稱為T(mén)狀態(tài)或T周期,時(shí)鐘周期是微機(jī)系統(tǒng)工作的最小時(shí)間單元??偩€周期:當(dāng)CPU訪問(wèn)存儲(chǔ)器或輸入/輸出端口時(shí),需要通過(guò)總線

9、進(jìn)行讀或?qū)懖僮?,這個(gè)過(guò)程稱為總線周期(Bus Cycle)??偩€周期是利用總線完成一次讀/寫(xiě)所需要的時(shí)間。指令周期:執(zhí)行一條指令所需要的時(shí)間稱為指令周期(Instruction Cycle)。指令周期由1個(gè)或多個(gè)總線周期組成。(3)答:最小模式:也稱為單處理器模式,是指系統(tǒng)中只有一片8086微處理器,所連接的存儲(chǔ)器容量不大、片子不多,所要連接的I/O端口也不多,系統(tǒng)的控制總線就直接由CPU的控制線供給,從而使得系統(tǒng)中的總線控制電路減到最少。最小模式適用于較小規(guī)模的系統(tǒng)。最大模式:相對(duì)于最小模式而言,適用于中、大型規(guī)模的系統(tǒng)。系統(tǒng)中有多個(gè)微處理器,其中一個(gè)是主處理器8086,其他的處理器稱為協(xié)處

10、理器,承擔(dān)某方面專門(mén)的工作。需要增加一片8288來(lái)對(duì)8086CPU發(fā)出的控制信號(hào)進(jìn)行變換和組合,以得到對(duì)存儲(chǔ)器或I/O端口的讀/寫(xiě)信號(hào)和對(duì)鎖存器、總線收發(fā)器的控制信號(hào)。2.答:EU:負(fù)責(zé)指令的執(zhí)行,即從總線接口部件BIU的指令隊(duì)列取指令,指令執(zhí)行后向BIU送回運(yùn)算結(jié)果,同時(shí)把運(yùn)算結(jié)果的狀態(tài)特征保存到標(biāo)志寄存器中。BIU:負(fù)責(zé)CPU與存儲(chǔ)器、I/O設(shè)備之間的數(shù)據(jù)傳送。BIU完成以下操作:取指令送給指令隊(duì)列、配合執(zhí)行部件從指定的內(nèi)存單元或者外設(shè)端口中取數(shù)據(jù)、將數(shù)據(jù)傳送給執(zhí)行部件或者把執(zhí)行部件的操作結(jié)果傳送到指定的內(nèi)存單元或外設(shè)端口中。8086的BIU和EU在很多時(shí)候可以并行工作,使得取指令、指令譯

11、碼和執(zhí)行指令這些操作構(gòu)成操作流水線。 當(dāng)指令隊(duì)列中有兩個(gè)空字節(jié),且EU沒(méi)有訪問(wèn)存儲(chǔ)器和I/O接口的要求時(shí),BIU會(huì)自動(dòng)把指令取到指令隊(duì)列中。 當(dāng)EU準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從指令隊(duì)列前部取出指令執(zhí)行。在執(zhí)行指令的過(guò)程中,如果需要訪問(wèn)存儲(chǔ)器或者I/O設(shè)備,那么EU會(huì)向BIU發(fā)出訪問(wèn)總線的請(qǐng)求,以完成訪問(wèn)存儲(chǔ)器或者I/O接口的操作。如果此時(shí)BIU正好處于空閑狀態(tài),那么,會(huì)立即響應(yīng)EU的總線請(qǐng)求;但如果BIU正在將某個(gè)指令字節(jié)取到指令隊(duì)列中,那么,BIU將首先完成這個(gè)取指令操作,然后再去響應(yīng)EU發(fā)出的訪問(wèn)總線的請(qǐng)求。 當(dāng)指令隊(duì)列已滿,而且EU又沒(méi)有總線訪問(wèn)時(shí),BIU便進(jìn)入空閑狀態(tài)。 在執(zhí)行轉(zhuǎn)移指令、

12、調(diào)用指令和返回指令時(shí),下面要執(zhí)行的指令就不是在程序中緊接著的那條指令了,而B(niǎo)IU往指令隊(duì)列裝入指令時(shí),總是按順序進(jìn)行的。在這種情況下,指令隊(duì)列中已經(jīng)裝入的指令就沒(méi)有用了,會(huì)被自動(dòng)消除。隨后,BIU會(huì)往指令隊(duì)列中裝入另一個(gè)程序段中的指令。3.答:地址信號(hào)是CPU發(fā)送給內(nèi)存或I/O設(shè)備的,所以地址線是單向的;數(shù)據(jù)信號(hào)可以從CPU發(fā)送給內(nèi)存或I/O設(shè)備,也可以從內(nèi)存或I/O設(shè)備發(fā)送給CPU,故而數(shù)據(jù)線是雙向的。4.答:8086CPU中有14個(gè)寄存器。它們是:4個(gè)16位的通用寄存器:AX、BX、CX、DX和8個(gè)8位的通用寄存器:AH、AL、BH、BL、CH、CL、DH、DL;指針和變址寄存器SP、BP

13、、 SI、DI;4個(gè)16位的段寄存器CS、DS、SS和ES;標(biāo)志寄存器FR;指令指針寄存器IP。功能略。5.答:(1)加法運(yùn)算的結(jié)果為:CEACH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=1;(2)加法運(yùn)算的結(jié)果為:68ACH;CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0;(3)加法運(yùn)算的結(jié)果為:DDDDH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=0。6.答:8086CPU可尋址的存儲(chǔ)器地址范圍是00000HFFFFFH;可尋址的I/O端口地址范圍是0000HFFFFH。7.答:由于8086CPU提供20位地址,但8086中可用來(lái)存放地址的寄存器,

14、如IP、SP、BX、SI等都是16位的,只能直接尋址64KB。為了尋址1MB存儲(chǔ)空間,8086CPU采用了典型的存儲(chǔ)器分段技術(shù),即將整個(gè)存儲(chǔ)器空間分為許多邏輯段,每個(gè)邏輯段的容量小于或等于64KB。分段后,對(duì)存儲(chǔ)器的尋址操作不再直接用20位的物理地址,而是采用段地址加段內(nèi)偏移地址的二級(jí)尋址方式。8.答:將AH的內(nèi)容送存儲(chǔ)單元的操作過(guò)程中:;將I/O端口的內(nèi)容送AL的操作過(guò)程中:。 9.答: A0有效的數(shù)據(jù)引腳操 作0 0AD15AD0(一個(gè)總線周期同時(shí)訪問(wèn)奇體和偶體,從奇地址單元讀/寫(xiě)字?jǐn)?shù)據(jù)的高8位,從偶地址單元讀/寫(xiě)字?jǐn)?shù)據(jù)的低8位)從偶地址讀/寫(xiě)一個(gè)字1 0AD7AD0從偶地址讀/寫(xiě)一個(gè)字節(jié)

15、0 1AD15AD8從奇地址讀/寫(xiě)一個(gè)字節(jié)0 11 0AD15AD8(第一個(gè)總線周期從奇字?jǐn)?shù)據(jù)的低8位)AD7AD0(第二個(gè)總線周期從偶地址單元讀/寫(xiě)字?jǐn)?shù)據(jù)的高8位)從奇地址讀/寫(xiě)一個(gè)字10.答:8086系統(tǒng)復(fù)位后,指令指針(IP)為0000H;CS寄存器為FFFFH,其他寄存器為0000H;指令隊(duì)列清空。11.答:8086的A19/S6A16/S3和AD15AD0是復(fù)用信號(hào),需要地址鎖存器將地址信息保存起來(lái),為外接存儲(chǔ)器或外設(shè)提供地址信息。需要鎖存的信號(hào)是:地址信號(hào)及信號(hào)。12.答:8086CPU一個(gè)基本的總線周期包含4個(gè)時(shí)鐘周期:T1、T2、T3和T4 。在T1狀態(tài),有效,指示CPU訪問(wèn)的

16、是存儲(chǔ)器還是外設(shè),之后CPU往多路復(fù)用總線上發(fā)出地址信息,以指出要尋址的存儲(chǔ)單元或外設(shè)端口的地址。在T1狀態(tài),CPU還必須在ALE引腳上輸出一個(gè)正脈沖作為地址鎖存信號(hào)。信號(hào)也在T1狀態(tài)送出,它用來(lái)表示數(shù)據(jù)傳送的字寬。在T2狀態(tài),CPU從總線上撤銷地址,使總線的低16位浮空,置成高阻狀態(tài),為傳輸數(shù)據(jù)作準(zhǔn)備。總線的最高4位(A1916)用來(lái)輸出本總線周期的狀態(tài)信息。讀信號(hào)或?qū)懶盘?hào)在T2狀態(tài)變?yōu)橛行?,指示CPU將進(jìn)行哪種操作(讀或?qū)懀T赥3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位上出現(xiàn)由CPU讀出的數(shù)據(jù)或者CPU從存儲(chǔ)器或端口寫(xiě)入的數(shù)據(jù)。在T4狀態(tài)和前一個(gè)狀態(tài)的交界處,CPU對(duì)

17、數(shù)據(jù)總線進(jìn)行采樣,獲得數(shù)據(jù),總線周期結(jié)束。13.答:在有些情況下,外設(shè)或存儲(chǔ)器速度較慢,不能及時(shí)地配合CPU傳送數(shù)據(jù)。這時(shí),外設(shè)或存儲(chǔ)器會(huì)通過(guò)“READY”信號(hào)線在T3狀態(tài)啟動(dòng)之前向CPU發(fā)一個(gè)“數(shù)據(jù)未準(zhǔn)備好”信號(hào),于是CPU會(huì)在T3之后插入1個(gè)或多個(gè)附加的時(shí)鐘周期TW。取決與外設(shè)或存儲(chǔ)器速度。14.答:兩種操作時(shí)序的不同之處發(fā)生在T1和T2狀態(tài)。 在T1狀態(tài),讀周期:應(yīng)輸出低電平;寫(xiě)周期:應(yīng)輸出高電平。 在T2狀態(tài),讀周期:有效,而無(wú)效,AD15AD0為高阻態(tài);寫(xiě)周期:變?yōu)闊o(wú)效,而寫(xiě)信號(hào)變?yōu)橛行?,AD15AD0在地址撤銷之后立即送出要寫(xiě)入存儲(chǔ)器或外設(shè)端口的數(shù)據(jù)。15.答:在最小模式下,讀信號(hào)

18、、ALE和、等信號(hào)直接由CPU給出;在最大模式下,總線控制器8288根據(jù)和狀態(tài)信號(hào)產(chǎn)生讀信號(hào)和,ALE和、DEN也是由8288發(fā)出的,而且DEN信號(hào)的極性與CPU在最小模式下發(fā)出的信號(hào)正好相反。第3章 習(xí)題答案1.答:指令中關(guān)于如何求出操作數(shù)有效地址的方法稱為尋址方式。8086CPU支持多種尋址方式,根據(jù)操作數(shù)的類型及來(lái)源大致分為3類:數(shù)據(jù)尋址、轉(zhuǎn)移地址尋址和I/O尋址。2.答:8086匯編指令可以采用7種基本的數(shù)據(jù)尋址方式:立即尋址;寄存器尋址;直接尋址;寄存器間接尋址;寄存器相對(duì)尋址;基址變址尋址;相對(duì)基址變址尋址。與存儲(chǔ)器尋址方式(后5種)相比,寄存器尋址方式最快。3.答:如果指令中沒(méi)有

19、用前綴說(shuō)明操作數(shù)存放在哪個(gè)段,則操作數(shù)默認(rèn)存放在數(shù)據(jù)段。8086系統(tǒng)允許操作數(shù)存放在代碼段、堆棧段或附加段。此時(shí),就需要在指令中利用前綴指明段超越。例如:MOV ES:1225H,AX 4.答:(1)寄存器尋址方式(2)寄存器間接尋址方式,PA=10300H(3)寄存器間接尋址方式,PA=20200H(4)直接尋址方式,PA=10060H(5)基址變址尋址方式,PA=10500H(6)相對(duì)基址變址尋址方式,PA=12300H(7)直接尋址方式,PA=11000H(8)寄存器相對(duì)尋址方式,PA=10306H(9)直接尋址方式,PA=10065H5.答:(1)(2)(3)(4)(5)(6)(7)(

20、8)(9)(10)(11)6.答:(1)源操作數(shù)的尋址方式不同。MOV AX,3000H指令的源操作數(shù)采用的是立即數(shù)尋址方式,MOV AX,3000H指令的源操作數(shù)采用的是直接尋址方式。(2)指令執(zhí)行后,AX的值不同。MOV AX,MEM指令執(zhí)行后,AX得到的是MEM單元的內(nèi)容,而MOV AX,OFFSET MEM指令執(zhí)行后,AX得到的是MEM單元的地址。(3)指令不同。MOV AX,MEMMOV AX,MEM指令執(zhí)行后,AX得到的是MEM單元的內(nèi)容,而LEA AX,MEM指令執(zhí)行后,AX得到的是MEM單元的地址。(4)轉(zhuǎn)移的類型不同。JMP SHORT L1指令實(shí)現(xiàn)的是段內(nèi)轉(zhuǎn)移,而JMP N

21、EAR PTR L1指令實(shí)現(xiàn)的是段間轉(zhuǎn)移。(5)指令的執(zhí)行結(jié)果不同。CMP DX,CX指令執(zhí)行后,DX的值不變,而SUB DX,CX指令執(zhí)行后,DX的值是兩寄存器值的差。(6)操作數(shù)所在段不同。MOV BPSI,CL指令訪問(wèn)的是堆棧段的存儲(chǔ)單元,而MOV DS:BPSI,CL指令訪問(wèn)的是數(shù)據(jù)段的存儲(chǔ)單元。 7.答:(1)MOV BYTE PTR BP,200指令執(zhí)行后,(58200H)=200H(2)MOV WORD PTR BX,2000指令執(zhí)行后,(22400H)=2000H8.答:當(dāng)前棧頂?shù)刂肥牵篎E00H:2010H;執(zhí)行PUSH BX指令后,棧頂?shù)刂纷優(yōu)椋篎E00H:200EH,棧頂

22、2字節(jié)內(nèi)容是:3457H。9.答:(1)(DX)=3C62H,CF=1(2)(DX)=03C6H,CF=0(3)(DX)=18A0H,CF=1(4)(DX)=2BC6H,CF=0(5)(DX)=18B7H,CF=1(6)(DX)=BCC5H,CF=010.答: (AX)CFZFOFSFPF(1)134EH00001(2)0821H00001(3)F142H10011(4)0A6910011(5)F596-(6)0A690000111.答:(1) CMP CX,DX JA NEXT(2)CMP AX,BX JNA NEXT(3)CMP DX,0 JZ NEXT(4)CMP CX,DX JBE N

23、EXT12.答: (1) 程序轉(zhuǎn)向L1。(2) 程序轉(zhuǎn)向L1。(3) 程序轉(zhuǎn)向L2。(4) 程序轉(zhuǎn)向L5。(5) 程序轉(zhuǎn)向L5。13.答:因?yàn)槠胀ㄟ\(yùn)算指令執(zhí)行的是二進(jìn)制數(shù)的運(yùn)算,而B(niǎo)CD碼是十進(jìn)制數(shù),所以,需要對(duì)運(yùn)算結(jié)果進(jìn)行十進(jìn)制調(diào)整。在做BCD碼的加、減和乘法運(yùn)算時(shí),十進(jìn)制調(diào)整指令放在運(yùn)算指令之后;而作BCD碼的除法運(yùn)算時(shí),在運(yùn)算指令之前用十進(jìn)制調(diào)整指令對(duì)被除數(shù)進(jìn)行調(diào)整。14.答: MOV Cl,3 SHR bx,cl15.答:(略)16.答:DATASEGMENTCOUNT=100HORG 1000HD_DATADBCOUNTDUP(?)ORG 2170HS_DATADB COUNT/5

24、DUP(1,2,3,4,5)DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOVAX,DATAMOVDS,AXMOVES,AXLEASI,S_DATALEADI,D_DATAMOVCX,COUNTREPMOVSBMOVAL,1MOVCX,COUNTLEADI,D_DATAAGAIN:CMPBYTE PTR DI,ALJNZNEXTMOVBYTE PTR DI, NEXT:INC DILOOP AGAINEXIT:MOVAH,4CHINT 21HCODEENDSEND START 17.答:CODESEGMENTASSUME CS

25、:CODESTART: MOV AX,5678HMOV DX,1234HNOT AXNOT DXADD AX,1ADC DX,0EXIT:MOVAH,4CHINT 21HCODEENDSEND START18. 答:;本程序未考慮溢出的情況。DATASEGMENTA1DW5050HA2DW?;存A1的反碼A3DW?;存A1的補(bǔ)碼DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AXMOVAX,A1NOTAXMOVA2,AXINCAXMOVA3,AXEXIT:MOVAH,4CHINT 21HCODEENDSEND ST

26、ART19. 答:DATASEGMENT;AT5000H ORG3481HDATDB12HDB?,?,?DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AXMOVAL,DATNEGALMOVDAT+1,ALMOVAL,DATXORAL,00001111BMOVDAT+2,ALMOVAL,DATORAL,11110000BMOVDAT+3,ALEXIT:MOVAH,4CHINT 21HCODEENDSEND START20. 答:COUNT=1000DATASEGMENT ORG1000HDATDB10 DUP (1

27、2H,-5,-3,0,-128,56H,98H,4,128,200)ORG2000HMINDATDB?DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AXLEASI,DATMOVCX,COUNTDECCXMOVAL,SINEXT:INCSICMPAL,SIJLEISMINMOVAL,SIISMIN:LOOPNEXTMOVMINDAT,ALEXIT:MOVAH,4CHINT 21HCODEENDSEND START21. 答:DATASEGMENT STRING1DB hELLO!COUNT1=$-STRING1ST

28、RING2DB hEL1O!COUNT2=$-STRING2IMDBMATCH$NMDBNOT MATCH$DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AXLEASI,STRING1LEADI,STRING2MOVCX,COUNT1MOVBX,COUNT2CMPCX,BXJNZDISPNOTMATCHNEXT:MOVAL,SIMOVAH,DICMPAL,AHJNZDISPNOTMATCHINCSIINCDILOOPNEXTISMATCH:MOVDX,OFFSET IMMOVAH,9INT21HJMPEXITDI

29、SPNOTMATCH:MOVDX,OFFSET NMMOVAH,9INT21HEXIT:MOVAH,4CHINT 21HCODEENDSEND START22. 答:DSEGSEGMENT DATADB5,6,7,8DW?DATA2DB1,10,100,20DSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXMOVDX,0MOVCX,4LEASI,DATALEADI,DATA2NEXT:MOVAL,DIMOVBL,SICALLDOMULADDDX,AXINCDIINCSILOOPNEXTMOVWORD PTR DA

30、TA+4,DXEXIT:MOVAH,4CHINT 21HDOMULPROCMULBLRETDOMULENDPCODEENDSEND STARTMOVCX,100MOVAX,SEG LISTMOVDS,AXMOVAX,SEGBLKMOVES,AXLEASI,LISTADDSI,CXLEADI,BLKADDDI,CXSTDREPMOVSB23. 答:24. 答:DSEGSEGMENT BUFFERDW8DB12345678DSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXMOVCX,BUFFERSARCX,1LEAS

31、I,BUFFERMOVDI,SIADDDI,2AGAIN:ADDSI,2MOVAL,SIANDAL,0FHSALBYTE PTR SI+1,1SALBYTE PTR SI+1,1SALBYTE PTR SI+1,1SALBYTE PTR SI+1,1ORAL,BYTE PTR SI+1MOVDI,ALINCDILOOPAGAINEXIT:MOVAH,4CHINT 21HCODEENDSEND START25. 答:JMP SHORT LAB指令是一條雙字節(jié)指令。這條指令取出后,(IP)=0102H,轉(zhuǎn)移目標(biāo)的偏移地址=(IP)+位移量。所以,轉(zhuǎn)移目標(biāo)的物理地址=(CS)16+(IP)+位移量。

32、(1)轉(zhuǎn)移目標(biāo)的物理地址=(CS)16+0158H(2)轉(zhuǎn)移目標(biāo)的物理地址=(CS)16+0182H(3)轉(zhuǎn)移目標(biāo)的物理地址=(CS)16+017AH(4)轉(zhuǎn)移目標(biāo)的物理地址=(CS)16+01E2HDSEGSEGMENTORG10H DATDB10DB?DSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXMOVAL,DATMOVBL,ALSALBL,1ADDAL,BLMOVCL,2SALBL,CLADDAL,BLMOVDAT+1,ALEXIT:MOVAH,4CHINT 21HCODEENDSEND START26

33、. 答:27. 答:DSEGSEGMENTORG10H DATDB10H,20HDB?,?DSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXMOVAL,DATMOVAH,DAT+1MOVCL,3SARAX,CLMOVDAT+2,ALMOVDAT+3,AHEXIT:MOVAH,4CHINT 21HCODEENDSEND START28. 答:DSEGSEGMENTBLOCKDW8 DUP (10H,20H,-3,-9)DSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: M

34、OVAX,DSEGMOVDS,AXLEASI,BLOCKMOVCX,32AGAIN:MOVAX,SICMPAX,0JNSNEXTNEGAXMOVSI,AXNEXT:INCSIINCSILOOPAGAINEXIT:MOVAH,4CHINT 21HCODEENDSEND START29. 答:DSEGSEGMENTORG3030HDATDW1234H,-1234H,?,?DSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXMOVAX,DATMOVBX,DAT+2IMULBXMOVDAT+4,AXMOVDAT+6,DXE

35、XIT:MOVAH,4CHINT 21HCODEENDSEND START第4章 習(xí)題答案1. 答:標(biāo)號(hào)是指令的符號(hào)地址,可用作控制轉(zhuǎn)移指令的操作數(shù)。標(biāo)號(hào)具有3種屬性:段屬性、偏移屬性和類型屬性。2. 答:變量是存儲(chǔ)單元的符號(hào)地址。變量具有3種屬性:段屬性、偏移屬性和類型屬性。3. 答:偽指令語(yǔ)句,也稱指示性語(yǔ)句,是不可執(zhí)行語(yǔ)句,匯編后不產(chǎn)生目標(biāo)代碼,它僅僅在匯編過(guò)程中告訴匯編程序如何匯編源程序。宏是一個(gè)以宏名定義的指令序列。一旦把某程序段定義成宏,則可以用宏名代替那段程序。在匯編時(shí),要對(duì)宏進(jìn)行宏展開(kāi),即把以宏名表示的地方替換為該宏對(duì)應(yīng)的指令序列的目標(biāo)代碼。宏指令可以看成指令語(yǔ)句的擴(kuò)展,相當(dāng)于

36、多條指令語(yǔ)句的集合。4. 答:匯編語(yǔ)言表達(dá)式中有如下運(yùn)算符:算術(shù)操作符、邏輯操作符、移位操作符、關(guān)系操作符、數(shù)值回送操作符和屬性操作符。操作符所完成的運(yùn)算在匯編階段進(jìn)行。5. 答:略。6. 答:(1)DB1DB 10H DUP(1,2, 5 DUP(3),4)(2)DB2DBSTUDENT(3)BD3DW12H,0ABCDH(4)COUNTEQUDB2-DB17. 答:第一個(gè)OR表示該指令是OR指令,在程序運(yùn)行時(shí),該OR操作被執(zhí)行。第二個(gè)OR是邏輯操作符OR,在匯編時(shí),OR運(yùn)算被執(zhí)行。8. 答:(1)(AX)=1(2)(AX)=2(3)(CX)=5(4)(DX)=0AH(5)(CX)=1(6)

37、(DX)=49. 答:略。10. 答:DSEGSEGMENTSTRING DB NEXT123DF$DSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXLEASI,STRINGMOVCX,0AGAIN:MOVAL,SICMPAL,$JZNEXTINCCXINCSIJMPAGAINNEXT:MOVDX,CXMVDAT:MOVSI+2,ALDECSIMOVAL,SILOOPMVDATMOVSI+2,ALMOVWORD PTR SI,DXEXIT:MOVAH,4CHINT 21HCODEENDSEND START11.

38、答:DSEGSEGMENTSTRING DB It is FEB&03COUNT=$-STRINGDSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXLEASI,STRINGMOVCX,COUNTAGAIN:MOVAL,SICMPAL,&JNZNEXTMOVAL, MOVSI,ALNEXT:INCSILOOPAGAINEXIT:MOVAH,4CHINT 21HCODEENDSEND START12. 答:DSEGSEGMENTBLOCK DB 4,5,-2,7,8,9,2,1,0AH,1BH,87H,23H,44H

39、,33H,45H,28H,0DH,8EH,66H,22HCOUNT=$-BLOCKDSEGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXLEASI,BLOCKMOVCX,COUNTAGAIN:MOVAL,SIMOVDI,SIMOVDX,CXNEXT1:CMPAL,DIJGENEXTXCHGAL,DINEXT:INCDIDECDXJNZNEXT1MOVSI,ALINCSILOOPAGAINEXIT:MOVAH,4CHINT 21HCODEENDSEND START13. 答:(3)(4)(2) (5)(1)(6) 1B

40、50H1000H1A70H150BH上表左側(cè)的序號(hào),表示對(duì)應(yīng)操作完成后SP指向的棧頂?shù)奈恢谩?4. 答:SUB1PROCMOVBX,AXMOVCL,4ROLBX,CLMOVAX,BXANDAX,000FHMOVCX,1000MULCX;千位在DX,AX,有效值在AX中PUSHAXMOVCL,4ROLBX,CLMOVAX,BXANDAL,0FHMOVCL,100MULCL;百位在AXPOPCXADDAX,CX;千百位在AXPUSHAXMOVCL,4ROLBX,CLMOVAX,BXANDAL,0FHMOVCL,10MULCL;十位在AXPOPCXADDAX,CX;千百十位在AXMOVCL,4ROL

41、BX,CLANDBX,0FHADDAX,BXRETSUB1ENDP SUB2PROCMOVDX,0MOVCX,1000DIVCX;千位數(shù)字在AX中MOVBX,AXMOVCL,4RORBX,CL;千位數(shù)字移至BX的高4位MOVAX,DXMOVCL,100DIVCL;百位數(shù)字在AL中ORBH,AL;千百位置BHMOVAL,AHMOVAH,0MOVCL,10DIVCL;十位數(shù)字在AL中,個(gè)位在AH中MOVCL,4SALAL,CLMOVBL,AL;十位數(shù)字置BL高4位ORBL,AH;十位個(gè)位置BLMOVAX,BXRETSUB2ENDPN5:MOVAL,AHMOVAH,0MOVCL,10DIVCLCMP

42、BX,0JNZN6CMPAL,0JZN7MOVBX,2N6:ORAL,30HINCDIMOVDI,AL;存十位N7:ORAH,30HINCDIMOVDI,AHCMPBX,0JNZSNMOVBX,1SN:MOVCX,BX; 存數(shù)位長(zhǎng)度INCCX;串長(zhǎng)=數(shù)位+1位符號(hào)位LEADX,ASCNUMPOPBXRETSUB3ENDPSUB3PROCPUSHBXMOVBX,0LEADI,ASCNUMCMPAX,0JNSCHGNEGAXMOVBYTE PTR DI,-JMPNEXTCHG:MOVBYTE PTR DI,+NEXT:MOVDX,0MOVCX,10000DIVCX;萬(wàn)位數(shù)字在AX中CMPAL,0J

43、ZN1MOVBX,5ORAL,30HINCDIMOVDI,AL;存萬(wàn)位N1:MOVAX,DXMOVDX,0MOVCX,1000DIVCXCMPBX,0JNZN2CMPAL,0JZN3MOVBX,4N2:ORAL,30HINCDIMOVDI,AL;存千位N3:MOVAX,DXMOVCL,100DIVCLCMPBX,0JNZN4CMPAL,0JZN5MOVBX,3N4:ORAL,30HINCDIMOVDI,AL;存百位15. 答:CODESEGMENTASSUME CS:CODESTART: MOVAH,1INT21HCMPAL,aJBNOCHGCMPAL,zJANOCHGSUBAL,20HNOC

44、HG:MOVDL,ALMOVAH,2INT21HEXIT:MOVAH,4CHINT 21HCODEENDSEND START16. 答:ADDS9:INCS9JMPTJNEXTADDS8:INCS8JMPTJNEXTADDS7:INCS7JMPTJNEXTADDS6:INCS6TJNEXT:INC DIDECBHJNZTJ1EXIT:MOVAH,4CHINT 21HCODEENDSEND START;鍵盤(pán)輸入的成績(jī)以逗號(hào)分割;輸入完畢按回車結(jié)束DSEGSEGMENTSTRING DB 40,?,40 DUP(?)CJDB10 DUP(?)S6DB?S7DB?S8DB?S9DB?S10DB?DS

45、EGENDSCODESEGMENTASSUME CS:CODE,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXLEADX,STRINGMOVAH,10INT21HLEADI,CJLEASI,STRING+2MOVBH,0MOVAL,0AGAIN:MOVBL,SICMPBL,JZNEXTCMPBL,0DHJZNEXTSUBBL,30HMOVCL,10MULCLADDAL,BLINCSIJMPAGAINNEXT:MOVDI,ALINCDIMOVAL,0INCBHINCSICMPBL,0DHJNZAGAINTJ:LEADI,CJTJ1:MOVAL,DICMPAL,100JZADDS

46、10CMPAL,90JAEADDS9CMPAL,80JAEADDS8CMPAL,70JAEADDS7CMPAL,60JAEADDS6ADDS10:INCS10JMPTJNEXT17.21.答:略。第5章 習(xí)題答案略。第6章 習(xí)題答案1半導(dǎo)體存儲(chǔ)器的分類如下: 2隨機(jī)存取存儲(chǔ)器RAM,又稱為讀/寫(xiě)存儲(chǔ)器,其每個(gè)存儲(chǔ)單元的內(nèi)容可以隨時(shí)按需要進(jìn)行讀/寫(xiě)操作。RAM主要用來(lái)保存各種輸入/輸出數(shù)據(jù)、中間結(jié)果、與外存交換的信息,也可作堆棧使用。而ROM的內(nèi)容只能讀出,不能寫(xiě)入或改寫(xiě),一般用來(lái)存放固定的程序和數(shù)據(jù)。3半導(dǎo)體存儲(chǔ)器的主要技術(shù)指標(biāo):存儲(chǔ)容量、讀/寫(xiě)速度(存取時(shí)間和存儲(chǔ)周期)、可靠性。48086C

47、PU和存儲(chǔ)器連接時(shí)要考慮:存儲(chǔ)芯片數(shù),AB、DB和一些控制信號(hào)的連接,奇、偶片的設(shè)置,地址譯碼方式等。5常用的存儲(chǔ)器地址譯碼方式有:全地址譯碼、部分地址譯碼、線選法。6. 需要(16k8)/(10241)=128片,CPU地址線中片內(nèi)尋址10位,片外4位。78第7章 習(xí)題答案1I/O接口的功能:對(duì)輸入/輸出數(shù)據(jù)進(jìn)行緩沖和鎖存、對(duì)信號(hào)的形式和數(shù)據(jù)的格式進(jìn)行變換、對(duì)I/O端口進(jìn)行尋址、提供聯(lián)絡(luò)信號(hào)等。2CPU與外設(shè)之間的數(shù)據(jù)傳輸方式有程序控制方式(無(wú)條件傳輸方式和程序查詢方式)、中斷方式、DMA、通道控制和I/O處理器。無(wú)條件傳輸方式:CPU不需要了解外設(shè)狀態(tài),直接與外設(shè)傳輸數(shù)據(jù),適用于按鈕開(kāi)關(guān)、

48、發(fā)光二極管等簡(jiǎn)單外設(shè)與CPU的數(shù)據(jù)傳送過(guò)程。程序查詢方式:CPU與外設(shè)傳輸數(shù)據(jù)之前,先檢查外設(shè)狀態(tài),如果外設(shè)處于“準(zhǔn)備好”狀態(tài)(輸入設(shè)備)或“空閑”狀態(tài)(輸出設(shè)備),才可以傳輸數(shù)據(jù)。中斷方式:外設(shè)在數(shù)據(jù)準(zhǔn)備好之后再通知CPU,這樣,CPU在沒(méi)接到外設(shè)通知前只管做自己的事情,只有接到通知時(shí)才執(zhí)行與外設(shè)的數(shù)據(jù)傳輸工作。DMA:直接存儲(chǔ)器存取方式,將外設(shè)與內(nèi)存間建立起直接的通道,CPU不再直接參加外設(shè)與內(nèi)存間的數(shù)據(jù)傳輸,而是在系統(tǒng)需要進(jìn)行DMA傳輸時(shí),將CPU對(duì)地址總線、數(shù)據(jù)總線及控制總線的管理權(quán)交由DMA控制器進(jìn)行控制。通道控制和I/O處理器:主CPU啟動(dòng)通道工作,通道控制器即從主存或通道存儲(chǔ)器中

49、取出相應(yīng)的程序,控制數(shù)據(jù)的輸入/輸出。3每個(gè)I/O接口內(nèi)部一般由3類寄存器組成,CPU與外設(shè)進(jìn)行數(shù)據(jù)傳輸時(shí),各類信息在接口中進(jìn)入不同的寄存器,一般稱這些寄存器為I/O端口。包括數(shù)據(jù)端口、狀態(tài)端口、控制端口。端口尋址方式有存儲(chǔ)器映像的I/O尋址、I/O映像的I/O尋址。80X86系統(tǒng)采用后者。4M/:低電平,ALE:高電平,:低電平;輸入時(shí)DT/為低電平,為低電平有效;輸出時(shí)DT/為高電平,為低電平有效。5在外設(shè)接口電路中,經(jīng)常需要對(duì)傳輸過(guò)程中的信息進(jìn)行鎖存或緩沖,所以需要鎖存器和緩沖器。6DATA SEGMENT AT 2000H ORG 2000H BUF DB 100 DUP(?) DAT

50、A ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAMAIN PROC FARSTART: MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,100INPUT: MOV DX,0FFE2H IN AL,DX;讀狀態(tài)端口 TEST AL,01H;測(cè)輸入狀態(tài)D0位 JZ INPUT;未“準(zhǔn)備好”轉(zhuǎn)INPUT MOV DX,0FFE0H;讀取輸入字符 IN AL,DX MOV SI,AL;輸入字符存緩沖區(qū) INC SI LOOP INPUT MOV AH,4CH;返回DOS INT 21HCODE ENDS END START7CODE SEGMENT ASSUME CS:CODEMAIN PROC FARSTART:PUSH DSMOV AX,0PUSH AXMOV DX,200H ;設(shè)I/O端口為

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!