Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .intel_syntax noprefix
  2.  
  3. .text
  4.  
  5. .global amemmove
  6.  
  7. amemmove:
  8.     push    ebp
  9.     mov ebp,esp
  10.     mov edi, DWORD PTR [ebp+8]      # edi = *dest
  11.     mov esi, DWORD PTR [ebp+12]     # esi = *src
  12.     mov ecx, WORD [ebp+16]      # ecx = nbytes
  13.     mov eax, esi
  14.     sub eax, ecx            # eax = src - nbytes
  15.     cmp edi, eax
  16.     jl  rightcpy
  17.     mov edx, esi
  18.     add edx, ecx            # edx = src + btytes
  19.     cmp eax, edx
  20.     jg  rightcpy
  21.     jmp leftcpy
  22.  
  23. leftcpy:
  24.     std
  25.  
  26. rightcpy:
  27. rep movsb
  28.     cld
  29.     mov esp, ebp
  30.     pop ebp
  31.     ret
  32.  
  33. .end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement