- UID
- 2
注册时间2004-12-1
阅读权限255
最后登录1970-1-1
总坛主
  
TA的每日心情 | 开心 2024-12-1 11:04 |
---|
签到天数: 12 天 [LV.3]偶尔看看II
|
一般有专门的字符操作指令,如:
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 |
|