This is a very simple and generic implementation of the russian multiplication method for the Z80 CPU, designed to deal with 16-bits multiplications.
The file mul.cc
contains a generic C++ implementation of the russian algorithm with some unit tests.
The file mul.asm
contains a hand-written (not tested) implementation of the algorithm in Z80 assembly, based on the C++ version.