57 lines
802 B
NASM
57 lines
802 B
NASM
extern puts
|
|
extern libz_strcmp
|
|
|
|
section .data
|
|
tempstore db 0
|
|
tempstore2 db 0
|
|
argument_error db "Argument Error!... either too many args or too little please fix", 0
|
|
differ db "they differ",0
|
|
notdiffer db "they do not differ",0
|
|
section .text
|
|
global main
|
|
|
|
main:
|
|
sub rsp, 8 ;enter
|
|
|
|
cmp rdi, 3
|
|
jne _argument_error
|
|
|
|
add rsi, 8
|
|
mov r8, [rsi]
|
|
mov r9, [r8]
|
|
mov [tempstore], r8
|
|
|
|
add rsi, 8
|
|
mov r8, [rsi]
|
|
mov [tempstore2], r8
|
|
|
|
|
|
mov rdi, [tempstore]
|
|
mov rsi, [tempstore2]
|
|
call libz_strcmp
|
|
|
|
cmp r10b, 1 ;why tf did i make ut r10b as the return like tf?!?!?!?
|
|
jz _notdiffer
|
|
|
|
|
|
_differ:
|
|
mov rdi, differ
|
|
cld
|
|
call puts
|
|
jmp _end
|
|
|
|
_notdiffer:
|
|
mov rdi, notdiffer
|
|
cld
|
|
call puts
|
|
|
|
_end:
|
|
add rsp, 8 ;exit
|
|
ret
|
|
|
|
_argument_error:
|
|
mov rdi, argument_error
|
|
cld
|
|
call puts
|
|
|
|
jmp _end
|