Hola, cuando dices regulables.... esto con qué lo modificas; con un potenciometro en el Adc del micro o con interruptores?
Creo que podrías montar retardos e irlos llamando, con contadores, para tu trabajo... el mas facil es el nop... y entonces hacer un contador que haga noP n número de veces dependiendo del cristal que utilices..
compa: sta cont;
bne 0, retardo; //branc if no equal si no es o brinca a subr retardo
RTS; // regresa al programa principal
retardo: dec cont; // decrementa contador
nop // no operación..
bsr compa; // regresa a hacer otro ciclo de retardo
creo que podría ser una forma, entonces cont le asignas un valor afuera de esa subrutina y le pones un número conforme al número de ciclos que necesites, no estoy muy seguro de los comandos pero yo intentaría por ese lado...
Te parece?
// Yo trabajé con esos hace años y medio me acuerdo de cositas, pero creo que para lo tuyo puedes aplicar eso //