This is an educational open source program to calculate adler32 hash of a file or buffer in memory. It is written in assembly and tests in C.
The goal is to show how to code in assembly and in the end have a very small, fast and usefull application!
Next steps will be integration with high level programming languages.
All you need is the adler32 binary file of your architecture and operating system.
Binaries can be downloaded here.
On command line:
adler32 <filepath>
-
Nasm assembler (gas on arm)
-
Gcc (Linux), Clang (Unix) or Visual Studio Community (Windows)
-
Make tool (optional, you can run the steps manually)
The tests covers 100% of the source code.
-
Make sure the requirements above are in your path
-
Clone or download the right version that matches your system and your architecture
-
Configure the best buffer size for your system in file adler32file.asm (adler32file.s on arm)
-
Go to the source folder and type "make" ("nmake" on Windows, "gmake" on FreeBSD)
-
The release will be on "bin" folder
-
To run the tests, type "make tests" ("nmake tests" on Windows, "gmake tests" on FreeBSD). Tests don't take more than a minute
For more information about the Adler32 algorithm check RFC 1950. Feel free to use any function inside your code and be careful with optimization flags!
You can become a sponsor of this project or donate directly:
BTC: 3JpkXivH11xQU37Lwk5TFBqLUo8gytLH84
Thanks for your time and have fun!