
Post-CommonCore project of the 42 school.
This project is an introduction to x86_64 assembly language (ASM).
The goal is to make library in 64 bits ASM named libasm.a.
Inline ASM is forbidden, we must use .s files.
Compilation must be done with nasm.
Intel syntax must be used, not the AT&T one.
The library must contain the following functions:
- ft_strlen (man 3 strlen)
- ft_strcpy (man 3 strcpy)
- ft_strcmp (man 3 strcmp)
- ft_write (man 2 write)
- ft_read (man 2 read)
- ft_strdup (man 3 strdup, malloc allowed)
- ft_atoi_base
- ft_list_push_front
- ft_list_size
- ft_list_sort
- ft_list_remove_if
For each syscall, errors must be checked and the value of errno must be setted accordingly.
Therefore, calling the extern ___error or errno_location is allowed.
The linked list functions must use the following structure:
typedef struct s_list t_list;
struct s_list
{
void *data;
t_list *next;
};