全文预览

北京理工大学汇编语言实验报告实验三字符串操作实验

上传者:梦溪 |  格式:docx  |  页数:16 |  大小:207KB

文档介绍
'TBE'COUNTEQU($-BUF1)DATASENDSEXTRASEGMENTBUF2DBCOUNTDUP(?);定义了BUF1长度COUNT的字符串EXTRAENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,ES:EXTRASTART:MOVAX,DATASMOVDS,AXMOVAX,EXTRAMOVES,AXLEASI,BUF1LEADI,BUF2MOVCX,COUNT;设置CX的值CLD;设置DF=0,[SI]增加的方向进行串操作REPMOVSB;进行数据段DS到附加段ES的搬移MOVAH,4CHINT21HCODESENDSENDSTART(III)实验结果字符串BUF1结果'TBE'见下图(IV)实验分析本题难度较小,只要一个重复前缀REP,再用MOVSB就可以实现“搬移”。编写程序,在已知字符串中搜索特定字符’#’,若找到则AL返回0,找不到AL返回1,要求用字符串处理方法。(I)实验框图(II)实验代码DATASSEGMENTBUF1DB'TBE'COUNTEQU($-BUF1)DATASENDSEXTRASEGMENTCHARDB'#'EXTRAENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,ES:DATASSTART:MOVAX,DATASMOVDS,AXMOVES,AXLEADI,BUF1MOVAL,'#';‘#’放在AL中,准备使用SCASB指令MOVCX,COUNT;设置循环次数CLD;设置DF=0,正向操作REPNESCASB;不相等时继续循环,相等时顺序执行下面指令JZFOUND;若ZF=0,说明找到‘#’,赋值AL=0MOVAL,1;否则,没找到‘#’,赋值AL=1JMPEXITFOUND:MOVAL,0EXIT:MOVAH,4CHINT21HCODESENDSENDSTART

收藏

分享

举报
下载此文档