That Microchip application note on math operations for 8 bit assembly is a must read. They have a really nice division routine I've used, highly compact. I've extended it myself to 32 bit division and it's still relatively short. Though, I much prefer the 16 bit devices over the 8 bit devices so I haven't used those routines much. I only use the 8 bit devices for the most simple of tasks, which has not been often.
That's one thing (among many) that can be said for the 16 bit devices, they use a hardware divider. That's typcially something transparent when writing code in a higer level language, but for assembly, it makes things much simpler. I'm probably unusual in that I actually code 16 bit devices in assembly. Most people probably use C which eliminates the need to deal with complex math algorithms or hardware accumulators.
That's one thing (among many) that can be said for the 16 bit devices, they use a hardware divider. That's typcially something transparent when writing code in a higer level language, but for assembly, it makes things much simpler. I'm probably unusual in that I actually code 16 bit devices in assembly. Most people probably use C which eliminates the need to deal with complex math algorithms or hardware accumulators.