2. Lenguaje ensamblador: es un tipo de lenguaje
de bajo nivel utilizado para escribir programas
informáticos, y constituye la representación más
directa del código máquina específico para cada
arquitectura de computadoras legible por un
programador.
3. Por ejemplo cuando: Es requerido un ejecutable binario
independiente (stand-alone), es decir uno que deba ejecutarse
sin recursos a componentes de tiempo de ejecución o a
bibliotecas asociadas con un lenguaje de alto nivel. programas
empotrados que solo almacenan una pequeña cantidad de
memoria y el dispositivo está dirigido para hacer tareas para un
simple propósito.
4. Es cuando se Interactúan directamente con el hardware,
por ejemplo en drivers de dispositivo.
Tiempo real: Industria y manufactura, control de robots.
Entretenimiento: Graficacion, Multimedia, Videojuegos
5. Se tratan de lenguajes independientes de la arquitectura del
ordenador. Por lo que, en principio, un programa escrito en un
lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin
ningún tipo de problema.
6. Son lenguajes totalmente dependientes de la máquina, es decir que
el programa que se realiza con este tipo de lenguajes no se pueden
migrar o utilizar en otras máquinas.
Al estar prácticamente diseñados a medida del hardware,
aprovechan al máximo las características del mismo.
Dentro de este grupo se encuentran:
El lenguaje maquina
El lenguaje ensamblador
7. Este lenguaje ordena a la máquina las operaciones fundamentales
para su funcionamiento. Consiste en la combinación de 0's y 1's
para formar las ordenes entendibles por el hardware de la
máquina.
Este lenguaje es mucho más rápido que los lenguajes de alto
nivel.
La desventaja es que son bastantes difíciles de manejar y usar,
además de tener códigos fuente enormes donde encontrar un
fallo es casi imposible.
8. Es un derivado del lenguaje máquina y está formado por
abreviaturas de letras y números llamadas mnemotécnicos.
Con la aparición de este lenguaje se crearon los programas
traductores para poder pasar los programas escritos en
lenguaje ensamblador a lenguaje máquina. Como ventaja
con respecto al código máquina es que los códigos fuentes
eran más cortos y los programas creados ocupaban menos
memoria.
Un programa con el que podemos programar en lenguaje
ensamblador es:
9. El lenguaje ensamblador es de suma importancia ya
que éste es directamente traducible al lenguaje
máquina y viceversa, es una abstracción que facilita
su uso para el ser humano.
Nos permite además tener un control absoluto sobre
la computadora, los programas en ensamblador son
además rápidos y ultra ligeros, además ocupan casi
nada de espacio en memoria ya que no requieren la
carga de librerías complejas adicionales.
10. CPU (del inglés: Central Processing Unit) Unidad Central de
Procesamiento también conocido como microprocesador o
simplemente procesador.
Que es el procesador?
Es el circuito integrado central y más complejo de un sistema
informático conformado por millones de componentes electrónicos.
Es el encargado de ejecutar los programas, desde el sistema operativo
hasta las aplicaciones de usuario; sólo ejecuta instrucciones
programadas en lenguaje de bajo nivel, realizando operaciones
aritméticas y lógicas simples, tales como sumar, restar, multiplicar,
dividir, las lógicas binarias y accesos a memoria.
11. El microprocesador 8086 y el 8088 tienen internamente dos componentes,
la Unidad de Interfaz del Bus y la Unidad de ejecución (Bus Interface Unit
(BIU) y Execution Unit (EU)). La unidad de ejecución es la encargada de
realizar todas las operaciones mientras que la unidad de interfaz del bus
es la encargada de acceder a datos e instrucciones del mundo exterior.
En la siguiente diapositiva se mostrara una imagen de como esta
estructurado como dividido en bloques.
12.
13. Registro AX: El registro AX es el registro acumulador, es utilizado para
operaciones que implican entrada/salida, y multiplicación y división (estas dos
últimas en conjunto con el registro DX).
Registro BX: El registro BX es el registro base, y es el único registro de propósito
general que puede ser un índice para direccionamiento indexado.
Registro CX: El registro CX es conocido como el registro contador. Puede contener
un valor para controlar el número de veces que un ciclo se repite o un valor para
corrimiento de bits.
Registro DX: El registro DX es el registro de datos. En algunas operaciones se
indica mediante este registro el número de puerto de entrada/salida, y en las
operaciones de multiplicación y división de 16 bits se utiliza junto con el
acumulador AX.
14. Para operaciones con cadenas
Registro SI: El registro índice fuente de 16 bits es requerido por
algunas operaciones con cadenas de caracteres. El SI está asociado
con el segmento DS.
Registro DI: El registro índice destino también es requerido por
algunas operaciones con cadenas de caracteres. El DI está
asociado con el segmento ES.
15. SP: El apuntador de pila de 16 bits está asociado con el
segmento SS y proporciona un valor de desplazamiento que se
refiere a la palabra actual que está siendo procesada en la pila
BP: El apuntador base de 16 bits facilita la referencia de
parámetros dentro de la pila.
16. Unidad aritmético lógica, también conocida como ALU
(siglas en inglés de arithmetic logic unit), es un circuito
digital que calcula operaciones aritméticas (como suma,
resta, multiplicación, etc.) y operaciones lógicas (si, y, o,
no), entre dos números.
17. * OF (Over flow flag, desbordamiento): Indica desbordamiento del bit de mayor orden después de
una operación aritmética de números con signo (1=existe overflow; 0=no existe overflow).
* DF (Direction flag, Direccion): Controla la selección de incremento o decremento de los
registros SI y DI en las operaciones con cadenas de caracteres (1=decremento automático;
0=incremento).
* IF (Interruption flag, Interrupcion): Controla el disparo de las interrupciones (1=habilita las
interrupciones; 0=deshabilita las interrupciones) Indica que una interrupción externa, como la
entrada desde el teclado sea procesada o ignorada.
* TF (Trap flag, Trampa): Permite la operación del procesador en modo de depuración (paso a
paso)
* SF (Sign flag, Signo): Contiene el signo resultante de una operación aritmética (0=positivo;
1=negativo).
* ZF (Zero flag, Zero): Indica el resultado de una operación aritmética o de comparación
(0=resultado diferente de cero; 1=resultado igual a cero).
* AF (Auxiliary carry flag, Acarreo auxiliar): Contiene el acarreo del bit 3. Esta bandera se
prueba con las instrucciones DAA y DAS para ajustar el valor de AL después de una suma o resta
BCD.
* PF (Parity flag, Paridad): Indica si el número de bits 1, del byte menos significativos de una
operación, es par (0=número de bits 1 es impar; 1=número de bits 1 es par).
* CF (Carry flag, Acarreo): Contiene el acarreo del bit de mayor orden después de una operación
aritmética; también almacena el contenido del último bit en una operación de desplazamiento o
de rotación.
18. CS: Registro de segmento de código: El DOS almacena la dirección
inicial del segmento de código de un programa en el registro CS.
DS: Registro de segmento de datos:
La dirección inicial de un segmento de datos de programa es
almacenada en el registro DS.
ES: Registro de segmento extra:
Algunas operaciones con cadenas de caracteres (datos de
caracteres) utilizan el registro esta de segmento para manejar el
direccionamiento de memoria.
SS: Registro de segmento de pila: El registro SS permite la
colocación en memoria de una pila, para almacenamiento
temporal de direcciones y datos.