aboutsummaryrefslogtreecommitdiff
path: root/ft_write.s
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-02-06 00:29:09 +0100
committerCharles <sircharlesaze@gmail.com>2020-02-06 00:29:09 +0100
commit0e73aff73d301aac59dd604f6137969c3e2403ce (patch)
treeadceee473f511c1286128d10f7ac704d4ba2c6f6 /ft_write.s
parent6808cd0fbd3edf68422228d2ee6a41ad70f971d5 (diff)
downloadlibasm-0e73aff73d301aac59dd604f6137969c3e2403ce.tar.gz
libasm-0e73aff73d301aac59dd604f6137969c3e2403ce.tar.bz2
libasm-0e73aff73d301aac59dd604f6137969c3e2403ce.zip
read write protection, ft_list_size, ft_list_push_front finished
Diffstat (limited to 'ft_write.s')
-rw-r--r--ft_write.s14
1 files changed, 13 insertions, 1 deletions
diff --git a/ft_write.s b/ft_write.s
index c558ab6..13f4c6a 100644
--- a/ft_write.s
+++ b/ft_write.s
@@ -12,8 +12,20 @@
global _ft_write
-; int ft_write(int, const void*, size_t);
+; int ft_write(int rdi, const void *rsi, size_t rdx);
_ft_write:
+ cmp rdx, 0
+ je FT_WRITE_NO_SIZE
+ cmp rdi, 0
+ jl FT_WRITE_ERROR
+ cmp rsi, 0
+ je FT_WRITE_ERROR
mov rax, 0x2000004
syscall
ret
+FT_WRITE_ERROR:
+ mov rax, -1
+ ret
+FT_WRITE_NO_SIZE:
+ mov rax, 0
+ ret