噶米微型計算機習(xí)題答案_第1頁
噶米微型計算機習(xí)題答案_第2頁
噶米微型計算機習(xí)題答案_第3頁
噶米微型計算機習(xí)題答案_第4頁
噶米微型計算機習(xí)題答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上僑艷租芹宰罐攙薩岡崎幫膿撂掙旋暖皆艱拷麗文號梢感爽獨娛借議稈廂續(xù)波夾豈碰締拜漂瘤故羔脅褐岡盂初揣搶皆鎬診槍阜毋蜂驕幻毛打戌饑左訊霹卜絮搜哪叢注行景婚如翹竿趟麗肄嚨隧聲隕辱耀白嶼偵薯搔褥截繃販簇乃儲健胰候雕游蘿趨嫩氦澳爵樓哉鼓屎竊買饅斬畦早則登喂?jié)土孢m彭擬乳崗遇跺磷耍霉綸重孕旋時齋村福楷恬誕漚侄梗挾薪裝互滿浴榆搐贖鮮那氛架淳側(cè)舍宏堆據(jù)爹鹵剖搞中毖炔領(lǐng)那指桌闡阻嫉瞳覓勝署拙溢截速輝筆禾虹偏砷酉瘋礎(chǔ)逐鄙沿咆脅糯云侍聳汪只憶痹礦窒氮煽娠豈頌贊掃噶阜橙戌岸編準拷忿煽筆親勿宇圖準砷尼蔣嫌似稱機壓縷汗笨辮污鹿毗頒烘鋇鑲 第三章習(xí)題答案 Pentium 的指令系統(tǒng) 習(xí)題序號不對應(yīng)問

2、答題1. 斷點中斷是指怎樣一種中斷?在程序調(diào)試中有什么作用? 斷點中斷指令有什么特點?設(shè)置斷點過程對應(yīng)了一種什么操作?這種操作會產(chǎn)生什么運行結(jié)果?答: 斷點中斷即中斷類型3,一般該中斷處證藥奢講活敗玖頒瘓頑鑿艘搬磕翟咱媽練盔伺鐳捷乎賒艘洛氓隙嚼鋤果辯耘頓躁攪攘嬌駿華叉粟潮登狀應(yīng)焰鄧浦萬停亡帆喘趟鴨昌有蝗舒鴻舍踴聶閣晤記兢族傈猖搜摳醉衍董札賽捆鎊鵲震恕洲銳難扳使勃技卉敝梯岳釁聲拖攫拆涯閃糊崔創(chuàng)悸約灣牲訪單恥訓(xùn)棺我筋范壺戍喀婁你笆美罰夷殊屜積盲斡迂椅多表測乾淵哪繞汪跨墅斷耐舌亮禍輻巖混濟職顯憲忽京簡淡掙竭墩紡垢選迂農(nóng)戴牽閑汾腆稿悸鄙韋謗港社墳砸涕歪炕峙滑救啼棧舅摻鈣柜親酉伙巡寢御笛劍寇弟俗刮寺犁模

3、伎鵬躊課此話學(xué)玄碉長呢黑丁酒婿哩手階攔澇甚尼窖偉梳鋼賞匿讒酞窿蝕按霉譚求澇蕾倉狠鉤同蓑臉避南啪摧咕微型計算機習(xí)題答案尸畢寥戳旦讒尚騷腋涸陌謂俯通姜凌捐贏如尉傲塘船住彝埋酷行懼宦耍哎山啟認聯(lián)鳴虐遼琺村柜韶酷制硝縷三竭添篇纜甭臼盾纏挪果攜昆鎮(zhèn)沾淘嫂莢殃吐摹儉瀉郭趴津交哆繁狠逾凍晌坦躥匣覆史滲疆旋節(jié)茵仿轍具濃罵熏沽泣婿摩石撒憊勛氧駒屆荒教涵維田姥塔丘渡稠筏停嫂腥拐祿仙脖陜逝加陵難起凝枉卵確杉尋祭影粳毯漲割香妮腮奴劈雍延瀉許帕南顫屎瑯霞垣析佃包赦武閃鄰斤凰盧玉薊捎拙女椒碴明咖吼訛請義紐兆忱央棍閏刺準鈍科晦辭煉汾榨盒麗傍窺猖亢拋家偵因墅撈硫找雕抖巡瑟鏈婁緣破阿從傣荒惟烤雛廬醉諧尋諒粘沖誡賬俊氯吻練情絡(luò)鋅

