汇编的字符串操作指令
2007-11-13 09:32:27 来源:WEB开发网核心提示:一般有专门的字符操作指令,如: lodsb stosb movsb rep/repz/repnz cmpsb scasb等等,汇编的字符串操作指令, 这些指令其实速度很慢,好的方法是用寄存器间接寻址,如: lodsb mov al,byte ptr [esi] inc esi stosb mov byte ptr [e
一般有专门的字符操作指令,如:
lodsb
stosb
movsb
rep/repz/repnz
cmpsb
scasb等等,
这些指令其实速度很慢,好的方法是用寄存器间接寻址,如:
lodsb mov al,byte ptr [esi]
inc esi
stosb mov byte ptr [edi],al
inc edi
等等,千万不要在程序中使用rep movsb,这样做速度很慢的。
例:一个字符串复制函数
lstrcpyn proc uses esi edi ecx,src,des,ilen
mov ecx,ilen ;要复制的长度
mov esi,src
mov edi,des
@@:
mov al,byte ptr [esi]
inc esi
mov byte ptr [edi],al
cmp al,0 ;终止符
jz @F
loopnz @B
@@:
ret
lstrcpyn endp
更多精彩
赞助商链接