extern puts extern length_func extern tolower extern diff_func section .data text db "rEEEeee!EEeeeEeEEeE!EEEEEeEEE$eeeEE)EEeEeEEeeeEeEEEEEeeeEeeEeeEeeeeeEeEeEeeE",0 text2 db "reee",0 stoer db "0",0 differ db "they differ",0 notdiffer db "they dont differ",0 section .text global main main: sub rsp, 8 ;enter mov rdi, text call tolower mov rdi, text cld call puts ;this is the puts way of printing a string mov rdi, text2 call length_func add [stoer], rax mov rdi, stoer cld call puts mov rdi, text mov rsi, text2 call diff_func cmp rax, 1 je _differ jmp _notdiffer _differ: mov rdi, differ cld call puts jmp _end _notdiffer: mov rdi, notdiffer cld call puts _end: add rsp, 8 ;exit ret