From a8ca687718c1ebc1352fe50fb17b73f5493b6826 Mon Sep 17 00:00:00 2001 From: wullie Date: Wed, 25 Mar 2026 19:29:57 +0000 Subject: [PATCH] Upload files to "src" --- src/fstatStruct.asm | 32 +++++++++++++++++++++ src/main.asm | 69 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 src/fstatStruct.asm create mode 100644 src/main.asm diff --git a/src/fstatStruct.asm b/src/fstatStruct.asm new file mode 100644 index 0000000..3bc5105 --- /dev/null +++ b/src/fstatStruct.asm @@ -0,0 +1,32 @@ +// this code is licenced under Wrathmark licence +// © 2026 wullie wulliestudio.com +// please see attached licence for full usage and rights + + +// if file name and lable aint fucking clear enough +// this is the struct used for the fstat syscall +fdatstruct: + .set set_dev dw ? + .set pad1 dw ? + .set st_ino dd ? + .set st_mode dw ? + .set st_nlink dw ? + .set st_uid dw ? + .set st_gid dw ? + .set st_rdev dw ? + .set pad2 dw ? + .set st_size dd ? + .set st_blksize dd ? + .set st_block dd ? + + .set st_atime dd ? + .set unused1 dd ? + + .set st_mtime dd ? + .set unused2 dd ? + + .set st_ctime dd ? + .set unused3 dd ? + .set unused4 dd ? + .set unused5 dd ? + diff --git a/src/main.asm b/src/main.asm new file mode 100644 index 0000000..3986d2b --- /dev/null +++ b/src/main.asm @@ -0,0 +1,69 @@ +// this code is licenced under Wrathmark licence +// © 2026 wullie wulliestudio.com +// please see attached licence for full usage and rights + +.data + fd: + buf: + FsPoint: + + //temp + count: 1024 + + + +// entry point for wcc +.global _start + +_start: + // gets args + pop %rax + mov %rax, %rbp + + // moves args into the file desciptor + movq %rbp, $fd + + // removes value form registers + pop %rbp + pop %rax + + call _exit + + +// exit function +_exit: + mov $60, %rax + mov $0, %rdi + syscall + +// idk fucking read +_GetFileSize: + mov $5, %rax + mov $fd, %rdi + + syscall + +// open a file +_Open: + mov $2, %rax + mov $fd , %rdi + mov $1, %rsi + syscall + +// closes the file +_Close: + mov $3, %rax + mov $fd , %rdi + syscall + ret + +// reads a file +_Read: + mov $0, %rax + mov $fd, %rdi + mov $buf, %rsi + //tmp + mov $count, %rdx + syscall + +