From defcb4338b9ddc4e6f208b68507baea45c6c4490 Mon Sep 17 00:00:00 2001 From: lohhiiccc Date: Thu, 18 Jun 2026 14:44:26 +0200 Subject: [PATCH] fix: atoibase --- src/ft_atoibase.asm | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/ft_atoibase.asm b/src/ft_atoibase.asm index f67fa03..e90f37b 100644 --- a/src/ft_atoibase.asm +++ b/src/ft_atoibase.asm @@ -105,7 +105,7 @@ find_start: jmp .loop .done: mov rax, r12 - mov dl, 0 + xor dl, dl pop r12 @@ -166,7 +166,6 @@ get_num_from_base: jmp .loop .found: - mov rax, 1 ret .not_found: @@ -204,10 +203,9 @@ ft_atoibase: xor r11, r11 .loop: cmp byte [r12], 0 - je .done + je .end_loop - mul r11, r14 mov rdi, r13 movzx rsi, byte [r12] mov rdx, r14 @@ -215,21 +213,24 @@ ft_atoibase: push r11 call get_num_from_base pop r11 - cmp rax, rax - jl .done + test rax, rax + jl .end_loop + mul r11, r14 add r11, rax ; r += rax inc r12 jmp .loop -.done: - mov rax, r11 - test r9b, r9b - je .pos +.end_loop: + mov rax, r11 +.done: + + test r15b, r15b + je .cleanup neg rax -.pos: +.cleanup: pop r12 pop r13