kolibrios-fun/drivers/ddk/string/_strncpy.S
Sergey Semyonov (Serge) 49cb0f914d ddk: fix strcpy
devman: scan pci root bus

git-svn-id: svn://kolibrios.org@1627 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-09-26 22:57:18 +00:00

23 lines
561 B
ArmAsm

/* _strncpy() Author: Kees J. Bot */
/* 1 Jan 1994 */
/* char *_strncpy(char *s1, const char *s2, size_t ecx) */
/* Copy string s2 to s1. */
/* */
#include "asm.h"
ENTRY(_strncpy)
movl 12(%ebp), %edi /* edi = string s2 */
xorb %al, %al /* Look for a zero byte */
movl %ecx, %edx /* Save maximum count */
cld
repne scasb /* Look for end of s2 */
subl %ecx, %edx /* Number of bytes in s2 including null */
xchgl %edx, %ecx
movl 12(%ebp), %esi /* esi = string s2 */
movl 8(%ebp), %edi /* edi = string s1 */
rep movsb /* Copy bytes */
ret