The text and code examples below are from an article I had published in Dr. Dobbs Journal a couple years ago.
The assembly code is native TI DSP code implementing a number of popular audio effects for TI's $99 DSK evaluation kit. The processor was an integer 320C26 unit, and as such required careful attention to scaling and normalization of all operands to maintain precision and avoid overflow.
The C code implements the same audio effects plus a few more using a
PC's x86 processor as the digital signal processor talking to an
Analog Devices 1848 codec. This chip was used on the Microsoft
Windows Sound System card and assorted clones. This code takes advantage
of the fact that coprocessor-assisted floating point is quite fast
and thus avoids obfiscating the algorithms with all the bit shifting
and normalization of the integer assembly examples.