A lightweight x86-64 Linux system information tool written entirely in NASM Assembly. No C runtime, just pure syscalls.
AsmSys is in early development. It currently reads real system information directly from the Linux kernel using x86-64 system calls.
- Hostname
- Kernel version
- Architecture
- System uptime
- CPU information
- Memory information
- Disk information
- Command-line flags
- Cleaner terminal formatting
- Linux x86-64
- NASM
- GNU
ld - GNU Make
git clone https://github.com/ish4ra/AsmSys.git
cd AsmSys
makeRun it with:
./asmsysOr:
make runAsmSys
Hostname : my-linux-pc
Kernel : 6.x.x
Architecture : x86_64
CPU : Example x86-64 Processor
Memory : 2048 MiB / 8192 MiB
Disk / : 42 GiB / 120 GiB
Uptime : 2d 4h 17m
Values are read from the machine running AsmSys.
AsmSys/
├── src/
│ └── main.asm
├── Makefile
├── .gitignore
└── README.md
AsmSys does not use libc. The program starts at _start and communicates with Linux directly through x86-64 system calls.
The current implementation uses uname for hostname, kernel and architecture information, reads the CPU model from /proc/cpuinfo, and uses sysinfo for memory and uptime.
A license will be added before the first stable release.
./asmsys --cpu
./asmsys --memory
./asmsys --disk
./asmsys --all
./asmsys --help
./asmsys --version
Running ./asmsys without an option displays the full system summary.
Every push and pull request to main is built automatically with GitHub Actions. The workflow assembles and links AsmSys, then runs basic command-line smoke tests.
Current development version: v0.1.0