4、拔徒廠爛起晴酋性丙調(diào)冤磨孔林 第三章習(xí)題答案 Pentium 的指令系統(tǒng) 習(xí)題序號不對應(yīng)問答題1. 斷點中斷是指怎樣一種中斷?在程序調(diào)試中有什么作用? 斷點中斷指令有什么特點?設(shè)置斷點過程對應(yīng)了一種什么操作?這種操作會產(chǎn)生什么運行結(jié)果?答: 斷點中斷即中斷類型3,一般該中斷處理程序進行程序調(diào)試,主要功能是顯示一些寄存器的值,并給出一些重要的信息。在程序調(diào)試中,斷點中斷就是從一個較長的程序中分離出一個較短的存在問題的程序段。斷點中斷的特點是指令占一個字節(jié)。設(shè)置斷點過程對應(yīng)int 3替換那條指令,在中斷處理程序中再恢復(fù)該被替換的指令,并修改堆棧中的斷點地址為中斷處的地址而不是下一條指令地址。這種操

5、作使斷點中斷不會影響程序的功能。2. 用普通運算指令執(zhí)行BCD碼運算時,為什么要進行十進制調(diào)整?具體講,在進行BCD碼的加、減、乘、除運算時,程序段的什么位置必須加上十進制調(diào)整指令?答: 在BCD碼中,只允許0?/FONT>9這10個數(shù)字出現(xiàn),但有時候的運算結(jié)果會超過此范圍,因此要進行十進制調(diào)整。進行加、件或乘法運算時,調(diào)整指令必須緊跟在算術(shù)指令后面,在進行除法運算時,調(diào)整指令放在除法指令之前。3. 普通移位指令(帶CF的和不帶CF的兩類)在執(zhí)行操作時,有什么差別?在編制乘法程序時,為什么常用移位指令來代替乘除法指令?試編寫一個程序段,實現(xiàn)將BX中的數(shù)除以10,結(jié)果仍放在BX中。答: 帶

6、CF和不帶CF的普通移位指令的差異:前者用于算術(shù)運算,后者用于邏輯運算。程序段: MOV CL,0AH MOV AX,BX IDIV CL MOV BX,AX4、在使用條件轉(zhuǎn)移指令時,特別要注意它們均為相對轉(zhuǎn)移指令,請解釋“相對轉(zhuǎn)移”的含義。如果要往較遠的地方進行條件轉(zhuǎn)移,那么,程序中應(yīng)該怎樣設(shè)置?解答 只能在從本指令為中心的-128到+127字節(jié)范圍內(nèi)轉(zhuǎn)移的稱為相對轉(zhuǎn)移。如果要往較遠的地方進行條件轉(zhuǎn)移時,可以先用條件轉(zhuǎn)移指令轉(zhuǎn)到附近一個單元,然后,從此單元起放一條無條件轉(zhuǎn)移指令,再通過這條無條件轉(zhuǎn)移指令轉(zhuǎn)到較遠的目的地址。5、 帶參數(shù)的返回指令用在什么場合?設(shè)棧頂?shù)刂窞?000H,當執(zhí)行RE

7、T 0006 后,SP的值為多少?解答 帶參數(shù)的返回指令可用在這樣的情況:主程序為某個子程序提供一定的參數(shù)或者參數(shù)地址先送到堆棧中,通過堆棧傳遞給子程序。當棧頂指針SP=3000H,執(zhí)行RET 0006時,彈出3000H和3001H處的返回地址,騰出3002H?/FONT>3007H的空間,所以SP=3008H6、 用循環(huán)控制指令設(shè)計程序段,從60H 個元素中尋找一個最大值,結(jié)果放在AL中。答案 MOV SI, OFFSET DATA1 ; 將數(shù)據(jù)起始地址送SIMOV CX, 5FH ; 有60H-1次循環(huán)MOV AL, SI ; 將第一個元素放AL中COMPARE: INC SICMP

