00001 .globl strcpy
00002 strcpy:
00003 movl 4(%esp),%ecx
00004 movl 8(%esp),%edx
00005 pushl %ecx
00006
00007 .align 2,0x90
00008 L1: movb (%edx),%al
00009 movb %al,(%ecx)
00010 testb %al,%al
00011 je L2
00012 movb 1(%edx),%al
00013 movb %al,1(%ecx)
00014 testb %al,%al
00015 je L2
00016 movb 2(%edx),%al
00017 movb %al,2(%ecx)
00018 testb %al,%al
00019 je L2
00020 movb 3(%edx),%al
00021 movb %al,3(%ecx)
00022 testb %al,%al
00023 je L2
00024 movb 4(%edx),%al
00025 movb %al,4(%ecx)
00026 testb %al,%al
00027 je L2
00028 movb 5(%edx),%al
00029 movb %al,5(%ecx)
00030 testb %al,%al
00031 je L2
00032 movb 6(%edx),%al
00033 movb %al,6(%ecx)
00034 testb %al,%al
00035 je L2
00036 movb 7(%edx),%al
00037 movb %al,7(%ecx)
00038 addl $8,%edx
00039 addl $8,%ecx
00040 testb %al,%al
00041 jne L1
00042 L2: popl %eax
00043 ret
00044