Skip to content

mazoti/adler32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adler32

Assembly project in various operating systems and architectures

FreeBSDNetBSDOpenBSDAlpine LinuxDebianManjaroWindows

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.

Installation

All you need is the adler32 binary file of your architecture and operating system.

Binaries can be downloaded here.

Usage:

On command line:

adler32 <filepath>

Requirements:

  • 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.

Build from source:

  • 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!

Donations

You can become a sponsor of this project or donate directly:

BTC: 3JpkXivH11xQU37Lwk5TFBqLUo8gytLH84

License

Thanks for your time and have fun!

About

Assembly project in various OSs and architectures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published