summaryrefslogtreecommitdiff
path: root/memdisk/memcpy.S
blob: 61c35b9b4cf68f81d825207ebeb52769fc99b3c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# $Id$
#
# memcpy.S
#
# Simple memcpy() implementation
#

	.text
	.globl memcpy
	.type memcpy, @function
memcpy:
	cld
	pushl %edi
	pushl %esi
	movl 12(%esp),%edi
	movl 16(%esp),%esi
	movl 20(%esp),%eax
	movl %eax,%ecx
	shrl $2,%ecx
	rep ; movsl
	movl %eax,%ecx
	andl $3,%ecx
	rep ; movsb
	movl 12(%esp),%eax
	popl %esi
	popl %edi
	ret

	.size memcpy,.-memcpy