Archivo de la categoría: programación en assembly

Programación en lenguaje máquina usando Assembly.

li, bne, j, mul, div – assembly (ecuacion de primer grado)

El problema planteado se trata en hallar la solución a una ecuación de primer grado ( ax + b = 0 )

El siguiente programa hace uso de las instrucciones li, bne, j, mul, div

LBN: Lenguaje de Bajo Nivel (programación 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 código Assembly calcula la solución de una ecuación de primer grado

  • La instrucción li, hace una carga a un registrador normalmente para indicar una acción al sistema mediante una llamada syscall o simplemente cargar un entero
  • La instrucción bne, hace referencia a if (a != b)
  • La instrucción j, hace un salto a otro bloque
  • La instrucción mul, efectúa un producto entre dos registradores o registrador valor
  • La instrucción div, efectúa una división entre dos registradores o registrador valor

Descargue aqui el codigo assembly completo de este ejercicio.

Reto

Quiero hacer este programa… Pero ¿Cómo funciona?

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

Simulación

ESCUCHANDO


Suscribete a nuestro canal

AMPLIAR ESCUCHANDO

programacion assembly: ecuacion de primer grado
Figura. programacion assembly: ecuacion de primer grado

EVALUAR APLICANDO
BUENAS PRÁCTICAS

Un programa se rige por bytes y sigue las leyes de programación de la unidad aritmética y la unidad lógica. Esto quiere decir que cuando un programa falla es un fallo de programación aunque en ocasiones es por culpa de agentes externos, por ejemplo, caidas de energia. El programador debe hacer todas las posibles validaciones antes de considerar un programa listo para producción. La unidad aritmética divide pero no entiende la división por cero, el humano debe tener esta consideración.

[Tweet «»Todo lo que puede pasar, pasa» #Tutorias ☺»]