Tema IV: Proyecto final - Axelrpg/Lenguajes-de-interfaz GitHub Wiki

Resumen

Se trata de un programa que permite al usuario ingresar una serie de números y luego muestra la suma total de esos números. El programa utiliza interrupciones del sistema operativo para mostrar mensajes en pantalla, leer la entrada del usuario y realizar operaciones aritméticas para calcular la suma. Además, incluye funciones para convertir la suma en una cadena de caracteres y mostrarla al usuario.

Objetivo

Resolver la problematica planteada.

Introducción

El proyecto trata de resolver la problematica de crear un programa que permita al usuario ingresar una serie de números hasta que el usuario lo desee, cuando termine de ingresar los números, el programa deberá realizar la suma de todos esos números ingresados y mostrar el resultado en la consola.

Metodología

Código

image

En la sección .data, se definen las cadenas de texto utilizadas para solicitar al usuario la cantidad de números a sumar, ingresar cada número y mostrar el resultado. Las variables len_amount, len_number y len_result almacenan las longitudes de estas cadenas.

En la sección .bss, se reservan espacios de memoria para almacenar la cantidad de números a sumar (amount), cada número ingresado (number), la suma total (sum) y una cadena de texto para mostrar el resultado (str_suma).

En la sección .text, se encuentra el punto de entrada del programa (_start).

El programa solicita al usuario que ingrese la cantidad de números a sumar utilizando la llamada al sistema write (interrupción 0x80). Luego, lee la cantidad ingresada por el usuario utilizando la llamada al sistema read.

A continuación, se inicializa la suma total (sum) y un contador (number) a cero.

El programa entra en un bucle llamado input_loop, que solicita al usuario que ingrese cada número a sumar y lo convierte de carácter a entero utilizando operaciones aritméticas. Luego, resta 1 a la cantidad de números restantes y verifica si aún quedan números por sumar.

Una vez que se han sumado todos los números, el programa muestra el mensaje de resultado y convierte la suma en una cadena de texto utilizando operaciones aritméticas. Luego, muestra la cadena resultante en la salida estándar.

Por último, se muestra un salto de línea y se realiza la llamada al sistema exit para finalizar la ejecución del programa.

Resultados

image

Análisis

El resultado no fue el esperado en su totalidad, pero se logró obtener un resultado mínimo que permite resolver parte de la problematica planteada.

Conclusiones

El desarrollo de este proyecto ha demostrado la aplicación y consolidación de los conocimientos adquiridos en la materia de lenguajes de interfaz. A través de la implementación del código en lenguaje ensamblador x86, se ha puesto en práctica la comprensión de los conceptos fundamentales de este lenguaje, incluyendo la manipulación de variables, las operaciones aritméticas y las interacciones con el sistema operativo mediante interrupciones.

Este proyecto ha sido una valiosa oportunidad para aplicar y fortalecer los conocimientos adquiridos en la materia de lenguajes de interfaz, proporcionando una experiencia práctica en el desarrollo de programas en lenguaje ensamblador y afianzando las habilidades necesarias para trabajar con este tipo de lenguajes de programación.

Referencias

  • N/A