repne scasb + rep movsd + rep movsb 内联实现 strcat

我在前面写了两篇博客分别介绍内联实现 strlen 和 strcpy,这次介绍的 strcat 其实是 strlen + strcpy ,没什么新东西。

在这里插入图片描述

.text:0040265A                 lea     edi, [ebp+lpszExeName]
.text:00402660                 lea     edx, [ebp+Src]
.text:00402666                 or      ecx, 0FFFFFFFFh
.text:00402669                 xor     eax, eax
.text:0040266B                 repne scasb
.text:0040266D                 not     ecx             ; 得到 lpszExeName 的长度(含NULL.text:0040266F                 sub     edi, ecx
.text:00402671                 mov     esi, edi        ; esi 指向 lpszExeName
.text:00402673                 mov     ebx, ecx
.text:00402675                 mov     edi, edx
.text:00402677                 or      ecx, 0FFFFFFFFh
.text:0040267A                 xor     eax, eax
.text:0040267C                 repne scasb             ; edi 指向复制起点
.text:0040267E                 add     edi, 0FFFFFFFFh
.text:00402681                 mov     ecx, ebx
.text:00402683                 shr     ecx, 2
.text:00402686                 rep movsd
.text:00402688                 mov     ecx, ebx
.text:0040268A                 and     ecx, 3
.text:0040268D                 rep movsb
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页