stosw汇编指令 汇编语言用loop实现字符串的右对齐,不能用stosb?
汇编语言用loop实现字符串的右对齐,不能用stosb?
实际上,它是确定字符串的极限长度,然后用适当数量的空格填充所有字符串的左侧
最简单的方法是向该缓冲区发送一堆零。通常,将CX设置为缓冲区的长度,清除Al,然后使用重复的字符串操作指令清除缓冲区:MOV,CX,len,缓冲区的长度,以字节LEA DI,STR为单位。将缓冲区的第一个地址发送到DI寄存器XOR Al,Al Al,reset repz stosb,并重复,直到CX等于0。如果缓冲区很大,可以向它发送字。这样可以加快运行速度:mov BX,len buffer length mov Cl,2 SHR BX,Cl buffer length除以2,将缓冲区的字长mov CX,BX发送到CX计数器lea di,stru。buff string buffer的第一个地址发送到di寄存器XOR ax,ax寄存器reset repz stosw,并重复到CX等于0。有时需要考虑缓冲区是奇数的,也就是说,在缓冲区执行上诉代码之后,仍然有一个字节没有被处理。这时,你需要多加几句话。XOR DX,DX mov BX,len test BX,
1 JZ L1 mov DX,0ffh;标记以指示字符串是奇数L1:mov Cl,
2 SHR BX,将Cl buffer的长度除以2以得到缓冲区mov CX,BX的字长度并将其发送到CX计数器lea Di,strèbuff string buffer的第一个地址发送到Di寄存器XOR ax,ax寄存器重置repz stosw并重复,直到CX等于0 CMP DX,0ffh JNZ退出出口:。。。。。。有许多其他方法,但这是最有效的一种。其他使用循环指令或CMP-CX、0、JNZ-XX的方法速度较慢。
stosw汇编指令 汇编语言stosb指令 rep stosb指令
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。