




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上3.1 給定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,試確定在以下各種尋址方式下的有效地址是什么?(1) 立即尋址(2) 直接尋址(3) 使用BX的寄存器尋址(4) 使用BX的簡(jiǎn)接尋址(5) 使用BX的寄存器相對(duì)尋址(6) 基址變址尋址(7) 相對(duì)基址變址尋址答:(1) 操作數(shù)在指令中,即立即數(shù);(2) EA=D=7237H;(3) 無(wú)EA,操作數(shù)為(BX)=637DH;(4) EA=(BX)=637DH;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI)=8E18H;(7) EA=(BX)+(SI)+D=1004FH;
2、超過(guò)了段的邊界,最高進(jìn)位位丟失,因此EA=004FH。3.2 試根據(jù)以下要求寫出相應(yīng)的匯編語(yǔ)言指令(1) 把BX寄存器和DX寄存器的內(nèi)容相加,結(jié)果存入DX寄存器中。(2) 用寄存器BX和SI的基址變址尋址方式把存儲(chǔ)器中的一個(gè)字節(jié)與AL寄存器的內(nèi)容相加,并把結(jié)果送到AL寄存器中。(3) 用寄存器BX和位移量0B2H的寄存器相對(duì)尋址方式把存儲(chǔ)器中的一個(gè)字和(CX)相加,并把結(jié)果送回存儲(chǔ)器中。(4) 用位移量為0524H的直接尋址方式把存儲(chǔ)器中的一個(gè)字與數(shù)2A59H相加,并把結(jié)果送回存儲(chǔ)單元中。(5) 把數(shù)0B5H與(AL)相加,并把結(jié)果送回AL中。答:(1) ADD DX, BX(2) ADD A
3、L, BXSI(3) ADD BX+0B2H, CX(4) ADD WORD PTR 0524H, 2A59H(5) ADD AL, 0B5H3.3 寫出把首地址為BLOCK的字?jǐn)?shù)組的第6個(gè)字送到DX寄存器的指令。要求使用以下幾種尋址方式:(1) 寄存器間接尋址(2) 寄存器相對(duì)尋址(3) 基址變址尋址答:(1) MOV BX, OFFSET BLOCKADD BX, (61)*2MOV DX, BX(2) MOV BX, OFFSET BLOCK改為:MOV BX, (6-1)*2MOV DX, BX+(61)*2也可MOV DX, BLOCKBX(3) MOV BX, OFFSET BLO
4、CKMOV SI, (61)*2MOV DX, BXSIFFH00H80H3.6題的作圖表示10H1B00:2000H1B00:2001H1B00:2002H1B00:2003H8000:FF10H8000:FF11H?(AL)?(AH)3.4 現(xiàn)有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,試說(shuō)明下列各條指令執(zhí)行完后AX寄存器的內(nèi)容。(1) MOV AX, 1200
5、H(2) MOV AX, BX(3) MOV AX, 1200H(4) MOV AX, BX(5) MOV AX, 1100BX(6) MOV AX, BXSI(7) MOV AX, 1100BXSI答:(1) (AX)=1200H(2) (AX)=0100H(3) (AX)=4C2AH(4) (AX)=3412H(5) (AX)=4C2AH(6) (AX)=7856H(7) (AX)=65B7H3.5 給定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH,(224A0H)=0600H,(275B9H)=098AH,試為以下的轉(zhuǎn)移指令
6、找出轉(zhuǎn)移的偏移地址。(1) 段內(nèi)直接尋址(2) 使用BX及寄存器間接尋址方式的段內(nèi)間接尋址(3) 使用BX及寄存器相對(duì)尋址方式的段內(nèi)間接尋址答:(1) JMP NEAR PTR 5119H;(IP)=5119H+(IP)+03H)=7CDCH,物理地址PA=09CDCH(IP)+03H是JMP NEAR PTR 5119H指令的下一條指令的首地址。(2) JMP WORD PTR BX;(IP)=(DS)*10H+(BX)=0600H,PA=02600H(3) JMP DBX;(IP)=(DS)*10H+(BX)+D)=098AH,PA=0298AH3.6 設(shè)當(dāng)前數(shù)據(jù)段寄存器的內(nèi)容為1B00H
7、,在數(shù)據(jù)段的偏移地址2000H單元內(nèi),含有一個(gè)內(nèi)容為0FF10H和8000H的指針,它們是一個(gè)16位變量的偏移地址和段地址,試寫出把該變量裝入AX的指令序列,并畫圖表示出來(lái)。MOVBX, 2000HLESBX, BXMOVAX, ES:BX答:MOV BX, 2000H;圖示如上所示。MOV AX, 2000H+2MOV ES, AXMOV AX, ES:BX3.7 在0624H單元內(nèi)有一條二字節(jié)JMP SHORT OBJ指令,如其中位移量為(1) 27H,(2) 6BH,(3) 0C6H,試問(wèn)轉(zhuǎn)向地址OBJ的值是多少?答:(1) OBJ=0624H+02H+27H=064DH(2) OBJ=
8、0624H+02H+6BH=0691H(3) OBJ=0624H+02H+0C6H=05ECH;C6H對(duì)應(yīng)的負(fù)數(shù)為-3AH(向上轉(zhuǎn)移,負(fù)位移量)3.8 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,數(shù)據(jù)段中變量名VAL的偏移地址為0050H,試指出下列源操作數(shù)字段的尋址方式是什么?其物理地址值是多少?(1) MOV AX, 0ABH(2) MOV AX, BX(3) MOV AX, 100H(4) MOV AX, VAL(5) MOV AX, BX(6) MOV AX, ES:BX(7) MOV AX,
9、BP(8) MOV AX, SI(9) MOV AX, BX+10(10) MOV AX, VALBX(11) MOV AX, BXSI(12) MOV AX, VALBXSI答:(1) 立即方式;操作數(shù)在本條指令中(2) 寄存器尋址方式;操作數(shù)為 (BX)=0100H(3) 直接尋址方式;PA=20100H(4) 直接尋址方式;PA=20050H(5) BX寄存器間接尋址方式;PA=20100H(6) 附加段BX寄存器間接尋址方式;PA=21100H(7) BP寄存器間接尋址方式;PA=15010H(8) SI寄存器間接尋址方式;PA=200A0H(9) BX寄存器相對(duì)尋址方式;PA=201
10、10H(10) BX寄存器相對(duì)尋址方式;PA=20150H(11) BX和SI寄存器基址變址尋址方式;PA=201A0H(12) BX和SI寄存器相對(duì)基址變址尋址方式;PA=201F0H3.9 在ARRAY數(shù)組中依次存儲(chǔ)了七個(gè)字?jǐn)?shù)據(jù),緊接著是名為ZERO的字單元,表示如下:ARRAYDW 23, 36, 2, 100, 32000, 54, 0ZERODW ?(1) 如果BX包含數(shù)組ARRAY的初始地址,請(qǐng)編寫指令將數(shù)據(jù)0傳送給ZERO單元。(2) 如果BX包含數(shù)據(jù)0在數(shù)組中的位移量,請(qǐng)編寫指令將數(shù)據(jù)0傳送給ZERO單元。答:(1) MOV AX, BX+(7-1)*2MOV BX+(7)*2
11、, AX(2) MOV AX, ARRAY BXMOV ARRAY BX+2, AX0AH00H14H00H1EH00H28H00H32H00HTABLETABLE+33.11題的TABLE存儲(chǔ)方式3.10 如TABLE為數(shù)據(jù)段中0032單元的符號(hào)名,其中存放的內(nèi)容為1234H,試問(wèn)以下兩條指令有什么區(qū)別?指令執(zhí)行完后AX寄存器的內(nèi)容是什么?MOVAX, TABLELEAAX, TABLE答:MOVAX, TABLE是將TABLE單元的內(nèi)容送到AX,(AX)=1234HLEAAX,TABLE是將TABLE單元的有效地址送到AX,(AX)=0032H3.11 執(zhí)行下列指令后AX寄存器中的內(nèi)容是什
12、么?TABLEDW 10, 20, 30, 40, 50;000AH, 0014H, 001EH, 0028H, 0032HENTRYDW 3MOVBX, OFFSET TABLEADDBX, ENTRYMOVAX, BX答:(AX)=1E00H (TABLE的存儲(chǔ)方式如右圖所示)3.12 下列ASCII碼串(包括空格符)依次存儲(chǔ)在起始地址為CSTRING的字節(jié)單元中:CSTRING DB BASED ADDRESSING請(qǐng)編寫指令將字符串中的第1個(gè)和第7個(gè)字符傳送給DX寄存器。答:MOV DH, CSTRINGMOV DL, CSTRING+7-13.13 已知堆棧段寄存器SS的內(nèi)容是0FF
13、A0H,堆棧指針寄存器SP的內(nèi)容是00B0H,先執(zhí)行兩條把8057H和0F79H分別進(jìn)棧的PUSH指令,再執(zhí)行一條POP指令。試畫出堆棧區(qū)和SP的內(nèi)容變化過(guò)程示意圖(標(biāo)出存儲(chǔ)單元的物理地址)。答:堆棧區(qū)和SP的內(nèi)容變化過(guò)程示意圖如下左圖所示。8000H1B00:20003.14題的存儲(chǔ)區(qū)情況2B00HX1B00:20022B00:800079H0FH57H80HFFAACHFFAB0H3.13題的堆棧區(qū)和SP的內(nèi)容變化過(guò)程示意圖FFAAEH首次進(jìn)棧(SP)(SP)-2再次進(jìn)棧(SP)(SP)-2出棧時(shí)(SP)(SP)+23.14 設(shè)(DS)=1B00H,(ES)=2B00H,有關(guān)存儲(chǔ)單元的內(nèi)容
14、如上右圖所示。請(qǐng)寫出兩條指令把字變量X裝入AX寄存器。答:MOV BX, 2000HMOV AX, ES:BX3.15 求出以下各十六進(jìn)制數(shù)與十六進(jìn)制數(shù)62A0H之和,并根據(jù)結(jié)果設(shè)置標(biāo)志位SF、ZF、CF和OF的值。(1) 1234H(2) 4321H(3) CFA0H(4) 9D60H答:(1) 和為74D4H;SF=0,ZF=0,CF=0,OF=0(2) 和為A5C1H;SF=1,ZF=0,CF=0,OF=1(3) 和為3240H;SF=0,ZF=0,CF=1,OF=0(4) 和為0000H;SF=0,ZF=1,CF=1,OF=03.16 求出以下各十六進(jìn)制數(shù)與十六進(jìn)制數(shù)4AE0H的差值,
15、并根據(jù)結(jié)果設(shè)置標(biāo)志位SF、ZF、CF和OF的值。(1) 1234H(2) 5D90H(3) 9090H(4) EA04H答:(1) 差為C754H;SF=1,ZF=0,CF=1,OF=0(2) 差為12B0H;SF=0,ZF=0,CF=0,OF=0(3) 差為45B0H;SF=0,ZF=0,CF=0,OF=1(4) 差為9F24H;SF=1,ZF=0,CF=0,OF=03.17 寫出執(zhí)行以下計(jì)算的指令序列,其中X、Y、Z、R、W均為存放16位帶符號(hào)數(shù)單元的地址。(1) ZW+(Z-X)(2) ZW-(X+6)-(R+9)(3) Z(W*X)/(Y+6),R余數(shù)(4) Z(W-X)/5*Y)*2
16、答:(1) MOV AX, Z;以下程序都未考慮帶符號(hào)數(shù)的溢出SUB AX, XADD AX, WMOV Z, AX(2) MOV BX, XADD BX, 6MOV CX, RADD CR, 9MOV AX, WSUB AX, BXSUB AX, CXMOV Z, AX(3) ADD Y, 6MOV AX, WIMUL XIDIV YMOV Z, AXMOV R, DX(4) MOV AX, WSUB AX, XCWDMOV BX, 5IDIV BXIMUL YSHL AX, 1;(DX),(AX)*2RCL DX, 13.18 已知程序段如下:MOVAX, 1234H;(AX)=1234H
17、,標(biāo)志位不變MOVCL, 4;(AX)和標(biāo)志位都不變ROLAX, CL;(AX)=2341H,CF=1,SF和ZF不變DECAX;(AX)=2340H,CF=1不變,SF=0,ZF=0MOVCX, 4;(AX)和標(biāo)志位都不變MULCX;(AX)=8D00H,CF=OF=0,其它標(biāo)志無(wú)定義INT20H試問(wèn):(1) 每條指令執(zhí)行完后,AX寄存器的內(nèi)容是什么?(2) 每條指令執(zhí)行完后,進(jìn)位、符號(hào)和零標(biāo)志的值是什么?(3) 程序結(jié)束時(shí),AX和DX的內(nèi)容是什么?答:(1) 見注釋;(2) 見注釋;(3) (AX)=8D00H,(DX)=03.19 下列程序段中的每條指令執(zhí)行完后,AX寄存器及CF、SF、
18、ZF和OF的內(nèi)容是什么?MOVAX, 0;(AX)=0,標(biāo)志位不變DECAX;(AX)=0FFFFH,CF不變,SF=1,ZF=0,OF=0ADDAX, 7FFFH;(AX)=7FFEH,CF=1,SF=0,ZF=0,OF=0ADDAX, 2;(AX)=8000H,CF=0,SF=1,ZF=0,OF=1NOTAX;(AX)=7FFFH,標(biāo)志位不變SUBAX, 0FFFFH;(AX)=8000H,CF=1,SF=1,ZF=0,OF=1ADDAX, 8000H;(AX)=0,CF=1,SF=0,ZF=1,OF=1SUBAX, 1;(AX)=0FFFFH,CF=1,SF=1,ZF=0,OF=0AND
19、AX, 58D1H;(AX)=58D1H,CF=0,SF=0,ZF=0,OF=0SALAX, 1;(AX)=0B1A2H,CF=0,SF=1,ZF=0,OF=1SARAX, 1;(AX)=0D8D1H,CF=0,SF=1,ZF=0,OF=0NEGAX;(AX)= 272FH,CF=1,SF=0,ZF=0,OF=0RORAX, 1;(AX)= 9397H,CF=1,SF和ZF不變,OF=1答:見注釋。3.20 變量DATAX和變量DATAY的定義如下:DATAXDW 0148HDW 2316HDATAYDW 0237HDW 4052H請(qǐng)按下列要求寫出指令序列:(1) DATAX和DATAY兩個(gè)字
20、數(shù)據(jù)相加,和存放在DATAY中。(2) DATAX和DATAY兩個(gè)雙字?jǐn)?shù)據(jù)相加,和存放在從DATAY開始的雙字單元中。(3) 解釋下列指令的作用:STCMOV BX, DATAXADC BX, DATAY(4) DATAX和DATAY兩個(gè)字?jǐn)?shù)據(jù)相乘(用MUL)。(5) DATAX和DATAY兩個(gè)雙字?jǐn)?shù)據(jù)相乘(用MUL)。(6) DATAX除以23(用DIV)。(7) DATAX雙字除以字DATAY (用DIV)。答:(1) MOV AX, DATAXADD DATAY, AXMOV AX, DATAX+2ADD DATAY+2, AX(2) MOV AX, DATAXADD DATAY, AX
21、MOV AX, DATAX+2ADC DATAY+2, AXMOV DATAY+4, 0;用于存放進(jìn)位位ADC DATAY+4, 0(3) DATAX和DATAY兩個(gè)字?jǐn)?shù)據(jù)之和加1,結(jié)果存入BX寄存器。(4) RESULT1DW 0DW 0RESULT2DW 0DW 0 MOV AX, DATAXMUL DATAYMOV RESULT1 , AXMOV RESULT1+2, DXMOV AX, DATAX+2MUL DATAY+2MOV RESULT2 , AXMOV RESULT2+2, DX(5) AA DW 0BB DW 0CC DW 0DD DW 0 MOV AX, DATAXMUL
22、DATAYMOV AA , AXMOV BB, DXMOV AX, DATAXMUL DATAY+2ADD BB, AXADC CC, DXMOV AX, DATAX+2MUL DATAYADD BB, AXADC CC, DXADC DD, 0MOV AX, DATAX+2MUL DATAY+2ADD CC, AXADC DD, DX(6) MOV AX, DATAXMOV BL, 23DIV BL(7) MOV DX, DATAX+2MOV AX, DATAXDIV DATAY3.21 寫出對(duì)存放在DX和AX中的雙字長(zhǎng)數(shù)求補(bǔ)的指令序列。答:NEG DX也可為:NOTDXNEG AXNOTA
23、XSBB DX, 0ADDAX, 1ADCDX, 03.22 試編寫一程序求出雙字長(zhǎng)數(shù)的絕對(duì)值。雙字長(zhǎng)數(shù)在A和A+2單元中,結(jié)果存放在B和B+2單元中。答:程序段如下:MOVAX, AMOVDX, A+2CMPDX, 0JNSZHENSHU;不是負(fù)數(shù)則轉(zhuǎn)走NEGDXNEGAXSBBDX, 0ZHENSHU:MOVB, AXMOVB+2, DXINT20H3.23 假設(shè)(BX)=0E3H,變量VALUE中存放的內(nèi)容為79H,確定下列各條指令單獨(dú)執(zhí)行后的結(jié)果。(1) XORBX, VALUE;(BX)=9AH,CF、OF都為0,AF無(wú)定義,SF=1,ZF=0,PF=1(2) ANDBX, VALU
24、E;(BX)=61H,CF、OF都為0,AF無(wú)定義,SF=0,ZF=0,PF=0(3) ORBX, VALUE;(BX)=0FBH,CF、OF都為0,AF無(wú)定義,SF=1,ZF=0,PF=0(4) XORBX, 0FFH;(BX)=1CH,CF、OF都為0,AF無(wú)定義,SF=0,ZF=0,PF=0(5) ANDBX, 0;(BX)=00H,CF、OF都為0,AF無(wú)定義,SF=0,ZF=1,PF=1(6) TESTBX, 01H;(BX)=0E3H,CF、OF都為0,AF無(wú)定義,SF=1,ZF=0,PF=0答:見注釋。3.24 試寫出執(zhí)行下列指令序列后BX寄存器的內(nèi)容。執(zhí)行前(BX)=6D16H
25、。MOVCL, 7SHRBX, CL答:(BX)=00DAH。3.25 試用移位指令把十進(jìn)制數(shù)+53和-49分別乘以2。它們應(yīng)該用什么指令?得到的結(jié)果是什么?如果要除以2呢?答:MOVAL, 53SALAL, 1;(AL)=(+53*2)=6AHMOVAL, -49SALAL, 1;(AL)=(-49*2)=9EHMOVAL, 53SARAL, 1;(AL)=(53/2)= 1AHMOVAL, -49SARAL, 1;(AL)=(-49/2)=0E7H3.26 試分析下面的程序段完成什么功能?MOVCL, 04SHLDX, CLMOVBL, AHSHLAX, CLSHRBL, CLORDL,
26、BL答:本程序段將 (DX),(AX) 的雙字同時(shí)左移4位,即將此雙字乘以10H (16)。3.27 假定(DX)=0B9H,(CL)=3,(CF)=1,確定下列各條指令單獨(dú)執(zhí)行后DX中的值。(1) SHRDX, 1;(DX)=05CH(2) SARDX, CL;(DX)=17H(3) SHLDX, CL;(DX)=5C8H(4) SHLDL, 1;(DX)=72H(5) RORDX, CL;(DX)=2017H(6) ROLDL, CL;(DX)=0CDH(7) SALDH, 1;(DX)=0B9H(8) RCLDX, CL;(DX)=2CCH(4) RCRDL, 1;(DX)=0DCH答:
27、見注釋。3.28 下列程序段執(zhí)行完后,BX寄存器的內(nèi)容是什么?MOVCL, 3MOVBX, 0B7HROLBX,1RORBX, CL答:(BX)=0C02DH。3.29 假設(shè)數(shù)據(jù)段定義如下:CONAMEDBSPACE EXPLORERS INC.PRLINEDB20 DUP ()用串指令編寫程序段分別完成以下功能:(1) 從左到右把CONAME中的字符串傳送到PRLINE。(2) 從右到左把CONAME中的字符串傳送到PRLINE。(3) 把CONAME中的第3和第4個(gè)字節(jié)裝入AX。(4) 把AX寄存器的內(nèi)容存入從PRLINE+5開始的字節(jié)中。(5) 檢查CONAME字符串中有無(wú)空格字符,如有
28、則把第一個(gè)空格字符的地址傳送給BX寄存器。答:(1) MOVCX, 20CLDMOVSI, SEG CONAMEMOVDS, SIMOVES, SILEASI, CONAMELEADI, PRLINEREPMOVSB(2) MOVCX, 20STDMOVSI, SEG CONAMEMOVDS, SIMOVES, SILEASI, CONAMEADDSI, 20-1LEADI, PRLINEADDDI, 20-1REPMOVSB(3) MOVAX, WORD PTR CONAME+3-1(4) MOVWORD PTR PRLINE +5, AX(5) MOVAL, ;空格的ASCII碼送AL寄存
29、器CLDMOVDI, SEG CONAMEMOVES, DILEADI, CONAMEREPNESCASBJNENEXTDECDIMOVBX, DINEXT:3.30 編寫程序段,把字符串STRING中的&字符用空格符代替。STRING DB The date is FEB&03答:程序段如下:MOVCX, 18MOVAL, &CLDMOVDI, SEG STRINGMOVES, DILEADI, STRINGREPNESCASBJNENEXTDECDIMOVES:BYTE PTR DI, ;送空格符NEXT: 3.31 假設(shè)數(shù)據(jù)段中數(shù)據(jù)定義如下:STUDENT_NAMEDB30 DUP (?
30、)STUDENT_ADDRDB9 DUP (?)PRINT_LINEDB132 DUP (?)分別編寫下列程序段:(1) 用空格符清除PRINT_LINE域。(2) 在STUDENT_ADDR中查找第一個(gè)-。(3) 在STUDENT_ADDR中查找最后一個(gè)-。(4) 如果STUDENT_NAME域中全是空格符時(shí),填入*。(5) 把STUDENT_NAME移到PRINT_LINE的前30個(gè)字節(jié)中,把STUDENT_ ADDR移到PRINT_LINE的后9個(gè)字節(jié)中。答:公共的程序段如下:MOVDI, DSMOVES, DI(1) MOVCX, 132MOVAL., ;空格的ASCII碼送AL寄存器
31、CLDLEADI, PRINT_LINEREPSTOSB(2) MOVCX, 9MOVAL., -CLDLEADI, STUDENT_ ADDRREPNESCASBJNENO_DASHDECDINO_DASH: (3) MOVCX, 9MOVAL., -STDLEADI, STUDENT_ ADDRADDDI, 9-1REPNESCASBJNENO_DASHINCDINO_DASH: (4) MOVCX, 30MOVAL, ;空格的ASCII碼送AL寄存器CLDLEADI, STUDENT_NAMEREPESCASBJNENEXTMOVCX, 30MOVAL, * ;“*”的ASCII碼送AL
32、寄存器LEADI, STUDENT_NAMEREPSTOSBNEXT: (5) MOVCX, 30CLDLEASI, STUDENT_NAMELEADI, PRINT_LINEREPMOVSBMOVCX, 9STDLEASI, STUDENT_ADDR+9-1LEADI, PRINT_LINE+132-1REPMOVSB3.32 編寫一程序段:比較兩個(gè)5字節(jié)的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串則執(zhí)行NEW_LESS;否則順序執(zhí)行程序。答:程序段如下:MOVCX, 5CLDMOVDI, SEG OLDSMOVDS, DIMOVES, DILEASI, OLDSLEA
33、DI, NEWSREPECMPSBJNENEW_LESSNEW_LESS:3.33 假定AX和BX中的內(nèi)容為帶符號(hào)數(shù),CX和DX中的內(nèi)容為無(wú)符號(hào)數(shù),請(qǐng)用比較指令和條件轉(zhuǎn)移指令實(shí)現(xiàn)以下判斷:(1) 若DX的內(nèi)容超過(guò)CX的內(nèi)容,則轉(zhuǎn)去執(zhí)行EXCEED。(2) 若BX的內(nèi)容大于AX的內(nèi)容,則轉(zhuǎn)去執(zhí)行EXCEED。(3) 若CX的內(nèi)容等于0,則轉(zhuǎn)去執(zhí)行ZERO。(4) BX與AX的內(nèi)容相比較是否產(chǎn)生溢出?若溢出則轉(zhuǎn)OVERFLOW。(5) 若BX的內(nèi)容小于等于AX的內(nèi)容,則轉(zhuǎn)EQ_SMA。(6) 若DX的內(nèi)容低于等于CX的內(nèi)容,則轉(zhuǎn)EQ_SMA。答:(1) CMPDX, CXJAEXCEED(2) C
34、MPBX, AXJGEXCEED(3) JCXZZERO(4) CMPBX, AXJOOVERFLOW(5) CMPBX, AXJLEEQ_SMA(6) CMPDX, CXJBEEQ_SMA3.34 試分析下列程序段:ADDAX, BXJNOL1JNCL2SUBAX, BXJNC L3JNOL4JMPSHORT L5如果AX和BX的內(nèi)容給定如下:AX BX(1) 147BH80DCH(2) B568H42C8H(3) 42C8H608DH (4) D023H 9FD0H(5) 94B7H B568H問(wèn)該程序分別在上面5種情況下執(zhí)行后,程序轉(zhuǎn)向哪里?答:(1) 轉(zhuǎn)向L1(2) 轉(zhuǎn)向L1(3) 轉(zhuǎn)
35、向L2(4) 轉(zhuǎn)向L5;因?yàn)榧臃ㄖ噶詈驛X中已經(jīng)是6FF3H(5) 轉(zhuǎn)向L5;因?yàn)榧臃ㄖ噶詈驛X中已經(jīng)是4A14H3.35 指令CMP AX, BX后面跟著一條格式為J L1的條件轉(zhuǎn)移指令,其中可以是B、NB、BE、NBE、L、NL、LE、NLE中的任意一個(gè)。如果AX和BX的內(nèi)容給定如下:AX BX(1) 1F52H 1F52H(2) 88C9H 88C9H(3) FF82H 007EH (4) 58BAH 020EH(5) FFC5H FF8BH(6) 09A0H 1E97H(7) 8AEAH FC29H(8) D367H 32A6H問(wèn)以上8條轉(zhuǎn)移指令中的哪幾條將引起轉(zhuǎn)移到L1?答:(1)
36、JNB、JBE、JNL、JLE(2) JNB、JBE、JNL、JLE(3) JNB、JNBE、JL、JLE(4) JNB、JNBE、JNL、JNLE(5) JNB、JNBE、JL、JLE(6) JB、JBE、JL、JLE(7) JB、JBE、JNL、JNLE(8) JNB、JNBE、JL、JLE3.36 假設(shè)X和X+2單元的內(nèi)容為雙精度數(shù)p,Y和Y+2單元的內(nèi)容為雙精度數(shù)q,(X和Y為低位字)試說(shuō)明下列程序段做什么工作?MOV DX, X+2MOV AX, XADD AX, XADC DX, X+2CMP DX, Y+2JL L2JG L1CMP AX, YJBE L2L1: MOV AX,
37、1JMP SHORT EXITL2: MOV AX, 2EXIT:INT 20H答:此程序段判斷p*2q,則使(AX)=1后退出;p*2q,則使(AX)=2后退出。3.37 要求測(cè)試在STATUS中的一個(gè)字節(jié),如果第1、3、5位均為1則轉(zhuǎn)移到ROUTINE_1;如果此三位中有兩位為1則轉(zhuǎn)移到ROUTINE_2;如果此三位中只有一位為1則轉(zhuǎn)移到ROUTINE_3;如果此三位全為0則轉(zhuǎn)移到ROUTINE_4。試畫出流程圖,并編制相應(yīng)的程序段。全為0嗎?二位為1嗎?僅一位為1執(zhí)行ROUTINE_3轉(zhuǎn)去執(zhí)行ROUTINE_4NNYY3.44題的程序流程圖程序開始(AL)(STATUS)只保留第1,3,
38、5位轉(zhuǎn)去執(zhí)行ROUTINE_2全為1嗎?NY轉(zhuǎn)去執(zhí)行ROUTINE_1執(zhí)行EXIT程序結(jié)束答:程序段如下:MOVAL, STATUSANDAL, B ;只保留第1、3、5位JZROUTINE_4 ;3位全為0轉(zhuǎn)ROUTINE_4JPEROUTINE_2 ;兩位為1轉(zhuǎn)ROUTINE_2CMPAL, BJZROUTINE_1 ;3位全為1轉(zhuǎn)ROUTINE_1ROUTINE_3: ;僅一位為1執(zhí)行ROUTINE_3JMPEXITROUTINE_1: JMPEXITROUTINE_2: JMPEXITROUTINE_4: EXIT: INT20H3.38 在下列程序的括號(hào)中分別填入如下指令:(1) L
39、OOP L20(2) LOOPEL20(3) LOOPNEL20試說(shuō)明在三種情況下,當(dāng)程序執(zhí)行完后,AX、BX、CX、DX四個(gè)寄存器的內(nèi)容分別是什么?TITLEEXLOOP.COMCODESGSEGMENTASSUME CS:CODESG, DS: CODSEG, SS: CODSEGORG100HBEGIN:MOVAX, 01MOVBX, 02MOVDX, 03MOVCX, 04L20:INCAXADDBX, AXSHRDX, 1( )RETCODESG ENDSEND BEGIN答:(1) (AX)=5H,(BX)=10H,(CX)=0H,(DX)=0H(2) (AX)=2H,(BX)=4
40、H,(CX)=3H,(DX)=1H(3) (AX)=3H,(BX)=7H,(CX)=2H,(DX)=0H3.39 考慮以下的調(diào)用序列:(1) MAIN調(diào)用NEAR的SUBA過(guò)程(返回的偏移地址為0400);(2) SUBA調(diào)用NEAR的SUBB過(guò)程(返回的偏移地址為0A00);(3) SUBB調(diào)用FAR的SUBC過(guò)程(返回的段地址為B200,返回的偏移地址為0100);(4) 從SUBC返回SUBB;(5) SUBB調(diào)用NEAR的SUBD過(guò)程(返回的偏移地址為0C00);(6) 從SUBD返回SUBB;(7) 從SUBB返回SUBA;(8) 從SUBA返回MAIN;(9) 從MAIN調(diào)用SUB
41、C(返回的段地址為1000,返回的偏移地址為0600);請(qǐng)畫出每次調(diào)用及返回時(shí)的堆棧狀態(tài)。答:每次調(diào)用及返回時(shí)的堆棧狀態(tài)圖如下所示:0004原SP位置新SP位置(1) MAIN調(diào)用SUBA過(guò)程000A0004原SP位置新SP位置(2) SUBA調(diào)用SUBB過(guò)程000100B2000A00原SP位置新SP位置(3) SUBB調(diào)用SUBC過(guò)程000100B2000A00原SP位置新SP位置(4) 從SUBC返回SUBB0001000C000A0004原SP位置新SP位置(5) SUBB調(diào)用SUBD過(guò)程0001000C000A0004原SP位置新SP位置(6) 從SUBD返回SUBB0001000C
42、000A0004原SP位置新SP位置(7) 從SUBB返回SUBA0001000C000A0004原SP位置新SP位置(8) 從SUBA返回MAIN0001000C00060010原SP位置新SP位置(9) 從MAIN調(diào)用SUBC3.40 假設(shè)(EAX)=H,(EBX)=H,(DS)=0010H,試問(wèn)下列指令訪問(wèn)內(nèi)存的物理地址是什么?(1) MOV ECX,EAX+EBX(2) MOV EAX+2*EBX,CL(3) MOV DH,EBX+4*EAX+1000H答:(1) PA=(DS)*10H+EA=00100H+H+H=H(2) PA=(DS)*10H+EA=00100H+H+2*H=H(
43、3) PA=(DS)*10H+EA=00100H+H+4*H+1000H=H3.41 假設(shè)(EAX)=9823F456H,(ECX)=1F23491H,(BX)=348CH,(SI)=2000H,(DI)=4044H。在DS段中從偏移地址4044H單元開始的4個(gè)字節(jié)單元中,依次存放的內(nèi)容為92H,6DH,0A2H和4CH,試問(wèn)下列各條指令執(zhí)行完后的目的地址及其中的內(nèi)容是什么?(1) MOV SI,EAX(2) MOV BX,ECX(3) MOV EBX,DI答:(1) 目的地址為DS:2000H,內(nèi)容依次為:56H,0F4H,23H和98H(2) 目的地址為DS:348CH,內(nèi)容依次為:91H
44、,34H,0F2H和01H(3) 目的操作數(shù)為EBX寄存器,(EBX)=4CA26D92H3.42 說(shuō)明下列指令的操作(1) PUSH AX;將(AX)壓入堆棧(2) POP ESI;將堆棧中的雙字彈出到ESI寄存器中(3) PUSH BX;將(BX)對(duì)應(yīng)存儲(chǔ)單元中的字壓入堆棧(4) PUSHAD;32位通用寄存器依次進(jìn)棧(5) POP DS;將堆棧中的字彈出到DS寄存器中(6) PUSH 4;將立即數(shù)4以字的方式壓入堆棧答:見注釋。3.43 請(qǐng)給出下列各指令序列執(zhí)行完后目的寄存器的內(nèi)容。(1) MOVEAX,299FF94HADDEAX,34FFFFH;(EAX)= 2CEFF93H(2)
45、MOVEBX,SUBEBX,;(EBX)= 3EB00000H(3) MOVEAX,HANDEAX,0F0F0F0FH;(EAX)= H(4) MOVEDX,9FE35DHXOREDX,0F0F0F0H;(EDX)= 6F13ADH答:見注釋。3.44 請(qǐng)給出下列各指令序列執(zhí)行完后目的寄存器的內(nèi)容。(1) MOV BX,-12MOVSX EBX,BX;(EBX)= 0FFFF FFF4H(2) MOV CL,-8MOVSX EDX,CL;(EDX)= 0FFFF FFF8H(3) MOV AH,7MOVZX ECX,AH;(ECX)= 0000 0007H(4) MOV AX,99HMOVZX
46、 EBX,AX;(EBX)= 0000 0099H答:見注釋。3.45 請(qǐng)給出下列指令序列執(zhí)行完后EAX和EBX的內(nèi)容。MOVECX,307 F455HBSFEAX,ECX;(EAX)= 0DBSREBX,ECX;(EBX)= 25D答:見注釋。3.46 請(qǐng)給出下列指令序列執(zhí)行完后AX和DX的內(nèi)容。MOVBX,98HBSFAX,BX;(AX)= 3DBSRDX,BX;(DX)= 7D答:見注釋。3.47 請(qǐng)編寫一程序段,要求把ECX、EDX和ESI的內(nèi)容相加,其和存入EDI寄存器中(不考慮溢出)。答:MOVEDI,0也可為:MOVEDI,ECXADDEDI,ECXADDEDI,EDXADDED
47、I,EDXADDEDI,ESIADDEDI,ESI3.48 請(qǐng)說(shuō)明IMUL BX,DX,100H指令的操作。答:(BX)(DX)*100H3.49 試編寫一程序段,要求把BL中的數(shù)除以CL中的數(shù),并把其商乘以2,最后的結(jié)果存入DX寄存器中。答:MOVAL,BLMOVAH,0;假定為無(wú)符號(hào)數(shù),否則用CBW指令即可DIVCLMOVAH,0SHLAX,1MOVDX,AX3.50 請(qǐng)說(shuō)明JMP DI和JMP DI指令的區(qū)別。答:JMP DI是轉(zhuǎn)移到以(DI)內(nèi)容為偏移地址的單元去執(zhí)行指令;JMP DI是轉(zhuǎn)移到以(DI)間接尋址的內(nèi)存單元內(nèi)容為偏移地址的單元去執(zhí)行指令。3.51 試編寫一程序段,要求在長(zhǎng)
48、度為100H字節(jié)的數(shù)組中,找出大于42H的無(wú)符號(hào)數(shù)的個(gè)數(shù)并存入字節(jié)單元UP中;找出小于42H的無(wú)符號(hào)數(shù)的個(gè)數(shù)并存入字節(jié)單元DOWN中。答:JMPBEGIN原(BP)低字節(jié)原(BP)高字節(jié)存儲(chǔ)器002EH002FH0030H0031H0032H0033H0034H0035H0036H0037H0038H0039H003AH003BH003CH003DH003EH003FH0040H堆棧幀原(SP)新(BP)新(SP)3.52題的答案UPDB 0DOWNDB 0TABLEDB 100H DUP (?);數(shù)組BEGIN:MOVCX,100HMOVBX,-1MOVSI,0MOVDI,0L1:INCBXCMPTABLEBX,42HJAL2JBL3JMPL4L2:INCSIJMPL4L3:INCDIL4:
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療廢物專職培訓(xùn)試題及答案
- 冰心散文考試題及答案
- 中軟java運(yùn)維面試題及答案
- 氯丙嗪教學(xué)課件
- 徐州醫(yī)科大學(xué)《文獻(xiàn)學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖州職業(yè)技術(shù)學(xué)院《田徑運(yùn)動(dòng)與教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 周口師范學(xué)院《微體古生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中原工學(xué)院《DSP原理及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州航海學(xué)院《茶樹栽培學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 人教版必修第三冊(cè) Unit 1 Festivals and Celebrations Discovering Useful Structures課件
- 小動(dòng)物外科手術(shù)學(xué)-浙江大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 物流公司運(yùn)輸安全管理制度
- 三個(gè)合伙人分配合同范本
- PLC課程設(shè)計(jì)-四人搶答器
- 油霧潤(rùn)滑操作規(guī)程及要求
- 化妝品生產(chǎn)工藝及流程圖
- 提高住院患者臨床路徑占比PDCA
- “四電”工程施工工藝標(biāo)準(zhǔn)
- 小學(xué)五年級(jí)語(yǔ)文關(guān)聯(lián)詞語(yǔ)復(fù)習(xí)題帶答案
- 口袋妖怪綠寶石386圖鑒-捕捉方式及能力值
- 超星爾雅《中華詩(shī)詞之美》期末考試答案合集
評(píng)論
0/150
提交評(píng)論