Advertisement
Guest User

memcopy_norestrict.s

a guest
Mar 25th, 2012
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .file   "test.c"
  2.     .text
  3.     .p2align 4,,15
  4. .globl _memcopy
  5.     .def    _memcopy;   .scl    2;  .type   32; .endef
  6. _memcopy:
  7.     pushl   %ebp
  8.     movl    %esp, %ebp
  9.     pushl   %edi
  10.     pushl   %esi
  11.     pushl   %ebx
  12.     subl    $8, %esp
  13.     movl    16(%ebp), %edx
  14.     movl    8(%ebp), %eax
  15.     movl    12(%ebp), %ebx
  16.     testl   %edx, %edx
  17.     je  L2
  18.     movl    16(%ebp), %edx
  19.     movl    16(%ebp), %esi
  20.     decl    %edx
  21.     shrl    $4, %esi
  22.     movl    %edx, -16(%ebp)
  23.     movl    %esi, %edi
  24.     sall    $4, %edi
  25.     testl   %edi, %edi
  26.     je  L7
  27.     cmpl    $15, 16(%ebp)
  28.     leal    16(%ebx), %edx
  29.     seta    -17(%ebp)
  30.     cmpl    %edx, %eax
  31.     leal    16(%eax), %edx
  32.     seta    %cl
  33.     cmpl    %edx, %ebx
  34.     seta    %dl
  35.     orl %edx, %ecx
  36.     testb   %cl, -17(%ebp)
  37.     je  L7
  38.     xorl    %edx, %edx
  39.     xorl    %ecx, %ecx
  40.     .p2align 4,,10
  41. L4:
  42.     movdqu  (%ebx,%edx), %xmm0
  43.     incl    %ecx
  44.     movdqu  %xmm0, (%eax,%edx)
  45.     addl    $16, %edx
  46.     cmpl    %ecx, %esi
  47.     ja  L4
  48.     addl    %edi, %ebx
  49.     subl    %edi, -16(%ebp)
  50.     leal    (%eax,%edi), %esi
  51.     cmpl    %edi, 16(%ebp)
  52.     je  L5
  53. L3:
  54.     movl    -16(%ebp), %ecx
  55.     xorl    %edx, %edx
  56.     leal    1(%ecx), %edi
  57.     .p2align 4,,10
  58. L6:
  59.     movzbl  (%ebx,%edx), %ecx
  60.     movb    %cl, (%esi,%edx)
  61.     incl    %edx
  62.     cmpl    %edx, %edi
  63.     jne L6
  64. L5:
  65.     addl    16(%ebp), %eax
  66. L2:
  67.     addl    $8, %esp
  68.     popl    %ebx
  69.     popl    %esi
  70.     popl    %edi
  71.     leave
  72.     ret
  73. L7:
  74.     movl    %eax, %esi
  75.     jmp L3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement