郁金香vc基础视频教程31-55合购vip收集-39.串指令_第1页
郁金香vc基础视频教程31-55合购vip收集-39.串指令_第2页
郁金香vc基础视频教程31-55合购vip收集-39.串指令_第3页
郁金香vc基础视频教程31-55合购vip收集-39.串指令_第4页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4、串指移动串指令MOVSB、MOVSW、MOVSD;从ESIEDI执行后ESIEDI比较串指令CMPSB、CMPSW、CMPSD;ESI、EDI执行后ESIEDI的地址扫描串指令SCASB、SCASW、SCASD;AL/AX/EAXEDI指向的数据,执行后EDI自动变化串指令:STOSB、STOSW、STOSD;将AL/AX/EAX中的数据到EDI给出的地址,执行后EDI自动变化载入串指令:LODSB、LODSW、LODSD;将ESI指向的数据载入到AL/AX/EAX执行后ESI自动变化B、W、DByte、Word、DWord表示每次操作的数据的大小单位 ECX0REPE(REPZ)ECX0ZF=1REPNE(REPNZECX0ZF=0;重复前缀可以自动按单位(1、2、4)mainmainendpendmainMOVSB:;.modelflat, includelibkernel32.libincludelibmasm32.libincludelibdebug.libszSourcedb'Delphi2010',0lenequ$-szSource-1szDestdblendup(?),0mainprocleaesi,szSourceleaedi,szDestmovecx,lencld;复位标志寄存器的方向标志repPrintStringszDest;Delphi上面的例子,假如不使用重复前缀;.modelflat, includelibkernel32.libincludelibmasm32.libincludelibdebug.libszSourcedb'Delphi2010',0lenequ$-szSource-1szDestdblendup(?),0mainprocleaesi,szSourceleaedi,szDestmovecx,len@@:dececxjnz@BPrintStringMOVSD例;.modelflat, includelibkernel32.libincludelibmasm32.libincludelibdebug.libddSourcedd ddlengthofddSourcemainprocleaesi,leaedi,movecx,lengthofrepDumpMemoffsetddDest,sizeofddDest;11000000-220000-330000mainendpendmainMOVSW例;.modelflat, includelibkernel32.libincludelibmasm32.libincludelibdebug.libddSourcedw dwlengthofddSourcemainprocleaesi,leaedi,movecx,lengthofrepDumpMemoffsetddDest,sizeofddDest;11002200-330000mainendpendmainCMPSD例;.modelflat,;;.modelflat, includelibkernel32.libincludelibmasm32.libincludelibdebug.libddVal1dd1234hddVal2ddmainprocleaesi,ddVal1leaedi,ddVal2jePrintText两数不等jmpL1PrintText两数相等L2:retmainendpendmainCMPSW例 includelibkernel32.libincludelibmasm32.libincludelibdebug.libdwArr1dwdwArr2dwmainprocleaesi,leaedi,movecx,lengthofrepecmpswjeL1PrintText两数组不等jmpL1PrintText两数组相等L2:retmainendpendmain对比数组时,假如数组长度不一致;;.modelflat, includelibkernel32.libincludelibmasm32.libincludelibdebug.libdwArr1dwdwArr2dwmainprocleaesi,leaedi,movecx,lengthofdwArr1cmpecx,lengthofdwArr2jneL1repecmpswjneL1PrintText两数组相等jmpL1PrintText两数组不等L2:retmainendpendmain如果对比的是0结束的字符串, includelibkernel32.libincludelibmasm32.libincludelibdebug.libszText1db'Delphi2010',szText2db'Delphi2011',mainprocleaesi,leaedi,movecx,lengthofrepecmpsbjeL1PrintText字符串不同jmpL1PrintText字符串相同L2:retmainendpendmainSCASB例 includelibkernel32.libincludelibmasm32.libincludelibdebug.libszTextdb'ABCDEFGH',mainprocleaedi,moval,movecx,lengthofszText-repnescasbjeL1PrintText没找到jmpL1:subecx,lengthofszText-negPrintDececx;如果找得到这里显示是第几个字符6L2:retmainendpendmainSTOSB例;.modelflat, includelibkernel32.libincludelibmasm32.libincludelibdebug.liblen=szTextdblendup(0),mainprocleaedi,moval,'x'movecx,lenrepPrintStringszTextmainendpendmainLODSW例:;.modelflat, includelibkernel32.libinc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论