rep movsd + rep movsb 内联实现 strcpy
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                rep movsd + rep movsb 内联实现 strcpy
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                下面的代碼片段是一個內聯的 strcpy ,not ecx 為止是計算源字符串的長度(含NULL),00402646 到 00402651 是以4字節為單位復制,最后3行是把剩下的0-3字節復制過去。
.text:00402632 mov edi, offset aSystemrootSyst ; "%SYSTEMROOT%\\system32\\" .text:00402637 lea edx, [ebp+Src] .text:0040263D or ecx, 0FFFFFFFFh .text:00402640 xor eax, eax .text:00402642 repne scasb .text:00402644 not ecx ; ecx = 源字符串長度含結尾 NULL .text:00402646 sub edi, ecx .text:00402648 mov esi, edi ; 令 esi 指向 aSystemrootSyst .text:0040264A mov eax, ecx .text:0040264C mov edi, edx .text:0040264E shr ecx, 2 .text:00402651 rep movsd ; 先以4字節為單位復制 .text:00402653 mov ecx, eax .text:00402655 and ecx, 3 .text:00402658 rep movsb ; 復制剩下的 0~3 個字節總結
以上是生活随笔為你收集整理的rep movsd + rep movsb 内联实现 strcpy的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: repne scasb 内联实现 str
- 下一篇: repne scasb + rep mo
