影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

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

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

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

12 積分

下載資源

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

資源描述:

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

1、 第1章 習(xí)題答案 1.答: 為了區(qū)別所使用的數(shù)制,一般用以下兩種書寫格式表示: ① 用括號(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.答: 字長為8位的二進(jìn)制數(shù)原碼表示的最大值:

2、127,最小值:-127;補(bǔ)碼表示的最大值:127,最小值:-128。 字長為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=13E2H 5.答: (1)1111 0000B=240D=F0H (2) 1000 0000 B =128D =80H (3)1111 1111 B =255 D

3、 =FFH (4)0101 0101B=85D=55H 6.答: (1)FFH=255D=1111 1111B (2) ABCDH=43947D=1010 1011 1100 1101B (3) 123H=291D=0000 0001 0010 0011B (4) FFFFH=65535D=1111 1111 1111 1111B 7.答: (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)原=

4、1001 0000 ; (-16)補(bǔ)=1111 0000; 16位時(shí)(-16)原=1000 0000 0001 0000 ; (-16)補(bǔ)=1111 1111 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)

5、8位時(shí)(127)原=0111 1111; (127)補(bǔ)=0111 1111; 16位時(shí)(127)原=0000 0000 0111 1111; (127)補(bǔ)=0000 0000 0111 1111; (6) 8位時(shí)-128超過原碼表示的范圍; (-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

6、0111 1001; (8) 8位時(shí)(-9)原=1000 1001 ; (-9)補(bǔ)=1111 0111; 16位時(shí)(-9)原=1000 0000 0000 1001; (-9)補(bǔ)=1111 1111 1111 0111; 8.答: (1) [x]補(bǔ)=1100 0010;(2)[-x]補(bǔ)=0000 1101;(3)[x]原=1100 0010;(4)[x]反=1011 1101。 9.答: (1)A>B;(2)A<B 10.答: (1)溢出;(2)13H;(3)溢出;(4)EDH;(5)EDH。 11.答: (1)1000 1000;(2)1110 1110;(3

7、)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=32,字符為空格;(6)7H=7,字符為報(bào)警符; 13、答: 十進(jìn)制 49 123 7 62 壓縮BCD碼 0100 1001B 0001 0010 0011B 0000 0111B 0110 0010B 非壓縮BCD碼 0000 0100 0000 1001B

8、 0000 0001 0000 0010 0000 0011B 0000 0111B 0000 0110 0000 0010B ASCII碼 3439H 313233H 37H 3632H 第2章 習(xí)題答案 1.(1)答: 物理地址:物理地址(PA)是20位無符號(hào)二進(jìn)制數(shù),是CPU訪問存儲(chǔ)器的實(shí)際地址。每個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)物理地址。8086存儲(chǔ)空間的物理地址范圍是:00000H~FFFFFH。 邏輯地址:采用分段結(jié)構(gòu)的存儲(chǔ)器中,把通過段地址和偏移地址來表示的存儲(chǔ)單元的地址稱為邏輯地址,記為:段地址:偏移地址。 段地址:8086規(guī)定各邏輯段從節(jié)的整數(shù)邊界開始,

9、即段首地址二進(jìn)制值的低4位是0000,把段首地址的高16位稱為段基址或段地址。 偏移地址:把某一存儲(chǔ)單元相對(duì)于段地址的段內(nèi)偏移量稱為偏移地址(也稱有效地址EA)。段地址和偏移地址都是是16位無符號(hào)二進(jìn)制數(shù)。 (2)答: 時(shí)鐘周期:計(jì)算機(jī)的“時(shí)鐘”是由振蕩源產(chǎn)生的、幅度和周期不變的節(jié)拍脈沖,每個(gè)脈沖周期稱為時(shí)鐘周期,又稱為T狀態(tài)或T周期,時(shí)鐘周期是微機(jī)系統(tǒng)工作的最小時(shí)間單元。 總線周期:當(dāng)CPU訪問存儲(chǔ)器或輸入/輸出端口時(shí),需要通過總線進(jìn)行讀或?qū)懖僮?,這個(gè)過程稱為總線周期(Bus Cycle)??偩€周期是利用總線完成一次讀/寫所需要的時(shí)間。 指令周期:執(zhí)行一條指令所需要的時(shí)間稱為指令周

10、期(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é)處理器,承擔(dān)某方面專門的工作。需要增加一片8288來對(duì)8086CPU發(fā)出的控制信號(hào)進(jìn)行變換和組合,以得到對(duì)存儲(chǔ)器或I/O端口的讀/寫信號(hào)和對(duì)

11、鎖存器、總線收發(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í)候可以并行工作,使得取指令、指令譯碼和執(zhí)行指令這些操作構(gòu)成操作流水線。 ① 當(dāng)指令隊(duì)列中有兩個(gè)空字節(jié),且EU沒有訪問存儲(chǔ)器和I/O接口的要求時(shí),BIU

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

13、指令時(shí),總是按順序進(jìn)行的。在這種情況下,指令隊(duì)列中已經(jīng)裝入的指令就沒有用了,會(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、 SI、DI;4個(gè)16位的段寄存器CS、DS、SS和ES;標(biāo)志寄

14、存器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ǔ)器地址范圍是00000H~FFFFFH; 可尋址的I/O端口地址范圍是0000H~FFFFH。 7.答: 由于8086CPU提供20位地址,但8086中可用來存放地址的寄存器,如IP、S

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

16、地址讀/寫一個(gè)字 1 0 AD7~AD0 從偶地址讀/寫一個(gè)字節(jié) 0 1 AD15~AD8 從奇地址讀/寫一個(gè)字節(jié) 0 1 1 0 AD15~AD8(第一個(gè)總線周期從奇字?jǐn)?shù)據(jù)的低8位) AD7~AD0(第二個(gè)總線周期從偶地址單元讀/寫字?jǐn)?shù)據(jù)的高8位) 從奇地址讀/寫一個(gè)字 10.答: 8086系統(tǒng)復(fù)位后,指令指針(IP)為0000H;CS寄存器為FFFFH,其他寄存器為0000H;指令隊(duì)列清空。 11.答: 8086的A19/S6~A16/S3和AD15~AD0是復(fù)用信號(hào),需要地址鎖存器將地址信息保存起來,為外接存儲(chǔ)器或外設(shè)提供地址

17、信息。 需要鎖存的信號(hào)是:地址信號(hào)及信號(hào)。 12.答: 8086CPU一個(gè)基本的總線周期包含4個(gè)時(shí)鐘周期:T1、T2、T3和T4 。 在T1狀態(tài),有效,指示CPU訪問的是存儲(chǔ)器還是外設(shè),之后CPU往多路復(fù)用總線上發(fā)出地址信息,以指出要尋址的存儲(chǔ)單元或外設(shè)端口的地址。在T1狀態(tài),CPU還必須在ALE引腳上輸出一個(gè)正脈沖作為地址鎖存信號(hào)。信號(hào)也在T1狀態(tài)送出,它用來表示數(shù)據(jù)傳送的字寬。 在T2狀態(tài),CPU從總線上撤銷地址,使總線的低16位浮空,置成高阻狀態(tài),為傳輸數(shù)據(jù)作準(zhǔn)備??偩€的最高4位(A19~A16)用來輸出本總線周期的狀態(tài)信息。讀信號(hào)或?qū)懶盘?hào)在T2狀態(tài)變?yōu)橛行?,指示CPU將

18、進(jìn)行哪種操作(讀或?qū)懀? 在T3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位上出現(xiàn)由CPU讀出的數(shù)據(jù)或者CPU從存儲(chǔ)器或端口寫入的數(shù)據(jù)。 在T4狀態(tài)和前一個(gè)狀態(tài)的交界處,CPU對(duì)數(shù)據(jù)總線進(jìn)行采樣,獲得數(shù)據(jù),總線周期結(jié)束。 13.答: 在有些情況下,外設(shè)或存儲(chǔ)器速度較慢,不能及時(shí)地配合CPU傳送數(shù)據(jù)。這時(shí),外設(shè)或存儲(chǔ)器會(huì)通過“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),讀周期:

19、應(yīng)輸出低電平;寫周期:應(yīng)輸出高電平。 ② 在T2狀態(tài),讀周期:有效,而無效,AD15~AD0為高阻態(tài);寫周期:變?yōu)闊o效,而寫信號(hào)變?yōu)橛行?,AD15~AD0在地址撤銷之后立即送出要寫入存儲(chǔ)器或外設(shè)端口的數(shù)據(jù)。 15.答: 在最小模式下,讀信號(hào)、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ù)的類型及來源

20、大致分為3類:數(shù)據(jù)尋址、轉(zhuǎn)移地址尋址和I/O尋址。 2.答: 8086匯編指令可以采用7種基本的數(shù)據(jù)尋址方式:①立即尋址;②寄存器尋址;③直接尋址;④寄存器間接尋址;⑤寄存器相對(duì)尋址;⑥基址變址尋址;⑦相對(duì)基址變址尋址。 與存儲(chǔ)器尋址方式(后5種)相比,寄存器尋址方式最快。 3.答: 如果指令中沒有用前綴說明操作數(shù)存放在哪個(gè)段,則操作數(shù)默認(rèn)存放在數(shù)據(jù)段。 8086系統(tǒng)允許操作數(shù)存放在代碼段、堆棧段或附加段。此時(shí),就需要在指令中利用前綴指明段超越。例如: MOV ES:[1225H],AX 4.答: (1)寄存器尋址方式 (2)寄存器間接尋址方式,PA=10300H

21、(3)寄存器間接尋址方式,PA=20200H (4)直接尋址方式,PA=10060H (5)基址變址尋址方式,PA=10500H (6)相對(duì)基址變址尋址方式,PA=12300H (7)直接尋址方式,PA=11000H (8)寄存器相對(duì)尋址方式,PA=10306H (9)直接尋址方式,PA=10065H 5.答: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) × × × √ × √ × × √ × × 6.答: (1)源操作數(shù)的尋址方式不同。MOV AX,3000H指令的源操作數(shù)采用

22、的是立即數(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 NEAR PTR L1指令實(shí)現(xiàn)的是段間轉(zhuǎn)移。 (5)指令的執(zhí)行結(jié)果不同。C

23、MP DX,CX指令執(zhí)行后,DX的值不變,而SUB DX,CX指令執(zhí)行后,DX的值是兩寄存器值的差。 (6)操作數(shù)所在段不同。MOV [BP][SI],CL指令訪問的是堆棧段的存儲(chǔ)單元,而MOV DS:[BP][SI],CL指令訪問的是數(shù)據(jù)段的存儲(chǔ)單元。 7.答: (1)MOV BYTE PTR [BP],200指令執(zhí)行后,(58200H)=200H (2)MOV WORD PTR [BX],2000指令執(zhí)行后,(22400H)=2000H 8.答: 當(dāng)前棧頂?shù)刂肥牵篎E00H:2010H; 執(zhí)行PUSH BX指令后,棧頂?shù)刂纷優(yōu)椋篎E00H:200EH,棧頂2

