aboutsummaryrefslogtreecommitdiff
path: root/ft_list_size.s
blob: 0d80bd939879daefbee2e66177d1f8a5b0725e6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
; **************************************************************************** ;
;                                                                              ;
;                                                         :::      ::::::::    ;
;    ft_list_size.s                                     :+:      :+:    :+:    ;
;                                                     +:+ +:+         +:+      ;
;    By: cacharle <marvin@42.fr>                    +#+  +:+       +#+         ;
;                                                 +#+#+#+#+#+   +#+            ;
;    Created: 2019/11/22 20:59:52 by cacharle          #+#    #+#              ;
;    Updated: 2019/11/24 01:55:14 by cacharle         ###   ########.fr        ;
;                                                                              ;
; **************************************************************************** ;

%ifdef __LINUX__
    %define M_FT_LIST_SIZE ft_list_size
%else
    %define M_FT_LIST_SIZE _ft_list_size
%endif

global M_FT_LIST_SIZE

section .text
; int ft_list_size(t_list *begin_list);
M_FT_LIST_SIZE:
	xor eax, eax
FT_LIST_SIZE_LOOP:
	cmp rdi, 0
	je  FT_LIST_SIZE_END
	inc eax
	mov rdi, [rdi + 8]
	jmp FT_LIST_SIZE_LOOP
FT_LIST_SIZE_END:
	ret