Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .file "test.c"
- .text
- .p2align 4,,15
- .globl _memcopy
- .def _memcopy; .scl 2; .type 32; .endef
- _memcopy:
- pushl %ebp
- movl %esp, %ebp
- pushl %edi
- pushl %esi
- pushl %ebx
- subl $8, %esp
- movl 16(%ebp), %edx
- movl 8(%ebp), %eax
- movl 12(%ebp), %ebx
- testl %edx, %edx
- je L2
- movl 16(%ebp), %edx
- movl 16(%ebp), %esi
- decl %edx
- shrl $4, %esi
- movl %edx, -16(%ebp)
- movl %esi, %edi
- sall $4, %edi
- testl %edi, %edi
- je L7
- cmpl $15, 16(%ebp)
- leal 16(%ebx), %edx
- seta -17(%ebp)
- cmpl %edx, %eax
- leal 16(%eax), %edx
- seta %cl
- cmpl %edx, %ebx
- seta %dl
- orl %edx, %ecx
- testb %cl, -17(%ebp)
- je L7
- xorl %edx, %edx
- xorl %ecx, %ecx
- .p2align 4,,10
- L4:
- movdqu (%ebx,%edx), %xmm0
- incl %ecx
- movdqu %xmm0, (%eax,%edx)
- addl $16, %edx
- cmpl %ecx, %esi
- ja L4
- addl %edi, %ebx
- subl %edi, -16(%ebp)
- leal (%eax,%edi), %esi
- cmpl %edi, 16(%ebp)
- je L5
- L3:
- movl -16(%ebp), %ecx
- xorl %edx, %edx
- leal 1(%ecx), %edi
- .p2align 4,,10
- L6:
- movzbl (%ebx,%edx), %ecx
- movb %cl, (%esi,%edx)
- incl %edx
- cmpl %edx, %edi
- jne L6
- L5:
- addl 16(%ebp), %eax
- L2:
- addl $8, %esp
- popl %ebx
- popl %esi
- popl %edi
- leave
- ret
- L7:
- movl %eax, %esi
- jmp L3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement