微机答案20947P21答案:第一种Leabx,buf//置基址xordi,di//将di清0来存放个数loop1:moval,[bx]//传数据cmpal,0h//判断是否是字符串结束符jeoutcmpal,42h//判断是否小于42jbnocmpal,45h//判断是否大于45janoincdi//个数加一no:incbx//取下一个数jmploop1//循环out://这时将di转到ax然后分别除10010外加扩展然后转换成ascii码,用int21h中断输出,会有人给出这部分程序的,我不是来拿分的。第二种:DATASEGMENTBUFDB255DB?DB255DUP(?)crlfdb0dh,0ah,24h;回车换行ndb0;统计的字符数DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AXMOVAH,0AHMOVDX,OFFSETBUFINT21Hmovah,9movdx,offsetcrlfint21hMOVSI,OFFSETBUFINCSIMOVCL,[SI]MOVCh,0incsiLAST1:moval,[si]cmpal,42hjbno_1cmpal,no_1:incsiloopLAST1moval,nMOVCX,8d_next:roLaL,1pushaxmovah,2jcdisp_1movdl,'0'jmpdispdisp_1:movdl,'1'disp:int21hpopaxloopd_nextMOVAH,4CHINT21HCODEENDSENDBEG追问(⊙o⊙)…我的程序没救了?我想知道我的程序哪边有问题回答你的程序问题不少。。。。不好意思,暂无时间详细叙述!追问好吧、、、谢谢你了还有昨天你的程序我没运行出来。。。。。。没问题。提问者评价谢谢了!P42答案:"PASSWORD:",'$'PASSDB'ABCDE'LENEQU$-PASSBUFDB10,?,10DUP(?)DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DA:DATA,ES:DATABEG:MOVAX,DATAMOVDA,AXMOVES,AXAGA:MOVAH,9MOVDX,OFFSETMESGINT21HMOVAH,0AHMOVDX,OFFSETBUFINT21HCMPBUF+1,LENJNEAGAMOVSI,OFFSETPASSMOVDI,OFFSETBUF+X,LENCLDREPECMPSBJNZAGAMOVAH,"PASSWORD:",'$'PASSDB'ABCDE'LENEQU$-PASSBUFDB10,?,10DUP(?)DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATA,ES:DATABEG:MOVAX,DATAMOV
微机答案 来自淘豆网www.taodocs.com转载请标明出处.