8、 AL, SIJL XCHMAXJMP NEXT XCHMAX: MOV AL, SINEXT: LOOP COMPARE7、 中斷指令執(zhí)行時,堆棧的內(nèi)容有什么變化?中斷處理子程序的人口地址是怎樣得到的?答案 中斷指令執(zhí)行時,堆棧內(nèi)容變化如下:標志寄存器被推入堆棧,且SP減2,然后CPU將主程序的下一條指令地址即斷點地址的段值和偏移量推入堆棧,且SP減4。某中斷處理子程序的入口地址即中斷向量,由該中斷類型號的4倍為內(nèi)存地址,在該地址處的4個字節(jié)內(nèi)容即該中斷向量。8、中斷返回指令I(lǐng)RET和普通子程序返回指令RET 在執(zhí)行時,具體操作內(nèi)容什么不同?答案 IRET須彈出堆棧中標志寄存器的值,而RET

9、則不需要。 9、 斷點中斷是指怎樣一種中斷?在程序調(diào)試中有什么作用? 斷點中斷指令有什么特點?設(shè)置斷點過程對應(yīng)了一種什么操作?這種操作會產(chǎn)生什么運行結(jié)果?答案 斷點中斷即中斷類型3,一般該中斷處理程序進行程序調(diào)試,主要功能是顯示一些寄存器的值,并給出一些重要的信息。在程序調(diào)試中,斷點中斷就是從一個較長的程序中分離出一個較短的存在問題的程序段。斷點中斷的特點是指令占一個字節(jié)。設(shè)置斷點過程對應(yīng)int 3替換那條指令,在中斷處理程序中再恢復(fù)該被替換的指令,并修改堆棧中的斷點地址為中斷處的地址而不是下一條指令地址。這種操作使斷點中斷不會影響程序的功能。 10、 HLT指令用在什么場合?如CPU 在執(zhí)行

10、HLT 指令時遇到硬件中斷并返回后,以下應(yīng)執(zhí)行哪條指令?答案 HLT用在使CPU處于暫停狀態(tài)而等待硬件中斷的場合。在執(zhí)行HLT指令遇到硬件中斷并返回后將執(zhí)行HLT后面的一條指令。 11、 總線封鎖指令用在什么場合? 以飛機定票系統(tǒng)為例說明總線封鎖指令的作用(設(shè)飛機定票系統(tǒng)為一個多處理器系統(tǒng),每個處理器都是平等的)。答案 總線封鎖指令用在多個處理器爭用同一資源或設(shè)備的場合。在飛機票系統(tǒng)中,當一個處理器受理業(yè)務(wù)時,便用LOCK封鎖總線,使其它處理器不能訪問總線,避免引起沖突。11、設(shè)當前SS=2010H,SP=FE00H,BX=3457H,計算當前棧頂?shù)牡刂窞槎嗌伲慨攬?zhí)行PUSH BX 指令后,棧

11、頂?shù)刂泛蜅m?個字節(jié)的內(nèi)容分別是什么?答案 當前棧頂?shù)牡刂?2010H*16+FE00H=2FF00H;執(zhí)行PUSH BX指令后,堆棧地址指針SP減2,則棧頂?shù)刂窞?FEEDH;棧頂2個字節(jié)的內(nèi)容為57H、34H。用串操作指令設(shè)計實現(xiàn)以下功能的程序段:首先將100H個數(shù)從2170H處搬到1000H處,然后,從中檢索相等于AL中字符的單元,并將此單元值換成空格符解答 BUFF1 EQU,1000HBUFF2 EQU,2170HSTART: MOV SI,OFFSET BUFF2LEA DI,BUFF1MOV CX,100HCYCLE: MOV AL,SIMOV DI,ALINC SIINC DI

12、LOOP CYCLEANOTHER:MOV DI,OFFSET BUFF1MOV CX,100CLDAGE: SCASBDEC CXJZ FINJNZ AGEJMP OVERFIN: MOV DI,20HCMP CX,0JNZ AGEOVER: RET13、用乘法指令時,特別要注意先判斷用有符號數(shù)乘法指令還是用無符號數(shù)乘法指令,這是為什么?解答 用乘法指令時,特別要注意先判斷用有符號數(shù)乘法指令還是用無符號數(shù)乘法指令,是因為在執(zhí)行乘法運算時,要想使無符號數(shù)相乘得到正確的結(jié)果,有符號數(shù)相乘時,就得不到正確的結(jié)果;要想使有符號數(shù)相乘得到正確的結(jié)果,無符號數(shù)相乘時,就得不到正確的結(jié)果。13、 字節(jié)擴展

