




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ﻩ
:把
DATASSEGMENTBUF1DB'ABCDEFGH'COUNT1EQU$-BUF1;运用EQU指令,自动获取字符串长度DATASENDSEXTRASEGMENT;定义附加段,即ES段BUF2DB'ABCDEFGH'COUNT2EQU$-BUF2;功能同BUF1EXTRAENDSﻩCODESSEGMENTASSUMECS:CODES,DS:DATAS,ES:EXTRASTART:MOVAX,DATASMOVDS,AXMOVAX,EXTRAMOVES,AXLEASI,BUF1;把源操作串的地址放在SI中LEADI,BUF2;把目的操作串的地址放在DI中MOVCX,COUNT1CMPCX,COUNT2;先比较BUF1、BUF2的长度JNZEXIT1;长度不同样,字符串不同,跳转到EXIT1CLD;设立字符串操作方向REPECMPSB;逐个字符比较JNZEXIT1;一旦有不同的字符,跳转到EXIT1MOVAL,0;若所有相同,则字符串相同,返回AL=0JMPEXIT2EXIT1:MOVAL,1;当字符串不同时,返回AL=1EXIT2:MOVAH,4CHINT21HCODESENDSENDSTARTDATASSEGMENTBUFDB'TBE$'DATASENDSEXTRASEGMENTCHARDB'$';ES段设立待比较的字符‘$’EXTRAENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,ES:EXTRASTART:MOVAX,DATASMOVDS,AXMOVAX,EXTRAMOVES,AXLEASI,BUF;获取BUF的地址L:MOVAL,[SI]SCASBCHARJNZEXIT1JZEXIT2EXIT1:INCSI;不是‘$’,计数器加1,同时字符串后移一位JMPLEXIT2:DECSI;SI多加了一个1MOVAX,SIMOVBL,10DIVBL;考虑SI是两位数的情况MOVDX,AXADDDX,3030H;把数字转化为ASCII码MOVAH,02HINT21H;打印低位MOVDL,DHMOVAH,02HINT21H;打印高位MOVAH,4CHINT21HCODESENDSENDSTART1'123456$'2'$'(II)实验代码DATASSEGMENTBUF1DB'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'TBE'(IV)实验分析本题难度较小,只要一个反复前缀REP,再用MOVSB就可以实现“搬移”。(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(III)实验结果序号字符串AL1'TBE'12'TBE12300#'0BUF为'TBE'的结果:BUF为'TBE12300#'的结果:(IV)实验分析本次实验较为简朴,设立好CX和DF后,将‘#’放入AL,运用反复前缀REPNE以及字符串比较指令SCASB,进行逐个比较,一旦发现ZF=0,跳转到FOUND,对AL进行赋0;否则,比较结束后,没找到‘#’,AL=1。DATASSEGMENTBUF1db'&&&adc&'countequ$-stringDATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXmovbx,0;将计数器BX清零leasi,BUF1movcx,count;设立循环次数Cld;DF=0,正向操作L1:lodsbcmpal,'&'jnzL2;不是'&'就继续循环incbx;是'&',BX就加1L2:loopL1MOVAH,4CHINT21HCODESENDSENDSTART
”。DATASSEGMENTstrbufdb'&&AB#&'countequ$-strbufstring1db'Notfound$'string2db'Found$';也许会输出的字符串DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXmovbx,0leasi,strbuf;获取字符串地址movcx,count;设立循环次数Cld;设立DF=0L1:lodsbcmpal,'#'jzL2loopL1movah,9h;未找到’#’,打印’Notfound’leadx,string1int21hL2:movah,9hleadx,string2int21h;找到’#’,打印’Found’MOVAH,4CHINT21HCODESENDSENDSTART'&&ABCD&'Notfound'&&AB#&'Found本题与与第(4)题思绪同样,只是最后结果的解决不同样,题目规定没找到‘#’,输出’Notfound’,需要调用DOS的9号功能来打印字符串;在此基础上,没找届时,输出’Found’,更加直观。实验心得本次实验重要是规定纯熟掌握字符串操作,在此基础上,尚有一些打印输出的训练,比如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成都市高新区草池初中重点中学2025届第二学期初三年级期末质量调查化学试题含解析
- 云南现代职业技术学院《预防口腔医学》2023-2024学年第一学期期末试卷
- 2025届上海市东昌中学高三下学期开学回头考自选模块试题含解析
- 2025届安徽省安庆市望江中学第二学期期末学业质量阳光指标调研卷高三语文试题含解析
- 2025届江苏省盐城市响水县初三冲刺模拟英语试题试卷含答案
- 苏州幼儿师范高等专科学校《旅行社运营管理》2023-2024学年第二学期期末试卷
- 2025年广东省鹤山一中高三练习题一(山东卷)英语试题含解析
- DB1405T 063-2024旅行社良好行为规范
- DB15T 3622-2024老龄化梨树高接换头更新复壮技术规程
- DB15T 3510-2024大棚薄皮甜瓜熊蜂授粉技术规程
- 水泥厂电工培训课件
- 电力系统中电磁环境监测系统的设计与实施
- 全国公安移动警务视频应用建设指南(征求意见稿)-正式-来源广东
- 【生物】人的生殖课件-+2024-2025学年人教版生物七年级下册
- 健康日用品设计与研发趋势
- 【化学】常见的盐(第1课时)-2024-2025学年九年级化学下册(人教版2024)
- 《罗秀米粉加工技术规程》 编制说明
- 2024年江苏省无锡市中考英语试卷
- 《湖南省房屋建筑和市政工程消防质量控制技术标准》
- 充电桩安全巡查记录表
- 《公路工程现浇泡沫聚合土应用技术规程》
评论
0/150
提交评论