forked from KolibriOS/kolibrios
1c24cac315
[include] - ksys.h : fixed sruct name - string.h: set memcpy, memset, and memove as static for libtcc - stdio.h: added sscanf and ungetc - stdint.h: added int64 limits [stdio] fixed *scanf functions added ungetc functon [lib] - upated binaries - added libtcc.a for tcc optimization [crt] - removed duplicate files [samples] - added fasm libc.obj example - updated old examples git-svn-id: svn://kolibrios.org@8718 a494cfbc-eb01-0410-851d-a64ba20cac60
35 lines
534 B
NASM
35 lines
534 B
NASM
format ELF
|
|
|
|
section '.text' executable
|
|
include '../../../../../proc32.inc'
|
|
|
|
public memmove
|
|
|
|
proc memmove c, to:dword,from:dword,count:dword
|
|
|
|
push esi
|
|
push edi
|
|
mov ecx,[count]
|
|
test ecx,ecx
|
|
jz no_copy_block_
|
|
mov esi,[from]
|
|
mov edi,[to]
|
|
cmp esi, edi
|
|
je no_copy_block_
|
|
jg copy_
|
|
add esi, ecx
|
|
add edi, ecx
|
|
dec esi
|
|
dec edi
|
|
std
|
|
copy_:
|
|
rep movsb
|
|
cld
|
|
no_copy_block_:
|
|
|
|
pop edi
|
|
pop esi
|
|
mov eax,[to]
|
|
ret
|
|
endp
|