Cleanup in elf.c with .bss section clean; adm command mounts cdrom instead of floppy...
[ZeXOS.git] / libc / string / memcpy.c
blobbc0b5de24993dea59397ebdad8b82abc83919dd6
1 /*
2 * ZeX/OS
3 * Copyright (C) 2007 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include <string.h> /* size_t */
22 void *memcpy (void *dst_ptr, const void *src_ptr, size_t count)
24 void *ret_val = dst_ptr;
25 const char *src = (const char *)src_ptr;
26 char *dst = (char *)dst_ptr;
28 /* copy up */
29 for(; count != 0; count--) {
30 /*asm volatile (
31 "pushl %eax;"
32 "pushl %ebx;"
33 "pushl %ecx;"
34 "pushl %edx;");*/
35 *dst++ = *src++;
36 /*asm volatile (
37 "popl %edx;"
38 "popl %ecx;"
39 "popl %ebx;"
40 "popl %eax;");*/
43 return ret_val;