Hola, aqui tengo una duda, estoy tratando de desarrollar un programa que logre sacar el factorial de un numero, lo estoy haciendo en turbo c, utilizando partes de codigo en ensamblador, el codigo en cuestion es el siguiente:
#include <stdio.h>
#include <conio.h>
void main(void){
clrscr();
int a, x, res;
printf("Digite el numero al cual se requiere sacar el factorial:n");
scanf("%i",&a);
printf("Digite la potencia:n");
scanf("%i",&x);
asm mov cx,x
BlockA:
asm{
mov ax,a
mul x
loop BlockA
mov res,ax
}
printf("El factorial de %i elevado a la %i potencia es: %in",a,x,res);
Acaba:
printf("Pulse una tecla para continuarn");
getch();
}
El problema es que no hace el LOOP, no se si lo estoy utilizando bien o cual es el problema, pero no sale lo unico que hace es multiplicar los valores a y x, mas no lo vuelve a hacer como lo haria si fuera un factorial, solicito su ayuda, de antemano muchas gracias, saludos