Allthough more used in hardware, error checking and correcting algorithms also exists as software solutions. that's why I add a separate section on my website for ECC. There are not much examples but from time to time I got more interest in this matter and I shall add more examples in the future. The examples are demonstrations special the parity bit ones.
One project I've made using modulo 97 error checking. For non-Belgian citizens is this a way to watch and learn how an implementation mod 97 is done. For the Belgian readers amongst u the project offers several tools to check Begian id cards numbers, drivers licenses, banc account numbers, rijksregister numbers, SIS card numbers, VAT numbers, structured messages. The project is designed to use a template for the general code and separate .asm files for the details. I think it's quite interesting to read them if you are an intermediate assembly language programmer. All examples can be build with the makefile below and downloaded on github.
BIN=checkparity calculateparity hammingcode NASM=/usr/bin/nasm NASMOPTS=-felf64 -Fdwarf LDOPS=-melf_x86_64 -g .PHONY: all clean all: $(BIN) clean: rm -rf $(BIN) %: %.asm $(NASM) $(NASMOPTS) -o $@.o $< $(LD) $(LDOPS) -o $@ $@.o rm -f $@.o