Hola Farmada!
Por mucho tiempo busqué la misma respuesta, y la mejor solución es programar en C...
Hay rutinas en asembler para esto, pero son complicadas y cuando te das cuenta te ocupan toda la memoria del micro. Podés hacer "trampa" usando tablas y cosas asi, pero con el tiempo te das cuenta de que los resultados no son satisfactorios
Al principio miraba con recelo al C; ahora me arrepiento de no haberle dado importancia antes...
No es para desanimarte, pero es asi.
Bueno, despues de todo, los programas que escribas en C se traducen a asembler (mejor dicho a código máquina o hexa); por lo tanto tiene que haber una solución en asembler. El tema es encontrarla.
No hay vuelta que darle, dijo el que dormía sobre un muro
Saludos