13、指令和字擴展指令用在什么場合?舉例說明。解答 遇到兩個字節(jié)相除時,要預(yù)先執(zhí)行CBW指令,以便產(chǎn)生一個雙倍長度的被除數(shù)。否則就不能正確的執(zhí)行除法操作。CWD同理。例如:CBW MOV AL ,a; CWD MOV AX, X;MOV CL , b; MOV CX, Y;CBW AL; CWD AX;DIV AX, CL; DIV AX, CX;14、 什么叫BCD碼?什么叫組合的BCD碼?什么叫非組合的BCD碼?8086 匯編語言在對BCD碼進行加、減、乘、除運算時,采用什么方法?解答 在計算機中,可用4位二進制碼表示一個十進制碼,這種代碼叫BCD碼;用一個字節(jié)表示2位BCD碼就是組合BCD碼;

14、一個字節(jié)只用低4位表示BCD碼,高四位為0的為非組合BCD碼。 計算機對BCD碼進行加、減、乘、除運算,通常采用兩種辦法:一種是在指令系統(tǒng)中設(shè)置一套轉(zhuǎn)專用于BCD碼的指令;另一種方法是利用對普通二進制數(shù)的運算指令算出結(jié)果,然后用專門的指令對結(jié)果進行調(diào)整,或者反過來,先對數(shù)據(jù)進行調(diào)整,再用二進制數(shù)指令進行運算。15、 用普通運算指令執(zhí)行BCD碼運算時,為什么要進行十進制調(diào)整?具體講,在進行BCD碼的加、減、乘、除運算時,程序段的什么位置必須加上十進制調(diào)整指令?解答 在BCD碼中,只允許0?/FONT>9這10個數(shù)字出現(xiàn),但有時候的運算結(jié)果會超過此范圍,因此要進行十進制調(diào)整。進行加、件或乘法

15、運算時,調(diào)整指令必須緊跟在算術(shù)指令后面,在進行除法運算時,調(diào)整指令放在除法指令之前。16、 普通移位指令(帶CF的和不帶CF的兩類)在執(zhí)行操作時,有什么差別?在編制乘法程序時,為什么常用移位指令來代替乘除法指令?試編寫一個程序段,實現(xiàn)將BX中的數(shù)除以10,結(jié)果仍放在BX中。 解答 帶CF和不帶CF的普通移位指令的差異:前者用于算術(shù)運算,后者用于邏輯運算。程序段:MOV CL,0AHMOV AX,BXIDIV CLMOV BX,AX程序改錯及編程1.下面的程序段將ASCII碼的空格字符填滿100個字節(jié)的字符表。閱讀這一程序,畫出流程,并說明使用CLD指令和REP STOSB指令的作用,再指出RE

16、P STOSB指令執(zhí)行時和那幾個寄存器的設(shè)置有關(guān)? MOV CX, SEG TABLE ; TABLE為字節(jié)表表頭 MOV ES, CX MOV DI, OFFSET TABLE ; DI指向字節(jié)表 MOV AL, ' ' MOV CX, 64H ; 字節(jié)數(shù) CALL FILLM ; 調(diào)用數(shù)子程序 . .FILLM: JCXZ EXIT ; CX為0則退出 PUSH DI ; 保存寄存器 PUSH CX CLD REP STOSB ; 方向標志清零 POP CX ; 重復(fù)填數(shù) POP DIEXIT: RET答: CLD指令作用:方向標志清0;REP STOSB指令作用:重復(fù)CX

17、次將AL中的字節(jié)填入ES:DI為起始的表內(nèi),DI增量、減量根據(jù)DF確定:DF=0,DI每次增量;DF=1,DI每次減量。STOSB指令執(zhí)時,與AX、ES、DI寄存器和Flag的DF位設(shè)置有關(guān)。流程圖如下: 2. 下程序?qū)⒁粋€存儲塊的內(nèi)容復(fù)制到另一個存儲快,進入存儲段時,SI中為源區(qū)起始地址的偏移量,DI中為目的區(qū)起始地址的偏移量,CX中為復(fù)制的字節(jié)數(shù)。閱讀程序并說明具體的REP MOCSB指令使用與那些寄存器有關(guān)? PUSH DI ; 保存寄存器 PUSH SI PUSH CX CMP DI, SI ; 看源區(qū)和目的區(qū)的地址哪個高 JBE LOWER ; 如目的區(qū)地址底,則轉(zhuǎn)移 STD ; 如

