From 14513420c3ec57ca7b833d5f1893e3a9bbc5fac9 Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Tue, 20 Aug 2024 21:39:07 +0800 Subject: [PATCH] chore: add readme --- README.md | 20 ++++++++++++++++++++ asmfetch.S | 1 + asmfetch.png | Bin 0 -> 32883 bytes 3 files changed, 21 insertions(+) create mode 100644 README.md create mode 100644 asmfetch.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..b51fb2d --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# asmfetch + +A fetch tool written in x86-64 assembly. Runs in under 250 microseconds. + +There is almost no error handling, and lots of things may break. +Please report any bugs you find. + +![Preview](/asmfetch.png) + +## Usage + +``` +$ gcc -nostdlib asmfetch.S -o asmfetch +$ ./asmfetch +``` + +## Customization + +It wasn't designed to be very customizable, but you can tweak one or two things +(including the logo) by modifying the includes in `asmfetch.S`. diff --git a/asmfetch.S b/asmfetch.S index 76965c9..d0be49c 100644 --- a/asmfetch.S +++ b/asmfetch.S @@ -23,6 +23,7 @@ .include "system.S" .include "uptime.S" +# customization .include "kernel/without_machine.S" .include "logo/fedora.S" .include "shell/path.S" diff --git a/asmfetch.png b/asmfetch.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7316936ff9cb324c1617c5c6ca2ec525d67bff GIT binary patch literal 32883 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 iU_axx>gs|tTKoe=a#jYW@Q^qF0000