From cf0d5fa5cb5d9ed232555d60a71e49203cc3c984 Mon Sep 17 00:00:00 2001 From: zombie Date: Sat, 2 Oct 2021 21:37:52 -0400 Subject: [PATCH] added atoi to example --- CMakeLists.txt | 2 +- atoi.asm | 4 ---- example.asm | 13 +++++++++++-- strlen.asm | 5 +++++ 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 28c2089..da22709 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,6 @@ add_compile_options(-g) add_link_options(-fno-pie -m64 -no-pie -pedantic-errors) #Make a EXE with cpp and asm files -add_library(z tolower.asm strlen.asm strcmp.asm) +add_library(z tolower.asm strlen.asm strcmp.asm atoi.asm) add_executable(example example.asm) target_link_libraries(example z) diff --git a/atoi.asm b/atoi.asm index adc926f..d42ed65 100644 --- a/atoi.asm +++ b/atoi.asm @@ -8,10 +8,6 @@ libz_atoi: mov r8, rdi - - - mov r8, text ;loop setup - xor r9, r9 _loopasd23: diff --git a/example.asm b/example.asm index 73cc0b0..b451f3a 100644 --- a/example.asm +++ b/example.asm @@ -2,12 +2,13 @@ extern puts extern libz_strlen extern libz_strcmp extern libz_tolower +extern libz_atoi section .data text2 db "asdasdASDd",0 text db "asdasdasd",0 - - + text3 dq "65",0 + textstore dq 0,0 stoer db "0",0 differ db "they differ",0 notdiffer db "they dont differ",0 @@ -30,6 +31,14 @@ main: call puts + mov rdi, text3 + call libz_atoi + + mov [textstore], rax + + mov rdi, textstore + cld + call puts mov rdi, text2 diff --git a/strlen.asm b/strlen.asm index 64fad05..9591a37 100644 --- a/strlen.asm +++ b/strlen.asm @@ -4,6 +4,9 @@ section .text libz_strlen: sub rsp, 8 ;enter + push rdi + + mov r10, rdi _loop67865432: @@ -19,5 +22,7 @@ _exitloop4323567: mov rax, rdi + pop rdi + add rsp, 8 ;exit ret