版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)原理與接口技術(shù)(第3版)習(xí)題答案第3章習(xí)題答案練習(xí)題13.1-1指出下列指令中源操作數(shù)和目的操作數(shù)的尋址方式。(1)MOVBX,20H (2)MOVAX,[1245H] (3)MOVDX,[SI](4)MOV100[BX],AL (5)MOV[BP][SI],AX (6)MOV[BX+100][SI],AX(7)MOV[1800H],AL (8)MOV[SI],AX【解答】目的操作數(shù)源操作數(shù)(1)寄存器尋址立即尋址(2)寄存器尋址直接尋址(3)寄存器尋址寄存器間接尋址(4)寄存器相對(duì)尋址寄存器尋址(5)基址加變址尋址寄存器尋址(6)相對(duì)基址加變址尋址寄存器尋址(7)直接尋址寄存器尋址(8)寄存器間接尋址寄存器尋址3.1-2(1)[AX] (2)[SI+DI] (3)BP (4)BH(5)DS (6)[BL+44] (7)[BX+BP+32] (8)[DX](9)[CX+90] (10)[BX*4] (11)BX+90H (12)SI[100H]【解答】(1)錯(cuò)誤,AX不能用于寄存器間接尋址(2)錯(cuò)誤,兩個(gè)變址寄存器SI和DI不能同時(shí)用于表示內(nèi)存單元的偏移地址(3)正確,寄存器尋址方式(4)正確,寄存器尋址方式(5)正確,寄存器尋址方式(6)錯(cuò)誤,寄存器BL不能用于表示內(nèi)存單元的偏移地址(7)錯(cuò)誤,BX和BP都是基址寄存器,不能同時(shí)用于表示內(nèi)存單元的偏移地址(8)錯(cuò)誤,DX不能用于寄存器間接尋址(9)錯(cuò)誤,CX不能用于表示內(nèi)存單元的偏移地址(10)錯(cuò)誤,16位寄存器不能乘以比例因子(11)錯(cuò)誤,沒(méi)有這樣的尋址方式(12)錯(cuò)誤,書(shū)寫(xiě)方式不對(duì),應(yīng)該寫(xiě)成100H[SI]3.1-3(1)MOVAL,[2500H] (2)MOVAX,[BP] (3)MOVAX,ES:[BP+10] (4)MOVAL,[BX+SI+20]【解答】源操作數(shù)屬于直接尋址,物理地址=DS16+2500H=20000H+2500H=22500H;源操作數(shù)屬于寄存器間接尋址,物理地址=SS16+BP=10100H+0200H=10300H源操作數(shù)屬于寄存器相對(duì)尋址,物理地址=ES16+BP+10=10000H+0200H+0AH=1020AH源操作數(shù)屬于基址加變址尋址,物理地址=DS16+BX+SI+20=20000H+0500H+1100H+14H=21614H練習(xí)題23.2-1判斷下列指令的對(duì)錯(cuò),如果錯(cuò)誤請(qǐng)說(shuō)明原因。(1)MOVCS,BX (2)MOVCH,SI (3)PUSHAL (4)MOVDX,[BX][BP](5)MOVCH,100H (6)XCHGBX,3 (7)PUSHCS (8)MOVAL,[BX][SI](9)PUSHCL (10)OUT3EBH,AL【解答】(1)CS不能賦值 (2)操作數(shù)類(lèi)型/長(zhǎng)度不匹配(3)PUSH指令的操作數(shù)必須是字 (4)尋址方式錯(cuò)誤,BP需要與SS配合使用(5)100H超出了CH表示的范圍 (6)交換指令的操作數(shù)不能是立即數(shù)(7)正確 (8)正確(9)錯(cuò)誤,PUSH指令的操作數(shù)應(yīng)該是字類(lèi)型的 (10)錯(cuò)誤,端口地址大于0FFH時(shí),應(yīng)用DX間接尋址3.2-2給出MOV指令執(zhí)行后的結(jié)果,設(shè)有關(guān)寄存器及存儲(chǔ)單元內(nèi)容如下:DS
=
2000H,78H,(22104H)
=
9AH,(22105H)
=
BCH,(20100H)
=
1AH,(20101H)
=
2BH,(20103H)
=
3CH,(20104H)
=4DH,(20105H)
=
5EH,(20106H)
=
6FH。(1)MOVAX,ES:[BX][SI] (2)MOVAX,BX (3)MOVAX,[BX](4)MOVAX,[BX+SI] (5)MOVAX,[BX+SI+1]【解答】(1)物理地址=2200H16+0100H+0004H=22104H,所以AX=0BC9AH;(2)AX=BX=0100H;(3)物理地址=2000H16+0100H=20100H,所以AX=2B1AH;(4)物理地址=2000H16+0100H+0004H=20104H,所以AX=5E4DH;(5)物理地址=2000H16+0100H+0004H+01=20105H,所以AX=6F5EH;3.2-3假定SS=1000H,SP=0100H,AX=2107H,執(zhí)行指令“PUSHAX”后,存放數(shù)據(jù)07H的存儲(chǔ)單元物理地址是?!窘獯稹?00FEH執(zhí)行“PUSHAX”指令后SP=00FEH,其中偏移地址為00FFH的單元存放的是21H,偏移地址為00FEH的單元存放的是07H,其物理地址為SP16+00FFH=100FEH。3.2-4已知AX=1020H,DX=3080H,端口地址PORT=41H,設(shè)有關(guān)端口內(nèi)容如下:(40H)=6EH,(41H)=22H,指出下列各條指令執(zhí)行的結(jié)果。(1)INAL,PORT;AL
=
______ (2)INAX,40H;AX
=
______(3)OUTDX,AL;(DX)
=
______ (4)OUTDX,AX;(DX)
=
_______【解答】(1)AL=22H; (2)AX=226EH; (3)(DX)=6EH; (4)(DX)=226EH(如果4條指令有先后順序)(1)AL=22H; (2)AX=226EH; (3)(DX)=20H; (4)(DX)=1020H(如果4條指令各自獨(dú)立)3.2-5用一條指令實(shí)現(xiàn)把BX和SI之和傳送給CX?!窘獯稹縇EACX,[BX+SI]3.2-6試比較下列3組指令的功能(1)LDS SI,[DI] (2)MOVSI,[DI] (3)MOVDS,[DI+2] MOVDS,[DI+2]
MOVSI,[DI]【解答】(1)相當(dāng)于MOVSI,[DI]MOVDS,[DI+2](2)與(1)功能相同(3)第一條指令修改了DS的值,因此執(zhí)行第二條指令后結(jié)果可能與(1)(2)不同。3.2-7指令“LDSSI,ES:[1000H]”的功能是()。A.把地址1000H送SIB.把地址為ES:[1000H]的字單元內(nèi)容送SIC.把地址為ES:[1000H]的字單元內(nèi)容送SI,把地址為ES:[1002H]的字單元內(nèi)容送DSD.把地址為ES:[1000H]的字單元內(nèi)容送DS,把地址為ES:[1002H]的字單元內(nèi)容送SI【解答】C3.2-8在指令“POP[BX]”中,目的操作數(shù)的段地址和偏移地址分別在()。A.沒(méi)有段地址和偏移地址 B.DS和BX中 C.ES和BX中 D.SS和BP中【解答】B練習(xí)題33.3-1判斷下列指令的對(duì)錯(cuò),如果錯(cuò)誤請(qǐng)說(shuō)明原因。(1)ADCAX,0ABH (2)MULAL,CL (3)MULAX,25(4)INC[SI] (5)ADD[BX],456H (6)DIVAX,BX(7)DEC
[BP] (8)ADDCX+1 (9)DAACX【解答】(1)正確(2)錯(cuò)誤,MUL指令后面應(yīng)該只有1個(gè)操作數(shù)(3)MUL指令后面應(yīng)該只有1個(gè)操作數(shù),且不能是立即數(shù)(4)錯(cuò)誤,操作數(shù)[SI]的類(lèi)型不明確,匯編程序不能確定其是8位還是16位的??梢愿臑椋篒NCBYTEPTR[SI](5)錯(cuò)誤,操作數(shù)[BX]的類(lèi)型不明確,匯編程序不能確定其是8位還是16位的。可以改為:ADD WORDPTR[BX],456H(6)錯(cuò)誤,除法指令和乘法指令類(lèi)似,AX或DX,AX作為被除數(shù)是隱含的,指令中出現(xiàn)。改為DIVBX(7)錯(cuò)誤,與第4題錯(cuò)誤原因類(lèi)似,還要注意BP寄存器間接尋址形成物理地址時(shí),段寄存器是SS而不是DS,修改為:DECWORDPTR[BP]或者DECWORDPTRDS:[BP](8)錯(cuò)誤,CX+1是完全錯(cuò)誤的,因?yàn)椋篒NCCX或ADDCX,1(9)錯(cuò)誤,DAA指令的操作數(shù)是隱含的,不需要寫(xiě)出。3.3-2求出以下各十六進(jìn)制數(shù)與62A0H之和,并根據(jù)結(jié)果判斷標(biāo)志SF,ZF和OF的值。(1)1234H (2)4321 H (3)CFA0H (4)9D60H【解答】(1)0110001010100000B(62A0H)+0001001000110100B(1234H)0111010011010100B(74D4H)SF=0,ZF=0,OF=00=0(2)0110001010100000B(62A0H)+0100001100100001B(4321H)1010010111000001B(A5C1H)SF=1,ZF=0,OF=01=1(3)0110001010100000B(62A0H)+1100111110100000B(CFA0H)10011001001000000B(3240H)SF=0,ZF=0,OF=11=0(4)0110001010100000B(62A0H)+1001110101100000B(9D60H)10000000000000000B(0000H)SF=0,ZF=1,OF=11=03.3-3無(wú)符號(hào)數(shù)擴(kuò)展是否可以使用如下指令?為什么?(1)CBW指令 (2)CWD指令【解答】不可以,因?yàn)檫@兩條指令都是針對(duì)帶符號(hào)數(shù)的。CBW把AL的符號(hào)擴(kuò)展到AH,CWD把AX的符號(hào)擴(kuò)展到DX。如果AL=80H,執(zhí)行CBW后,AX=0FF80H,顯然不對(duì)。3.3-4若AL、BL中是壓縮BCD碼,且在執(zhí)行“ADDAL,BL”之后,AL=0CH,CF=1,AF=0。再執(zhí)行DAA后,AL的值為多少?【解答】AL=72H。執(zhí)行“ADDAL,BL”之后,AL=0CH,CF=1,因此執(zhí)行DAA應(yīng)該加上66H進(jìn)行調(diào)整,AL為72H,實(shí)際的BCD碼相加結(jié)果是172(百位的1來(lái)自于CF中的進(jìn)位)。3.3-5判斷題(1)INC和DEC指令不影響狀態(tài)標(biāo)志。()(2)壓縮BCD碼和非壓縮BCD碼均有加法和減法調(diào)整指令。()(3)壓縮BCD碼和非壓縮BCD碼均有乘法和除法調(diào)整指令。()(4)DIV指令在執(zhí)行8位除法時(shí),運(yùn)算后的商存放在A(yíng)H中,余數(shù)存放在A(yíng)L中。()【解答】(1)(錯(cuò));(2)(對(duì));(3)(錯(cuò));(4)(錯(cuò))。練習(xí)題43.4-1AND、OR、XOR、NOT為邏輯運(yùn)算指令,下面解釋有誤的是()A.它們都是按位操作的B.“XORAX,AX”執(zhí)行后,結(jié)果不變,但是影響狀態(tài)標(biāo)志C.“ANDAL,0FH”執(zhí)行后,使AL的高4位清零,低4位不變D.若DL=09H,CH=30H,執(zhí)行“ORDL,CL”后,結(jié)果為DL=39H【解答】B3.4-2將寄存器BX的內(nèi)容求反,不正確的操作是()A.NOTBX B.XORBX,0FFFFH C.ANDBX,0FFFFH【解答】C3.4-3邏輯運(yùn)算指令A(yù)ND、OR、XOR、NOT中,指令對(duì)狀態(tài)標(biāo)志均沒(méi)有影響,而其他3條指令除對(duì)標(biāo)志SF、ZF、PF有影響外,還使和總是清零,AF不確定。【解答】NOT,CF,OF3.4-4如果要對(duì)一個(gè)字節(jié)或一個(gè)字?jǐn)?shù)據(jù)求反,可以用指令,要對(duì)寄存器或存儲(chǔ)單元內(nèi)容中指定位求反則可以用指令。【解答】NOT,XOR3.4-5按要求編寫(xiě)下列指令序列(設(shè)最低位為第0位)。(1)把DL中的最低2位清零而不改變其他位;(2)把SI的最高3位置1而不改變其他位;(3)把AX中的第0~3位清零,第7~9位置1,第13~15位取反;(4)檢查CX中的第1、3和5位中是否有一位為1;(5)檢查BX中的第2、6和10位是否同時(shí)為1;(6)檢查CX中的第1、3、5和7位中是否有一位為0;(7)檢查BX中的第2、6、10和12位是否同時(shí)為0?!窘獯稹?1)AND DL,0FCH ;11111100B(2)OR SI,0E000H ;1110000000000000B(3)AND AX,0FFF0H ;1111111111110000BOR AX,0380H ;0000001110000000BXOR AX,0E000H ;1110000000000000B(4)MOV AX,CXAND AX,002AH ;0000000000101010B如果運(yùn)算結(jié)果不為0,表示第1、3、5位至少有一位為1(5)MOV AX,BXAND AX,0444H ;0000010001000100BXOR AX,0444H如果運(yùn)算結(jié)果為0,表示第2、6、10位均為1或者ORAX,1111101110111011B如果運(yùn)算結(jié)果為FFFFH,則表示第2、6、10位均為1(6)MOV AX,CXOR AX,0FF55H;1111111101010101B如果運(yùn)算結(jié)果不為0FFFFH,表示第1、3、5、7中至少有一位為0(7)MOV AX,BXAND AX,1444H;0001010001000100B;如果運(yùn)算結(jié)果為0,表示第2、6、10、12位均為0練習(xí)題53.5-18086的移位指令若需移位多位時(shí),應(yīng)該先將移位位數(shù)置于()中。A.AL B.AH C.CL D.CH【解答】C3.5-2對(duì)于算術(shù)左移指令“SALAL,1”,若AL中的有符號(hào)數(shù)在執(zhí)行指令后符號(hào)有變化,可以通過(guò)()來(lái)確認(rèn)。A.OF=1 B.OF=0 C.CF=1 D.CF=0【解答】A3.5-3AL的內(nèi)容實(shí)現(xiàn)算術(shù)右移4位的正確指令是()。A.SHRAL,4 B.MOVCL,4 C.SARAL,4 D.MOVCL,4 SHRAL,CL SARAL,CL【解答】D3.5-4將BUF字節(jié)單元內(nèi)容算術(shù)左移1位,以下指令不正確的是()。A.MOVBX,OFFSETBUF B.MOVBL,BUF
SAL
BX,1 SAL
BL,1C.SALBUF,1 D.LEABX,BUF SALBYTEPTR[BX],1【解答】A3.5-5選擇適合的移位指令把十進(jìn)制數(shù)+35和?41分別乘以2和除以2,結(jié)果分別是多少?【解答】;乘以2MOV AL,35 ;AL=00100011B/23HSHL AL,1 ;AL=46HMOV AL,-41 ;AL=0D7HSHL AL,1 ;AL=0AEH;除以2MOV AL,35SAR AL,1 ;AL=11HMOV AL,-41SAR AL,1 ;AL=0EBH本章習(xí)題3-1出以下指令序列中每條指令的執(zhí)行結(jié)果,在DEBUG環(huán)境下進(jìn)行驗(yàn)證,并注意各狀態(tài)標(biāo)志的變化情況。MOVBX,23ABHADDBL,0ACHMOVAX,23F5HADDBH,ALSUBBX,AXADCAX,12HSUBBH,?9【解答】3-2編寫(xiě)計(jì)算多項(xiàng)式4A2
?
B
+
10值的程序段。說(shuō)明:多項(xiàng)式值存于A(yíng)X中,A、B是無(wú)符號(hào)字節(jié)數(shù)。數(shù)據(jù)說(shuō)明:ADB0AHBDB10H【解答】MOVAL,AMULAMOVBL,4MULBLSUBAL,BSBBAH,0ADDAL,10ADCAH,03-3編寫(xiě)計(jì)算CL的3次方的指令序列,假設(shè)冪不超過(guò)16位二進(jìn)制數(shù)【解答】有符號(hào)數(shù):MOVAL,CL IMULCL MOVCX,AX MOVAL,CL CBW IMULCX無(wú)符號(hào)數(shù):MOVAL,CL MULCL MOVCX,AX MOVAL,CL MOVAH,0 MULCX3-4假設(shè)DX、AX中存放一個(gè)雙字:NEGDXNEGAXSBBDX,0請(qǐng)問(wèn):設(shè)執(zhí)行前,DX
=
0001H,AX
=
FFFFH,上述程序段執(zhí)行后,DX、AX的值是什么?上述程序段完成什么功能?【解答】功能是求DX,AX存放的雙字的相反數(shù)。執(zhí)行前兩條語(yǔ)句后DX=0FFFFH,AX=0001H,CF=1;執(zhí)行第三條語(yǔ)句后,DX=0FFFEH,DX:AX=0FFFE0001H。3-5列出2種以上實(shí)現(xiàn)下列要求的指令或指令序列。(1)把累加器AX清零 (2)把進(jìn)位標(biāo)志CF清零(3)將累加器AX的內(nèi)容乘以2(不考慮溢出) (4)將累加器AX的內(nèi)容除以2(不考慮余數(shù))【解答】(1)a.XOR AX,AXb. SUB AX,AXc. AND AX,0d. MOV AX,0(2)a.SUB AX,AXb. AND AX,AXc. OR AX,AXd. XOR AX,AXe. TEST AX,AXf. C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園心理健康合同:校園心理健康服務(wù)承包協(xié)議
- 新疆維吾爾自治區(qū)勞動(dòng)合同范本樣本
- 山林承包合同使用指南
- 2024年范文生態(tài)園土地承包合同
- 2024試析《物業(yè)服務(wù)合同》的解除或終止問(wèn)題
- 2024小吃加盟合同范本
- 物業(yè)管理服務(wù)協(xié)議參考樣本
- 個(gè)人建房施工合同范本
- 2024廣告設(shè)計(jì)類(lèi)合同范本
- 解除版權(quán)買(mǎi)賣(mài)合同協(xié)議
- 期刊編輯的學(xué)術(shù)期刊編輯規(guī)范考核試卷
- T-CCSAS014-2022《化工企業(yè)承包商安全管理指南》
- 電梯安全總監(jiān)和安全員的任命文件
- SL-T+62-2020水工建筑物水泥灌漿施工技術(shù)規(guī)范
- 2024年安徽省普通高中學(xué)業(yè)水平選擇性考試 歷史試卷
- 電子商務(wù)師職業(yè)技能等級(jí)證書(shū)培訓(xùn)方案
- JBT 14615-2024 內(nèi)燃機(jī) 活塞運(yùn)動(dòng)組件 清潔度限值及測(cè)定方法(正式版)
- DL5009.2-2013電力建設(shè)安全工作規(guī)程第2部分:電力線(xiàn)路
- 理智與情感:愛(ài)情的心理文化之旅智慧樹(shù)知到期末考試答案章節(jié)答案2024年昆明理工大學(xué)
- GA/T 2097-2023執(zhí)法辦案管理場(chǎng)所信息應(yīng)用技術(shù)要求
- GB 20052-2024電力變壓器能效限定值及能效等級(jí)
評(píng)論
0/150
提交評(píng)論