Subversion Repositories Kolibri OS

Rev

Rev 9666 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
9666 turbocat 1
format ELF
2
 
3
section '.text' executable
4
include '../../../../../../proc32.inc'
5
 
6
public memmove
7
 
8
proc memmove c, to:dword,from:dword,count:dword
9774 turbocat 9
    push    esi
10
    push    edi
11
    mov     ecx,[count]
12
    test    ecx,ecx
13
    jz      .no_copy_block
14
    mov     esi,[from]
15
    mov     edi,[to]
16
    cmp     esi, edi
17
    je      .no_copy_block
18
    jg      .copy
19
    add     esi, ecx
20
    add     edi, ecx
21
    dec     esi
22
    dec     edi
23
    std
24
.copy:
25
    rep     movsb
26
    cld
27
.no_copy_block:
28
    pop     edi
29
    pop     esi
30
    mov     eax,[to]
31
    ret
9666 turbocat 32
endp