Hola señores, soy nuevo en este tema de programación de micro-controladores, tengo que hacer un programa que multiplique o divida o eleve a la potencia dos números de acuerdo a unas condiciones iniciales.
El problema es con el elevar un x número a una x potencia, he intentado hacerlo con multiplicaciones sucesivas, es decri muchas sumas decisivas, pero no me funciona en todos los casos; la potencia en el programa siempre se hara si los dos números son iguales y son distintos a cero, cuando los numeros son 1 y 2, me da bien pero en números mayores como 3 y 4 no, así que por favor les pido que me oriente un poco en este apartado, tal vez estoy fallando en el número de veces que se debe multiplicar, es decir el conteo del exponente.
Esta es la parte del programa que me efectúa la potencia
POTENCIA CLRF CONTADOR
INCF EXPONENTE, 1
MOVF NUM1, 0
SUBWF EXPONENTE, 0
BTFSC STATUS, Z
GOTO OK
GOTO POT_2
OK MOVF NUM2, 0
MOVWF PORTC
GOTO LECTURA
POT_2 INCF CONTADOR, 1
MOVF NUM1, 0
SUBWF CONTADOR, 0
BTFSC STATUS, Z
GOTO POTENCIA
MOVF NUM1, 0
ADDWF NUM2, 1
GOTO POT_2
Exponente y contador están previamente definidos como 0x00