Archivo de la etiqueta: assembly

lw, la, li, bne, slt, j, div, mflo, mfhi – assembly (el cambio optimo)

El problema planteado consiste en hallar el cambio óptimo en monedas de 1000, 500, 200 y 100 usando el lenguaje de programación assembly.

El siguiente programa hace uso de las instrucciones lw, la, li, bne, slt, j, div, mflo, mfhi

Para calcular el cambio optimo usando código ensamblador, lo primero que se debe hacer es entender el problema, plantear la solución, imaginar el algoritmo y luego usar la arquitectura de su computador para crear el código. Si necesitas referencias sobre este algoritmo en LAN, encuentralo usando el buscador de esta pagina.

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 pide al usuario que ingrese el valor a devolver y luego muestra como resultado la cantidad necesaria de cada denominacion de moneda.

  • La instrucción lw, hace una carga de valor a un registrador
  • La instrucción la, hace una carga de texto a un registrador
  • La instrucción li, hace una carga a un registrador normalmente para indicar una acción al sistema mediante una llamada syscall
  • La instrucción slt, tiene la funcionalidad de: if(a < b)
  • La instrucción bne, tiene la funcionalidad de: if(a != b)
  • La instrucción j, jumper, hace un salto a una determinada linea de codigo
  • La instrucción div efectúa una división entre dos registradores
  • La instrucción mflo toma la parte entera del resultado de la división
  • La instrucción mfhi toma el residuo del resultado de la división

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

assembly
Figura. programacion assembly: el cambio optimo