Subversion Repositories Kolibri OS

Rev

Rev 145 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 145 Rev 647
Line 1... Line 1...
1
format ELF
1
format ELF
-
 
2
 
2
section '.text' executable
3
section '.text' executable
-
 
4
include 'proc32.inc'
-
 
5
 
3
public memcpy
6
public memcpy
4
public memmove
7
public memmove
-
 
8
 
-
 
9
proc memcpy stdcall, to:dword,from:dword,count:dword
5
memcpy:
10
 
6
memmove:
11
	mov ecx,[count]
7
  push	esi edi
12
	test ecx,ecx
8
  mov	edi,[esp+12]
13
	jz no_copy_block
-
 
14
		
9
  mov	esi,[esp+16]
15
		mov esi,[from]
10
  mov	ecx,[esp+20]
16
		mov edi,[to]
11
  jecxz .no_copy
-
 
12
  cld
-
 
13
  rep	movsb
17
		rep movsb
14
.no_copy:
18
	no_copy_block:
15
  pop	edi esi
19
 
16
  ret
20
	ret
17
21
endp
-
 
22
 
-
 
23
proc memmove stdcall, to:dword,from:dword,count:dword
-
 
24
 
-
 
25
	mov ecx,[count]
-
 
26
	test ecx,ecx
-
 
27
	jz no_copy_block_
-
 
28
		
-
 
29
		mov esi,[from]
-
 
30
		mov edi,[to]
-
 
31
		rep movsb
-
 
32
	no_copy_block_:
-
 
33
 
-
 
34
	ret
-
 
35
endp
-
 
36
18
37