zombie-core-utils/case.asm

39 lines
758 B
NASM
Raw Normal View History

extern puts
2021-10-02 13:33:46 -04:00
extern libz_tolower
2021-09-18 06:35:54 -04:00
section .data
tempstore db 0
argument_error db "Argument Error!... either too many args or too little please fix", 0
section .text
global main
main:
2021-09-15 10:15:54 -04:00
sub rsp, 8 ;enter
cmp rdi, 2
jne _argument_error ;if its not exactly 2 then exit
add rsi, 8 ;get the second argument because the first argument is the path
mov r8, [rsi] ;this block here fenagles the pointer into memeory instead of a register
2021-11-27 04:43:03 -05:00
mov rdi, r8 ; i also really with i had the abilty to mov [thing1], [thing2]
2021-10-02 13:33:46 -04:00
call libz_tolower ;libz_tolower modifies the text you send it
2021-11-27 04:43:03 -05:00
mov rdi, rax
cld
2021-09-15 10:15:54 -04:00
call puts ;this is the puts way of printing a string
_end:
2021-09-15 10:15:54 -04:00
add rsp, 8 ;exit
ret
_argument_error:
mov rdi, argument_error
cld
call puts
jmp _end