Entradas

Descripción del código en lenguaje ensamblador

Imagen
  Este es un código ensamblador que imprime "¡Hola mundo!" a la consola y sale.   Explicación de cada línea:                    section .data                                   msg db "Hello world!", 0ah   Esto declara una sección del programa que contiene datos inicializados. En este caso, define una variable de cadena llamada msg que contiene el mensaje "¡Hola mundo!" seguido de un carácter de nueva línea (0ah).                                                 section .text                                                       global _start       ...

4. Generación de código objeto

Imagen
  4.1 Registros ¿Qué son? Los registros son la memoria principal de la computadora. Existen diversos registros de propósito general y otros de uso exclusivo. Algunos registros de propósito general son utilizados para cierto tipo de funciones. Existen registros acumuladores, puntero de instrucción, de pila, etc.   Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee.   ¿Quiénes lo utilizan?   Antes de nada, para el desarrollo de esta parte hablaremos indistintamente de registros de activación o de marcos de pila. Esto se debe a que en la documentación encontrada sobre el manejo de los registros ebp y esp se hace mención a dicho concepto de marco de    pila.    Puesto    que    el    lenguaje    permite    recursividad,    los    registros    de    a...

Programa Optimizado

Imagen
  Código:   Código optimizado: En este ejercicio apliqué la optimización local ya que solo realicé la reducción de expresiones y el uso de ciertas propiedades de operadores.

OPTIMZACIÓN

Imagen
 3.1 Tipos de optimización Optimizaciones Globales Optimizaciones de Ciclo Optimización de Mirilla Optimizaciones Locales La optimización es un proceso que tiene a minimizar o maximizar alguna variable de rendimiento, generalmente tiempo, espacio, procesador, etc. La optimización se realiza reestructurando el código de tal forma que el nuevo código generado tenga mayores beneficios. La optimización busca mejorar la forma en que un programa utiliza los recursos. Las optimizaciones se realizan en base al alcance ofrecido por el compilador. La optimización va a depender del lenguaje de programación y es directamente proporcional al tiempo de compilación; es decir, entre más optimización mayor tiempo de compilación. Existen diversas técnicas de optimización se pueden clasificar o dividir de diversas formas: 1)      Dependientes de la maquina: técnicas que solo se pueden aplicar a una determinada maquina objeto. 2)     Independiente...

2.3.6 Estructuras

  Las estructuras de datos se emplean con el objetivo principal de organizar los datos contenidos dentro de la memoria del ordenador. Así, nuestra primera experiencia con estructuras comienza desde el momento mismo en que usamos en nuestros programas variables de tipos primitivos (char, short, int, float, etc). A la memoria del ordenador se le puede considerar como un gran bloque compuesto por una serie de BYTES dispuestos secuencialmente uno detrás de otro. por ejemplo, si un ordenador posee una memoria de 128MB (128 megas) entonces se le puede leer o escribir desde el BYTE 0 hasta el BYTE 128MB - 1 ( 0000000H .. 7FFFFFFH ) La idea de ver la memoria como un serie de bytes es buena, sin embargo no es suficiente ya que en la misma podemos guardar números, cadenas de caracteres, funciones, objetos, etc. de tal manera que surge la necesidad de establecer los mecanismos adecuados para dar cuenta de la forma, tamaño y objetivo de los datos almacenados. Según el tipo de micropr...

2.3.5 Funciones

Imagen
    Las funciones pueden reducir a en línea, lo que se hace que expandir el código original de la función. Las funciones se descomponen simplificando los parámetros de manera individual al igual que el valor de retorno.  Entendemos que es el uso de la lengua que hace un hablante. En simples palabras, las funciones del lenguaje son los diferentes objetivos, propósitos y servicio que se le da al lenguaje al comunicarse, dándose una función del lenguaje por cada factor que tiene éste, en donde la función que prevalece es el factor en donde más se pone énfasis al comunicarse. Diversos lingüistas (Karl Bühler, Roman Jakobson, Michael Halliday ) han propuesto distintas clasificaciones de las funciones del lenguaje: Bühler propuso que existían únicamente tres funciones: La Representativa (por la cual se trasmiten informaciones objetivamente) La Expresiva o emotiva (que expresa sentimientos del emisor) La Conativa, mediante la que se influye en el receptor del mensaje a través de...

2.3.4 Instrucción de control

Imagen
  Permiten variar o alterar la secuencia normal de ejecución de un programa. Tipos: ·           Instrucciones condicionales o alternativas- ·           Instrucciones de salto. ·           Instrucciones repetitivas. Esta forma de programación sólo permite resolver problemas sencillos. Para resolver problemas más complejos, nos puede interesar que dependiendo de los valores de los datos, se ejecuten unas instrucciones u otras. Las instrucciones condicionales nos van a permitir representar éste tipo de comportamiento. Sentencias IF y SWITCH. En otros casos, nos encontraremos con la necesidad de repetir una instrucción o instrucciones un número determinado de veces. En éstos casos utilizaremos instrucciones de control iterativas o repetitivas (ciclos). Sentencias WHILE, DO-WHILE y FOR. En los lenguajes de programación hay estructuras y operadores que pe...