资源描述:
《【精品】程序分析例题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、(1)DATASEGMENTCUNTEQUOfHDB1DBOdfH,0,25H,13H,78HEVENDW1DW32H,50H,0del8H,4753HADRIDWDB1ADR2DWDW1BUFDB4DUP(0)DATAENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATABEGIN:MOVAX,DATAMOVDS,AXMOVCX,CUNTSHR2ADDADRI,CXSUBADR2,CXDECADR2MOVBX,ADRI;(CX)二①;ADR2=;(BX)二MOVDI,BXMOVSI,ADR2MOVAL,DB1[BX];(AL)=MOVBUF[DI],A
2、LMOVAX,DW1[BX][SI]MOVWORDPTRBUF,AX;BUF[O]=,BUF[1]=;BUF[2]二,BUF[3]二MOVAH,4CHINT21HCOSEGENDSENDBEGIN(2)DATASEGMENTORG32HDA_WDDW20HNUM1二10*10NUM2EQU70HREL1DWNUM1LENUM2REL2DBNUM1NENUM2,NUM3EQU945HNUM4二35*35NUM1EQNUM2ADRRDWREL1,9873H,REL2DATAENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATABEGIN:MOVAX,DATA
3、MOVDS,AXMOVAX,DAWD+1:(AX)=①MOVBX,OFFSETDAWD:(BX)=②MOVCL,HIGH(OFFSETREL2)MOVCH,TYPEDA_WDMOVDX,REL1MOVAX,WORDPTRREL2MOVBX,NUM4LENUM3MOVCX,NUM4GTNUM3MOVDX,ADRR+1LEASI,ADRR+1MOVAH,4CHINT21H(CX)二;(DX)=(AX)=⑦(BX)二(CX)=(DX)二(SI)=COSEGENDSENDBEGIN(3)DATASEGMENTORG1OOHNUM1=8NUM2二NUM1+10HDAIDB,IBMPC'
4、DBOAH,ODHCUNTEQU$-DAlDA2DW仙,'M,ORG134H,'PC,,OAODHNUM3二20HDA3DW10H,$+20H,30H,$+40HDA4DWDA1+NUM3+14HDATAENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATABEGIN:MOVAX,DATAMOVDS,AXMOVAX,OFFSET(DA1+1);(AX)二①MOVBL,LOWOFFSETDA2MOVCX,CUNTMOVDX,DA2+5MOVAX,DA3[2]MOVBX,DA3[6]MOVSI,DA4MOVCX,[SI]MOVAH,4CH;(BL)二;(CX
5、)=;(DX)=;(BX)二;(SI)二;(CX)=INT21H;(AX)二⑦COSEGENDSENDBEGIN(4)datasegmentorg2Vaidb30h,36horg7Va2db35h,38hlenlequ$-Va2Va3db39h,32hdataendsprogsegmentassumecs:prog,dsstart:movax,datamovds,axmovdl,[Val+1]movah,2int21hmovdi,offsetVa3movdl,[di+1]movah,2:data;(dl)二Q;(dl)=int21hmovdl,ds:[lenl];lenl=m
6、ovah,2int21hleaax,Va2oral、30hmovdl,almovah,2(dl)=④(al)=⑤(al)=int21hmovah,4chint21hprogendsendstart;最终显不结果为:⑦