🇬🇧 English | 🇷🇺 Русский
A simple command-line calculator written in x86-64 Assembly using raw Linux system calls (without libc).
- Integer addition
- Integer subtraction
- Integer multiplication
- Integer division
- Division-by-zero handling
- Invalid operation handling
- Manual string-to-integer conversion
- Manual integer-to-string conversion
- Raw Linux syscalls (
read,write,exit) - No libc dependency
- ANSI color support for UI elements
- Screen clearing on startup
- Exit on 'q' input at any prompt
- NASM syntax
- Linux
- NASM
- GNU LD
- GNU Make
makeManual build:
nasm -f elf64 src/main.asm -o bin/obj/main.o
ld bin/obj/main.o -o bin/out/calculatormake runor
./bin/out/calculator.
├── src/
│ └── main.asm
├── notes/
├── bin/
├── Makefile
├── LICENSE
└── README.md
This is my first calculator written entirely with raw Linux system calls.
The project was created to practice x86-64 Assembly, Linux syscalls, manual input/output handling, string parsing, and integer formatting without using the C standard library.
- Calculator on libc (System V ABI) - 🔗 asm-calc-libc
- Calculator on raw syscalls (no libc) - 🔗 asm-calc-syscall
- 16-bit BIOS calculator with custom bootloader - 🔗 asm-calc-bios
MIT

