从品牌网站建设到网络营销策划,从策略到执行的一站式服务
2.Repe/repz等于/zero时重复字符串操作
格式:Repe(或repz)stringprimitive
其中stringprimitive可以是CMPs或SCAs指令。
要执行的操作:
1)如果(Cx)=0或ZF=0(即比较结果不等于两个操作数)则退出,否则执行下一步
2)(Cx)
3)执行以下字符串指令
4)重复1)~3)
3,repne/repnz在不等于或不为零时重复字符串操作
格式:repne(或repnz)字符串原语
执行与repe相同的操作,但退出条件(Cx=0)或ZF=1除外。
8086汇编语言中如何清空缓冲区里的字符串?最简单的方法是将一堆零发送到该缓冲区。通常,CX被设置为缓冲区的长度,Al被清除,然后使用重复的字符串操作指令来清除缓冲区:MOV,CX,len,缓冲区的长度(以字节为单位),lea,Di,str。缓冲区的第一个地址被发送到Di寄存器XORAl,AlAl,resetrepzstosb,并重复,直到CX等于0。如果缓冲区很大,可以向它发送字。这样可以加快运行速度:movBX,lenbufferlengthmovCl,2SHRBX,Clbufferlength除以2,将缓冲区的字长movCX,BX发送到CX计数器leadi,stru。buffstringbuffer的第一个地址发送到di寄存器XORax,ax寄存器resetrepzstosw,并重复到CX等于0。有时需要考虑缓冲区是奇数的,也就是说,在缓冲区执行上诉代码之后,仍然有一个字节没有被处理。这时,你需要多加几句话。XORDX,DXmovBX,lentestBX,
1JZL1movDX,0ffh;标记以指示字符串是奇数L1:movCl,
2SHRBX,将Clbuffer的长度除以2以得到缓冲区movCX,BX的字长度并将其发送到CX计数器leaDi,strèbuffstringbuffer的第一个地址发送到Di寄存器XORax,ax寄存器重置repzstosw并重复,直到CX等于0CMPDX,0ffhJNZ退出出口:。。。。。。有许多其他方法,但这是最有效的一种。其他使用循环指令或CMP-CX、0、JNZ-XX的方法速度较慢。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图