Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qazcetelic/x86_64-nasm-sudoku
Sudoku solver written in x86-64 NASM assembly
https://github.com/qazcetelic/x86_64-nasm-sudoku
assembly nasm
Last synced: 10 days ago
JSON representation
Sudoku solver written in x86-64 NASM assembly
- Host: GitHub
- URL: https://github.com/qazcetelic/x86_64-nasm-sudoku
- Owner: QazCetelic
- Created: 2024-02-21T14:50:13.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-02-22T08:36:08.000Z (12 months ago)
- Last Synced: 2024-02-22T17:25:18.331Z (12 months ago)
- Topics: assembly, nasm
- Language: Assembly
- Homepage:
- Size: 43.9 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# x86_64 NASM Sudoku
Sudoku solver written in x86-64 NASM assembly.
It is statically compiled and doesn't rely on the C stdlib, but does rely on Linux syscalls for I/O and is thus incompatible with other operating systems.
The produced binary is roughly 1.5KiB.The Makefile includes instructions to build the executable yourself, but you will still need the `nasm` and `binutils` packages.
The tasks from the makefile are also used to build and test when a commit is pushed to the main branch.The execution speed heavily depends on I/O speed and how fast the system can process the syscalls.
The following chart shows the time required to process a million sudokus when loaded from a RAM disk.![](benchmark_chart.webp)
This is was my first time using assembly, and I thus kept some features outside the scope of this project to finish it in a reasonable amount of time.
It doesn't have an extensive CLI and instead relies on using a pipe to load the sudokus, nor does it do backtracking.