			public	memcpy
memcpy_asm	segment	'code'
			assume	cs:memcpy_asm

memcpy		proc	far

s1			equ		dword ptr [bp+0ch]
s2			equ		dword ptr [bp+08h]
lim			equ		word ptr [bp+06h]

			push	bp
			mov		bp,sp
			push	si
			push	di
			push	ds
			cld
			les		di,s1
			lds		si,s2
			mov		cx,lim
			mov		dx,cx
			shr		cx,1
			jcxz	chk_odd
			rep		movsw
chk_odd:
			test	dl,1
			jz		done
			movsb
done:
			mov		ax,word ptr s1
			mov		dx,word ptr s1+2
			pop		ds
			pop		di
			pop		si
			pop		bp
			ret		0ah
memcpy		endp
memcpy_asm	ends
			end
pOOPOop?	
0P	0 op	P0)	)?3?6	0>oPGV	WabgogPjpmyoPz}P @	@pp@_0 O	@P 