飘云 发表于 2004-12-14 10:54:52

字符串操作指令

一般有专门的字符操作指令,如:
lodsb
stosb
movsb
rep/repz/repnz
cmpsb
scasb等等,
这些指令其实速度很慢,好的方法是用寄存器间接寻址,如:
lodsb mov al,byte ptr
inc esi
stosb mov byte ptr ,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
inc esi
mov byte ptr ,al
cmp al,0 ;终止符
jz @F
loopnz @B
@@:
ret
lstrcpyn endp
页: [1]
查看完整版本: 字符串操作指令