【汇编】字符串操作指令 (2/177)

本帖地址: 复制地址

楼主: ..﹎天涯;

用户形象图片

一般有专门的字符操作指令,如:
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

回到帖子顶部

1楼爾妖

用户形象图片

沙发
回到帖子顶部

2楼帅ん帅

用户形象图片

没 看懂什么意思。。。。。貌似很复杂。。。
回到帖子顶部
个人信息
  • 荣誉+3
  • 荣誉+2
  • 荣誉+1
  • 荣誉-1
  • 荣誉-2
  • 荣誉-3
发表留言
  • 文章不错!
  • 精华好文!
  • 支持原创文章!
  • 帖子图文并茂,好!
  • 真知灼见,说得好!
  • 恶意广告
  • 违规内容
  • 严重灌水
  • 重复发帖
  • 标题党
你确定要删除此楼层吗
扣20点经验值