Entradas

4.3 Lenguaje máquina

  4.3 Lenguaje Máquina Es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. El lenguaje máquina solo es entendible por las computadoras. Se basa en una lógica binaria de 0 y 1, generalmente implementada por mecanismos eléctricos. En general el lenguaje maquina es difícil de entender para los humanos por este motivo hacemos uso de lenguajes más parecidos a los lenguajes naturales. Se denomina lenguaje máquina a la serie de datos que la parte física de la computadora o hardware, es capaz de interpretar. El lenguaje máquina fue el primero que empleo el hombre para la programación de las primeras computadoras. Una instrucción en lenguaje máquina puede representarse   de   la   siguiente   forma:  011011001010010011110110.   Esta   secuencia   es fácilmente ejecutada por la computadora, pero es de difícil interpretación, siendo aún más difícil la interpretación de un programa (con...

Conceptos utilizados en el contexto de la programación en ensamblador para procesadores x86

 Conceptos utilizados en el contexto de la programación en ensamblador para procesadores x86: 1. `mov` El comando `mov` se utiliza para mover datos de un lugar a otro. Se copia el valor de una fuente a un destino. No afecta los registros de la CPU de bandera (flags). Ejemplo: mov ax, bx  ; Mueve el valor del registro BX al registro AX mov [destination], ax  ; Mueve el valor del registro AX a la memoria en la dirección 'destination' 2. `call` El comando `call` se utiliza para llamar a una subrutina o función. Guarda la dirección de retorno en la pila antes de transferir el control a la dirección de la subrutina especificada. Ejemplo: call subroutine_label  ; Llama a la subrutina en 'subroutine_label'  3. `int 21h` El comando `int` se utiliza para generar una interrupción de software. `int 21h` es una interrupción del DOS (Disk Operating System) que proporciona varias funciones para realizar operaciones de entrada/salida y del sistema. Ejemplo: mov ah, 09h  ;...

Código de división, multiplicación, suma y resta en EMU8086

                                                 .model small .stack 100h .data     msg1 db 10,13,      "1.- Realizar Suma",0DH,0AH,"$"     msg2 db             "2.- Realizar Resta",0DH,0AH,"$"     msg3 db             "3.- Realizar Multiplicacion",0DH,0AH,"$"     msg4 db             "4.- Realizar Division",0DH,0AH,"$"     msg5 db             "5.- Salir",0DH,0AH,"$"           n1 db "1.- Edinson Yahir Sanchez Velazquez"           msg7 db             "!! Seleccione una opcion del menu !!",0DH,0AH,"$"           num1 db 10,13,    "Ingrese el...

Traducción del video en ingles

En muchos sentidos, nuestros recuerdos nos representan, nos ayuda a recordar nuestro pasado, aprender y mantener habilidades, y planificar el futuro. Y para la computadora que actúa como una extensión de nosotros mismos, la memoria juega el mismo papel, sea que se trata de una película de dos horas, un archivo de texto de dos palabras, o las instrucciones para ponerla en marcha; y toda su memoria tiene como unidades básicas las denominadas bits o dígitos binarios. Cada uno de estos se almacena en una celda de memoria cuyo estado puede variar entre dos valores posibles, 0 y 1. Los archivos y los programas contienen millones de estos bits, que están procesados dentro de la unidad de procesamiento central, o CPU, que actúa como el cerebro de la computadora. Y conforme crece exponencialmente la cantidad de bits que procesan, los diseñadores de computadoras intentan constantemente solucionar el problema del tamaño, costo y velocidad. Al igual que nosotros, las computadoras tienen memoria a ...

Exposición de Optimizaciones

  Exposición de Optimizaciones

3.2.1 Costo de ejecución. (memoria, registros, pilas).

  3.2.1 Costo de ejecución. (memoria, registros, pilas).

3.1 tipos de Optimización

Imagen
  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. Optimización Local • Las optimizaciones locales se realizan sobre el bloque básico • Optimizaciones locales – Folding – Propagación de constantes – Reducción de potencia – Reducción de subexpresiones comunes Bloque Básico • Un bloque básico es un fragmento de código que tiene una única entrada y salida, y cuyas instrucciones se ejecutan secuencialmente. Implicaciones: – Si se ejecuta una instrucción del bloque se ejecutan todas en un orden conocido en tiempo de compilación. • La idea del bloque básico es encontrar partes del programa cuyo análisis necesario para la optimización sea lo más simple posible. ...