SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: Ajovtic en Lunes 28 de Marzo de 2011, 16:36

Título: Programas con Mips
Publicado por: Ajovtic en Lunes 28 de Marzo de 2011, 16:36
Buenos días a todos.
Resulta que acabo de introducirme con el lenguaje ensamblador, y la verdad, estoy teniendo varios problemas.
Necesito un determinado código que me permita calcular lo siguiente:
si yo le doy de entrada un número necesito que me devuelva este número multiplicado por sus antecesores, es decir, su factorial. Si por ejemplo escribo 5 me devolvería:
5*4*3*2*1
o si es 7:
7*6*5*4*3*2*1
y así con cualquier número.
Supongo que debo hacerlo por recursión, pero no tengo nada claro como lograrlo.
Por si a alguien le interesa, uso el programa Mars.
Gracias y un saludo.
Título: Re: Programas con Mips
Publicado por: BerserkO en Viernes 22 de Abril de 2011, 22:21
factorial:
cmp temp_645, 10
jz fin
inc temp_645
mul temp_645
mov ecx, temp_645
mov res_645, ecx
mov edx, res_645
call WriteInt
mov edx, offset msg1
call WriteString
loop factorial

asi es mas o menos la idea
Título: Re: Programas con Mips
Publicado por: m0skit0 en Sábado 23 de Abril de 2011, 13:40
Aquí no se hace la tarea, así que si nos muestras qué llevas hecho y las dudas que tienes pues mejor. Si no puedes mirar el ejemplo en IA32 que te ha dejado BerserkO.

Saludos