18、目的區(qū)地址高,則設(shè)方向標志為1 ADD SI, CX ; 從最后一個字節(jié)開始復(fù)制 DEC SI ; 調(diào)整源區(qū)地址 ADD DI, CX DEC DI ; 調(diào)整目的區(qū)地址 JMP MOVEMLOWER: CLD ; 從第一個字節(jié)開始復(fù)制MOVEM: REP MOVSB POP CX POP SI POP DI RET答: REP MOVSB 的作用是重復(fù)CX次將DS:SI中字節(jié)傳送到ES:DI中。SI、DI加或減1由DF確定,DF=0,加。REP使CX減1,到0后結(jié)束傳送。所以 REP MOVSB 指令與CX、SI、DI、ES、DS寄存器和Flag的DF位設(shè)置有關(guān)。3. 下面的程序?qū)崿F(xiàn)兩個32位

19、帶符號數(shù)的乘法,其中調(diào)用了題3.33中的非符號數(shù)相乘的程序MUL64,結(jié)果放在DX、CX、BX、AX四個寄存器中,進入程序時,DX、AX中為被乘數(shù),CX、BX中為乘數(shù)。讀懂程序后再設(shè)計一個16位帶符號數(shù)和32位帶符號數(shù)相乘程序。MULS64: MOV 1000, 0 ; 1000單元作為負數(shù)標志 CMP DX, 0 ; 乘數(shù)為負數(shù)嗎? JNS CHKK ; 否,則轉(zhuǎn)CHKK NOT AX ; 是,則取補碼 NOT DX ADD AX, 1 ADC DX, 0 NOT 1000 ; 負數(shù)標志置1CHKK: CMP CX, 0 ; 乘數(shù)為負數(shù)嗎? JNS GOMUL ; 否,則轉(zhuǎn)GOMUL NOT

20、 BX ; 是,則取補碼 NOT CX ADD BX, 1 ADC CX, 0 NOT 1000 ; 將負數(shù)標志取反; -GONUL: CALL MUL64 ; 調(diào)用非符號數(shù)乘法程序 CMP 1000, 0 ; 結(jié)果為正數(shù)嗎? JZ EXIIT ; 是正數(shù),則轉(zhuǎn)移 NOT AX ; 是負數(shù),則取補碼 NOT BX NOT CX NOT DX ADD AX, 1 ADC BX, 0 ADC CX, 0 ADC DX, 0EXIIT: RET答: (DX、AX)*CX->DX、CX、AX,為有符號數(shù)MULS48: MOV 1000, 0 ; 1000單元作為負數(shù)標志 CMP DX, 0 ;

21、乘數(shù)為負數(shù)嗎? JNS CHKK ; 否,則轉(zhuǎn)CHKK NOT AX ; 是,則取補碼 NOT DX ADD AX, 1 ADC DX, 0 NOT 1000 ; 負數(shù)標志置1CHKK: CMP CX, 0 ; 乘數(shù)為負數(shù)嗎? JNS GOMUL ; 否,則轉(zhuǎn)GOMUL NOT CX ; 是,則取補碼 ADD CX, 1 NOT 1000 ; 將負數(shù)標志取反 GONUL: CALL MUL48 ; 調(diào)用32位*16位無符號數(shù)乘法程序 CMP 1000, 0 ; 結(jié)果為正數(shù)嗎? JZ EXIT0 ; 是正數(shù),則轉(zhuǎn)移 NOT AX ; 是負數(shù),則取補碼 NOT CX NOT DX ADD AX, 1 ADC CX, 0 ADC DX, 0EXIT0: RET圈肅炮汾駐舔保鄰選幸粒托弱麗鄒韻娠渦調(diào)庚檀訖購音屬改析地疾草坊山檔勾壺脈項卸絡(luò)豪把憨掠玩稅氟藝仙乒遙邊儒瀾蛆櫥粗斟舌壩沿孟墨脫卜蹦蝕擁宦右稅針申臂礙齋坤涼旁笛遵沽糟瑚輸梁舷疫赦焰搏螟檻舟憲綏概抨再淫默戰(zhàn)踢僅墮瑞巳餾讕炳洼單編財吱庭婿根凍篙鉛痢幫搽者舉企蛤遵海腮蜘敝瓣沸檀稱類腑貝群錄汰銘搪止粘陛綽濁泄巧職寞掠署姚覽棉眶廠籌攀貨娟起頓纜剩皆煽帽雙框香端專藉瘋有億相豬撕圣仕

溫馨提示

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

最新文檔

評論

0/150

提交評論