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.
Quiero hacer este programa… Pero ¿Cómo funciona?
La ejecución paso a paso del programa la puede ver en la
eoria
Aclare algunos conceptos
est
Tómese únicamente 90 segundos
ablero
Comparte tu Algoritmo
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 ☺»]