feat: ft_memcpy
This commit is contained in:
parent
0650802fe0
commit
13628b49b8
3 changed files with 22 additions and 3 deletions
3
Makefile
3
Makefile
|
|
@ -15,7 +15,8 @@ SRCS=$(SRC_DIR)/ft_strlen.asm \
|
|||
$(SRC_DIR)/ft_strcmp.asm \
|
||||
$(SRC_DIR)/ft_write.asm \
|
||||
$(SRC_DIR)/ft_read.asm \
|
||||
$(SRC_DIR)/ft_strdup.asm
|
||||
$(SRC_DIR)/ft_strdup.asm \
|
||||
$(SRC_DIR)/ft_memcpy.asm
|
||||
|
||||
OBJS=$(patsubst $(SRC_DIR)/%.asm,$(OBJ_DIR)/%.o,$(SRCS))
|
||||
DEPS=$(OBJS:.o=.d)
|
||||
|
|
|
|||
17
src/ft_memcpy.asm
Normal file
17
src/ft_memcpy.asm
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
global ft_memcpy
|
||||
section .text
|
||||
|
||||
; rdi: dest
|
||||
; rsi: src
|
||||
; rdx: len
|
||||
|
||||
ft_memcpy:
|
||||
mov rax, rdi
|
||||
test rdx, rdx
|
||||
je .done
|
||||
|
||||
cld
|
||||
mov rcx, rdx
|
||||
rep movsb
|
||||
.done:
|
||||
ret
|
||||
|
|
@ -6,12 +6,13 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
size_t ft_strlen(char *str);
|
||||
size_t ft_strlen(const char *str);
|
||||
char *ft_strcpy(char *dest, const char *src);
|
||||
int ft_strcmp (const char *p1, const char *p2);
|
||||
ssize_t ft_write(int fildes, const void *buf, size_t nbyte);
|
||||
char *strdup(const char *s);
|
||||
ssize_t read(int fd, void *buf, size_t count);
|
||||
ssize_t ft_read(int fd, void *buf, size_t count);
|
||||
void *ft_memcpy(void *dest, const void *src, size_t n);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue