programacion assembly: numeros perfectos

li, bne, move, div, mfhi – assembly (numeros perfectos)

El problema planteado es el siguiente: Determinar los numeros perfectos entre el 1 y el 500. Un numero es perfecto si la suma de sus divisores(excluido el) es igual al numero. Ej: 6 = 3 + 2 + 1

El siguiente programa hace uso de las instrucciones li, bne, move, div, mfhi

LBN: Lenguaje de Bajo Nivel (programacion mas cerca del hardware, de los circuitos, de los componentes, de las cosas).

Programar a bajo nivel significa andar de la mano con su hardware, entender cada valor que almacene su programa a donde va a parar en su disco duro (direccion exacta en memoria).

Este programa en codigo Assembly calcula los numeros perfectos entre el 1 y el 500.

  • La instruccion li, hace una carga a un registrador normalmente para indicar una accion al sistema mediante una llamada syscall o simplemente cargar un entero
  • La instruccion bne, tiene la funcionalidad de: if(a != b)
  • La instruccion move, mueve un valor de registrador a registrador
  • La instruccion div, efectua una division
  • La instruccion mfhi, captura el modulo de una division

Descargue aqui el codigo assembly completo de este ejercicio.

User

¿Y cómo funciona el programa?

La ejecución paso a paso del programa la puede ver en la

Simulación

ESCUCHANDO


Suscribete a nuestro canal

AMPLIAR ESCUCHANDO

programacion assembly: numeros perfectos
Figura. programacion assembly: numeros perfectos




Tutorias relacionadas:


¡Comparte ya lo que estudias!

Tweet about this on Twitter0Share on Facebook0Share on Google+2Pin on Pinterest0Share on Tumblr0

Deja un comentario

Tu dirección de correo electrónico no será publicada.