24、字節(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=0 10.答: (AX) CF ZF OF SF PF (1) 134EH 0 0 0 0 1 (2) 0821H 0 0 0 0 1 (3) F142H 1 0 0 1 1 (4) 0A69 1 0 0 1 1 (5) F596 - -

25、 - - - (6) 0A69 0 0 0 0 1 11.答: (1) CMP CX,DX JA NEXT (2)CMP AX,BX JNA NEXT (3)CMP DX,0 JZ NEXT (4)CMP CX,DX JBE NEXT 12.答: (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)算,而BCD碼是十進(jìn)制數(shù),所以,需要對(duì)運(yùn)算結(jié)果進(jìn)行十進(jìn)制調(diào)整。 在做BCD碼的加、減和乘法運(yùn)算時(shí)

26、,十進(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,cl 15.答:(略) 16.答: DATA SEGMENT COUNT=100H ORG 1000H D_DATA DB COUNT DUP(?) ORG 2170H S_DATA DB COUNT/5 DUP(1,2,3,4,5) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START:

27、 MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,S_DATA LEA DI,D_DATA MOV CX,COUNT REP MOVSB MOV AL,1 MOV CX,COUNT LEA DI,D_DATA AGAIN: CMP BYTE PTR [DI],AL JNZ NEXT MOV BYTE PTR [DI],' ' NEXT: INC DI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START

28、 17.答: CODE SEGMENT ASSUME CS:CODE START: MOV AX,5678H MOV DX,1234H NOT AX NOT DX ADD AX,1 ADC DX,0 EXIT: MOV AH,4CH INT 21H CODE ENDS END START 18. 答: ;本程序未考慮溢出的情況。 DATA SEGMENT A1 DW 5050H A2 DW ? ;存A1的反碼 A3 DW ? ;存A1的補(bǔ)碼 DATA ENDS COD

29、E SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,A1 NOT AX MOV A2,AX INC AX MOV A3,AX EXIT: MOV AH,4CH INT 21H CODE ENDS END START 19. 答: DATA SEGMENT ;AT 5000H ORG 3481H DAT DB 12H D

30、B ?,?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,DAT NEG AL MOV DAT+1,AL MOV AL,DAT XOR AL,00001111B MOV DAT+2,AL MOV AL,DAT OR AL,11110000B MOV DAT+3,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START

31、 20. 答: COUNT=1000 DATA SEGMENT ORG 1000H DAT DB 10 DUP (12H,-5,-3,0,-128,56H,98H,4,128,200) ORG 2000H MINDAT DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DAT MOV CX,COUNT DEC CX MOV AL,[SI] NEXT:

32、 INC SI CMP AL,[SI] JLE ISMIN MOV AL,[SI] ISMIN: LOOP NEXT MOV MINDAT,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START 21. 答: DATA SEGMENT STRING1 DB 'hELLO!' COUNT1=$-STRING1 STRING2 DB 'hEL1O!' COUNT2=$-STRING2 IM

33、 DB 'MATCH$' NM DB 'NOT MATCH$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,STRING1 LEA DI,STRING2 MOV CX,COUNT1 MOV BX,COUNT2 CMP CX,BX JNZ DISPNOTMATCH NEXT: MOV AL,[SI] MOV AH,[DI] CMP AL,AH JNZ DISPNOTMATCH INC SI

34、 INC DI LOOP NEXT ISMATCH: MOV DX,OFFSET IM MOV AH,9 INT 21H JMP EXIT DISPNOTMATCH: MOV DX,OFFSET NM MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START 22. 答: DSEG

35、 SEGMENT DATA DB 5,6,7,8 DW ? DATA2 DB 1,10,100,20 DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV DX,0 MOV CX,4 LEA SI,DATA LEA DI,DATA2 NEXT: MOV AL,[DI] MOV BL,[SI] CALL DOMUL ADD DX,AX INC DI INC SI LOOP NEXT MOV WO

36、RD PTR DATA+4,DX EXIT: MOV AH,4CH INT 21H DOMUL PROC MUL BL RET DOMUL ENDP CODE ENDS END START MOV CX,100 MOV AX,SEG LIST MOV DS,AX MOV AX,SEG BLK MOV ES,AX LEA SI,LIST ADD SI,CX LEA DI,BLK ADD DI

37、,CX STD REP MOVSB 23. 答: 24. 答: DSEG SEGMENT BUFFER DW 8 DB '12345678' DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV CX,BUFFER SAR CX,1 LEA SI,BUFFER MOV DI,SI ADD DI,2 AGAIN: ADD SI,2 MOV AL,[SI] AND AL,

38、0FH SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 OR AL,BYTE PTR [SI+1] MOV [DI],AL INC DI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 25. 答: JMP SHORT LAB指令是一條雙字節(jié)指

39、令。這條指令取出后,(IP)=0102H,轉(zhuǎn)移目標(biāo)的偏移地址=(IP)+位移量。所以,轉(zhuǎn)移目標(biāo)的物理地址=(CS)╳16+(IP)+位移量。 (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+01E2H DSEG SEGMENT ORG 10H DAT DB 10 DB ? DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,D

40、SEG MOV DS,AX MOV AL,DAT MOV BL,AL SAL BL,1 ADD AL,BL MOV CL,2 SAL BL,CL ADD AL,BL MOV DAT+1,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START 26. 答: 27. 答: DSEG SEGMENT ORG 10H DAT DB 10H,20H DB ?,? DSEG ENDS CODE SEGMENT ASSU

41、ME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV AL,DAT MOV AH,DAT+1 MOV CL,3 SAR AX,CL MOV DAT+2,AL MOV DAT+3,AH EXIT: MOV AH,4CH INT 21H CODE ENDS END START 28. 答: DSEG SEGMENT BLOCK DW 8 DUP (10H,20H,-3,-9) DSEG ENDS CODE SEG

42、MENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,BLOCK MOV CX,32 AGAIN: MOV AX,[SI] CMP AX,0 JNS NEXT NEG AX MOV [SI],AX NEXT: INC SI INC SI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START

43、 29. 答: DSEG SEGMENT ORG 3030H DAT DW 1234H,-1234H,?,? DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV AX,DAT MOV BX,DAT+2 IMUL BX MOV DAT+4,AX MOV DAT+6,DX EXIT: MOV AH,4CH INT 21H CODE ENDS END START 第4章

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

45、表達(dá)式中有如下運(yùn)算符:算術(shù)操作符、邏輯操作符、移位操作符、關(guān)系操作符、數(shù)值回送操作符和屬性操作符。 操作符所完成的運(yùn)算在匯編階段進(jìn)行。 5. 答: 略。 6. 答: (1)DB1 DB 10H DUP(1,2, 5 DUP(3),4) (2)DB2 DB 'STUDENT' (3)BD3 DW 12H,0ABCDH (4)COUNT EQU DB2-DB1 7. 答: 第一個(gè)OR表示該指令是OR指令,在程序運(yùn)行時(shí),該OR操作被執(zhí)行。 第二個(gè)OR是邏輯操作符OR,在匯編時(shí),OR運(yùn)算被執(zhí)行。 8. 答: (1)(AX)=1 (2)(AX)=2 (

46、3)(CX)=5 (4)(DX)=0AH (5)(CX)=1 (6)(DX)=4 9. 答:略。 10. 答: DSEG SEGMENT STRING DB 'NEXT123DF$' DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,STRING MOV CX,0 AGAIN: MOV AL,[SI] CMP AL,'$' JZ NEXT INC CX INC SI JMP

47、 AGAIN NEXT: MOV DX,CX MVDAT: MOV [SI]+2,AL DEC SI MOV AL,[SI] LOOP MVDAT MOV [SI]+2,AL MOV WORD PTR [SI],DX EXIT: MOV AH,4CH INT 21H CODE ENDS END START 11. 答: DSEG SEGMENT STRING DB 'It is FEB&03' COUNT=$-STRING DSEG

48、 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,STRING MOV CX,COUNT AGAIN: MOV AL,[SI] CMP AL,'&' JNZ NEXT MOV AL,' ' MOV [SI],AL NEXT: INC SI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START

49、 12. 答: DSEG SEGMENT BLOCK DB 4,5,-2,7,8,9,2,1,0AH,1BH,87H,23H,44H,33H,45H,28H,0DH,8EH,66H,22H COUNT=$-BLOCK DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,BLOCK MOV CX,COUNT AGAIN: MOV AL,[SI] MOV DI,SI MOV DX,CX NEXT1: CMP AL

50、,[DI] JGE NEXT XCHG AL,[DI] NEXT: INC DI DEC DX JNZ NEXT1 MOV [SI],AL INC SI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 13. 答: (3) (4)(2) (5)(1) (6) 1B50H 1000H 1A70H 150BH 上表左側(cè)的序號(hào),表示對(duì)應(yīng)操作完

51、成后SP指向的棧頂?shù)奈恢谩? 14. 答: SUB1 PROC MOV BX,AX MOV CL,4 ROL BX,CL MOV AX,BX AND AX,000FH MOV CX,1000 MUL CX ;千位在DX,AX,有效值在AX中 PUSH AX MOV CL,4 ROL BX,CL MOV AX,BX AND AL,0FH MOV CL,100 MUL CL ;百位在AX POP CX ADD AX,CX ;千百位在AX PUSH AX MOV CL,4

52、 ROL BX,CL MOV AX,BX AND AL,0FH MOV CL,10 MUL CL ;十位在AX POP CX ADD AX,CX ;千百十位在AX MOV CL,4 ROL BX,CL AND BX,0FH ADD AX,BX RET SUB1 ENDP SUB2 PROC MOV DX,0 MOV CX,1000 DIV CX ;千位數(shù)

53、字在AX中 MOV BX,AX MOV CL,4 ROR BX,CL ;千位數(shù)字移至BX的高4位 MOV AX,DX MOV CL,100 DIV CL ;百位數(shù)字在AL中 OR BH,AL ;千百位置BH MOV AL,AH MOV AH,0 MOV CL,10 DIV CL ;十位數(shù)字在AL中,個(gè)位在AH中 MOV CL,4 SAL AL,CL MOV BL,AL ;十位數(shù)字置BL高4位 OR BL,AH ;十位個(gè)位置BL MOV AX,BX RET SUB2 ENDP

54、 N5: MOV AL,AH MOV AH,0 MOV CL,10 DIV CL CMP BX,0 JNZ N6 CMP AL,0 JZ N7 MOV BX,2 N6: OR AL,30H INC DI MOV [DI],AL ;存十位 N7: OR AH,30H INC DI MOV [DI],AH CMP BX,0 JNZ SN MOV BX,1 SN: MOV CX,BX ; 存數(shù)位長度 INC CX ;串長=數(shù)位+1位符號(hào)位 L

55、EA DX,ASCNUM POP BX RET SUB3 ENDP SUB3 PROC PUSH BX MOV BX,0 LEA DI,ASCNUM CMP AX,0 JNS CHG NEG AX MOV BYTE PTR [DI],'-' JMP NEXT CHG: MOV BYTE PTR [DI],'+' NEXT: MOV DX,0 MOV CX,10000 DIV CX ;萬位數(shù)字在AX中 CMP AL,0 JZ N1 MOV BX,5 OR AL,30H INC DI

56、 MOV [DI],AL ;存萬位 N1: MOV AX,DX MOV DX,0 MOV CX,1000 DIV CX CMP BX,0 JNZ N2 CMP AL,0 JZ N3 MOV BX,4 N2: OR AL,30H INC DI MOV [DI],AL ;存千位 N3: MOV AX,DX MOV CL,100 DIV CL CMP BX,0 JNZ N4 CMP AL,0 JZ N5 MOV BX,3 N4: OR AL,30H INC DI

57、MOV [DI],AL ;存百位 15. 答: CODE SEGMENT ASSUME CS:CODE START: MOV AH,1 INT 21H CMP AL,'a' JB NOCHG CMP AL,'z' JA NOCHG SUB AL,20H NOCHG: MOV DL,AL MOV AH,2 INT 21H EXIT: MOV AH

58、,4CH INT 21H CODE ENDS END START 16. 答: ADDS9: INC S9 JMP TJNEXT ADDS8: INC S8 JMP TJNEXT ADDS7: INC S7 JMP TJNEXT ADDS6: INC S6 TJNEXT: INC DI DEC BH JNZ TJ1 EXIT: MOV AH,4CH INT 21H CODE ENDS END START ;鍵盤輸入的成績以逗

59、號(hào)分割 ;輸入完畢按回車結(jié)束 DSEG SEGMENT STRING DB 40,?,40 DUP(?) CJ DB 10 DUP(?) S6 DB ? S7 DB ? S8 DB ? S9 DB ? S10 DB ? DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA DX,STRING MOV AH,10 INT 21H LEA DI,CJ LEA SI,STRING+2 MOV BH,0 M

60、OV AL,0 AGAIN: MOV BL,[SI] CMP BL,',' JZ NEXT CMP BL,0DH JZ NEXT SUB BL,30H MOV CL,10 MUL CL ADD AL,BL INC SI JMP AGAIN NEXT: MOV [DI],AL INC DI MOV AL,0 INC BH INC SI CMP BL,0DH JNZ AGAIN TJ: LEA DI,CJ TJ1: MOV AL,[DI] CMP AL,100

61、JZ ADDS10 CMP AL,90 JAE ADDS9 CMP AL,80 JAE ADDS8 CMP AL,70 JAE ADDS7 CMP AL,60 JAE ADDS6 ADDS10: INC S10 JMP TJNEXT 17.~21.答:略。 第5章 習(xí)題答案 略。 第6章 習(xí)題答案 1.半導(dǎo)體存儲(chǔ)器的分類如下: 2.隨機(jī)存取存儲(chǔ)器RAM,又稱為讀/寫存儲(chǔ)器,其每個(gè)存儲(chǔ)單元的內(nèi)容可以隨時(shí)按需要進(jìn)行讀/寫操

62、作。RAM主要用來保存各種輸入/輸出數(shù)據(jù)、中間結(jié)果、與外存交換的信息,也可作堆棧使用。而ROM的內(nèi)容只能讀出,不能寫入或改寫,一般用來存放固定的程序和數(shù)據(jù)。 3.半導(dǎo)體存儲(chǔ)器的主要技術(shù)指標(biāo):存儲(chǔ)容量、讀/寫速度(存取時(shí)間和存儲(chǔ)周期)、可靠性。 4.8086CPU和存儲(chǔ)器連接時(shí)要考慮:存儲(chǔ)芯片數(shù),AB、DB和一些控制信號(hào)的連接,奇、偶片的設(shè)置,地址譯碼方式等。 5.常用的存儲(chǔ)器地址譯碼方式有:全地址譯碼、部分地址譯碼、線選法。 6. 需要(16k′8)/(1024′1)=128片,CPU地址線中片內(nèi)尋址10位,片外4位。 7. 8. 第7章 習(xí)題答案

63、 1.I/O接口的功能:對(duì)輸入/輸出數(shù)據(jù)進(jìn)行緩沖和鎖存、對(duì)信號(hào)的形式和數(shù)據(jù)的格式進(jìn)行變換、對(duì)I/O端口進(jìn)行尋址、提供聯(lián)絡(luò)信號(hào)等。 2.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è)處于“準(zhǔn)備好”狀態(tài)(輸入設(shè)備)或“空閑”狀態(tài)(輸出設(shè)備),才可以傳輸數(shù)據(jù)。 中斷方式:外設(shè)在數(shù)據(jù)準(zhǔn)備好之后再通知CPU,這樣,CPU在沒接到外

64、設(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ǔ)器中取出相應(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ǔ)器映像

65、的I/O尋址、I/O映像的I/O尋址。80X86系統(tǒng)采用后者。 4.M/:低電平,ALE:高電平,:低電平;輸入時(shí)DT/為低電平,為低電平有效;輸出時(shí)DT/為高電平,為低電平有效。 5.在外設(shè)接口電路中,經(jīng)常需要對(duì)傳輸過程中的信息進(jìn)行鎖存或緩沖,所以需要鎖存器和緩沖器。 6. DATA SEGMENT AT 2000H ORG 2000H BUF DB 100 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROC FAR START: MOV AX,

66、DATA MOV DS,AX LEA SI,BUF MOV CX,100 INPUT: MOV DX,0FFE2H IN AL,DX ;讀狀態(tài)端口 TEST AL,01H ;測輸入狀態(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 21H CODE ENDS END START 7. CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: PUSH DS MOV AX,0 PUSH AX MOV DX,200H ;設(shè)I/O端口為

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

相關(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),我們立即給予刪除!