汇编JNGREPE和REPNE的问题?-创新互联
2.Repe/repz等于/zero时重复字符串操作
成都创新互联公司为企业级客户提高一站式互联网+设计服务,主要包括成都网站制作、成都做网站、成都App定制开发、微信小程序、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。格式: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的方法速度较慢。
标题名称:汇编JNGREPE和REPNE的问题?-创新互联
URL地址:http://scjbc.cn/article/djgois.html