From 273f2b04fa941748ec7638a9505d98880869942e Mon Sep 17 00:00:00 2001 From: Prestgg1 Date: Wed, 7 Oct 2026 12:10:21 +0400 Subject: [PATCH] feat: convert SDK assembly stubs to fasm syntax, drop build step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - write.s/exit.s/fopen.s: remove GAS directives (.intel_syntax/.global/.text), fasm defaults to Intel syntax; sources are now @link include targets - lib.az: @link paths point at ./sdk/src/*.s fasm sources instead of prebuilt ./sdk/build/*.o objects - build.sh: removed; there is no assembly/build step anymore — the compiler includes the sources directly into the generated .asm --- build.sh | 18 ------------------ src/exit.s | 6 +----- src/fopen.s | 6 +----- src/lib.az | 11 +++-------- src/write.s | 8 +------- 5 files changed, 6 insertions(+), 43 deletions(-) delete mode 100755 build.sh diff --git a/build.sh b/build.sh deleted file mode 100755 index efabb8c..0000000 --- a/build.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -set -euo pipefail - -BUILD_DIR="build" -SRC_DIR="src" -mkdir -p "$BUILD_DIR" - -echo "==> Compiling Zig files to shared libraries..." - -for asmfile in "$SRC_DIR"/*.s; do - [ -f "$asmfile" ] || continue - name=$(basename "$asmfile" .s) - echo " compiling $asmfile -> $BUILD_DIR/$name.o" - as "$asmfile" -o $BUILD_DIR/$name.o -done - -echo "==> Done. Libraries in $BUILD_DIR/" -ls -la "$BUILD_DIR"/ diff --git a/src/exit.s b/src/exit.s index 6de5f94..357ad16 100644 --- a/src/exit.s +++ b/src/exit.s @@ -1,7 +1,3 @@ -.intel_syntax noprefix -.global exit -.text - exit: - mov rax, 60 + mov rax, 60 syscall diff --git a/src/fopen.s b/src/fopen.s index 73ebfa0..e12d909 100644 --- a/src/fopen.s +++ b/src/fopen.s @@ -1,8 +1,4 @@ -.intel_syntax noprefix -.global fopen -.text - fopen: - mov rax, 2 + mov rax, 2 syscall ret diff --git a/src/lib.az b/src/lib.az index 520d507..003612a 100644 --- a/src/lib.az +++ b/src/lib.az @@ -1,4 +1,3 @@ - enum FD Stdin Stdout @@ -12,16 +11,12 @@ enum FMODE NoCreate Create -@link("./sdk/build/exit.o") +@link("./sdk/src/exit.s") op exit(const int val): void -@link("./sdk/build/write.o") +@link("./sdk/src/write.s") op write(FD fd,const str val,const int size): void -@link("./sdk/build/fopen.o") +@link("./sdk/src/fopen.s") op fopen(const str val, FLAG flag, FMODE mode): File - -@link("./sdk/build/read.o") -op read(File file, const int size): str - diff --git a/src/write.s b/src/write.s index 290a8cf..7c2a7b6 100644 --- a/src/write.s +++ b/src/write.s @@ -1,10 +1,4 @@ -.intel_syntax noprefix -.global write -.text - write: - mov rax, 1 + mov rax, 1 syscall ret - -