memmove.s raw

   1  .global memmove
   2  .type memmove,@function
   3  memmove:
   4  	mov 4(%esp),%eax
   5  	sub 8(%esp),%eax
   6  	cmp 12(%esp),%eax
   7  .hidden __memcpy_fwd
   8  	jae __memcpy_fwd
   9  	push %esi
  10  	push %edi
  11  	mov 12(%esp),%edi
  12  	mov 16(%esp),%esi
  13  	mov 20(%esp),%ecx
  14  	lea -1(%edi,%ecx),%edi
  15  	lea -1(%esi,%ecx),%esi
  16  	std
  17  	rep movsb
  18  	cld
  19  	lea 1(%edi),%eax
  20  	pop %edi
  21  	pop %esi
  22  	ret
  23