SlideShare une entreprise Scribd logo
1  sur  20
Ramón Iván Romo Reyes
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.
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.
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
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.
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
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.
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:
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.
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.
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.
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.
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.
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.
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.
* 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.
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.
http://es.wikipedia.org/wiki/Microprocesador
http://www.alpertron.com.ar/8088.HTM
http://es.wikipedia.org/wiki/Unidad_aritm%C3%
A9tico_l%C3%B3gica
http://www.monografias.com/trabajos7/regi/re
gi.shtml
http://es.wikipedia.org/wiki/8086
Lenguaje ensamblador y Estructura del CPU

Contenu connexe

Tendances

Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Estrategias de administración de memoria de vicente perez 20270791 (78)
Estrategias de administración  de memoria de vicente perez 20270791 (78)Estrategias de administración  de memoria de vicente perez 20270791 (78)
Estrategias de administración de memoria de vicente perez 20270791 (78)Vicente Perez Moreno
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de softwareGeorge Corona
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraAlexandraMolinaSanchez
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico maryr_
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChaconPau22
 
Introduccion a los sistemas operativos
Introduccion a los sistemas operativosIntroduccion a los sistemas operativos
Introduccion a los sistemas operativosFriky Equis De
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!romo91
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 

Tendances (20)

Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Estrategias de administración de memoria de vicente perez 20270791 (78)
Estrategias de administración  de memoria de vicente perez 20270791 (78)Estrategias de administración  de memoria de vicente perez 20270791 (78)
Estrategias de administración de memoria de vicente perez 20270791 (78)
 
Ensambladores
EnsambladoresEnsambladores
Ensambladores
 
Tecnologias de desarrollo web
Tecnologias de desarrollo webTecnologias de desarrollo web
Tecnologias de desarrollo web
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de software
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
GRAMATICAS AMBIGUAS
GRAMATICAS AMBIGUASGRAMATICAS AMBIGUAS
GRAMATICAS AMBIGUAS
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChacon
 
Introduccion a los sistemas operativos
Introduccion a los sistemas operativosIntroduccion a los sistemas operativos
Introduccion a los sistemas operativos
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Analisis lexico automatas i
Analisis lexico automatas iAnalisis lexico automatas i
Analisis lexico automatas i
 

En vedette

Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensambladoriagardea
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assemblerANDREA
 
5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas5154 Tema3 Jose Rojas
5154 Tema3 Jose RojasJose Rojas
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfazLuiS YmAY
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!romo91
 
Módulo 1 estructura de la cpu
Módulo 1   estructura de la cpuMódulo 1   estructura de la cpu
Módulo 1 estructura de la cpuJOSE MENDOZA
 
Como funciona una computadora1
Como funciona una computadora1Como funciona una computadora1
Como funciona una computadora1chichis-26
 
Exposiciòn Grupo 6 Estructura de la Cpu
Exposiciòn Grupo 6 Estructura de la CpuExposiciòn Grupo 6 Estructura de la Cpu
Exposiciòn Grupo 6 Estructura de la Cpubrylejo
 
Estructura Del Sistema InformáTico Detalle
Estructura Del Sistema InformáTico   DetalleEstructura Del Sistema InformáTico   Detalle
Estructura Del Sistema InformáTico Detallepainni
 
Estructura interna del cpu
Estructura interna del cpuEstructura interna del cpu
Estructura interna del cpualumnossanluis98
 
Funciones del lenguaje ensamblador
Funciones del lenguaje ensambladorFunciones del lenguaje ensamblador
Funciones del lenguaje ensambladorAna Velazquez
 

En vedette (20)

Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 
5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas
 
Data segment
Data segmentData segment
Data segment
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADORFUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!
 
Cpu
CpuCpu
Cpu
 
Módulo 1 estructura de la cpu
Módulo 1   estructura de la cpuMódulo 1   estructura de la cpu
Módulo 1 estructura de la cpu
 
Cpu
CpuCpu
Cpu
 
LA C.P.U
LA C.P.ULA C.P.U
LA C.P.U
 
Como funciona una computadora1
Como funciona una computadora1Como funciona una computadora1
Como funciona una computadora1
 
importancia de la C.P.U
importancia de la C.P.Uimportancia de la C.P.U
importancia de la C.P.U
 
Exposiciòn Grupo 6 Estructura de la Cpu
Exposiciòn Grupo 6 Estructura de la CpuExposiciòn Grupo 6 Estructura de la Cpu
Exposiciòn Grupo 6 Estructura de la Cpu
 
Estructura Del Sistema InformáTico Detalle
Estructura Del Sistema InformáTico   DetalleEstructura Del Sistema InformáTico   Detalle
Estructura Del Sistema InformáTico Detalle
 
Estructura interna del cpu
Estructura interna del cpuEstructura interna del cpu
Estructura interna del cpu
 
Funciones del lenguaje ensamblador
Funciones del lenguaje ensambladorFunciones del lenguaje ensamblador
Funciones del lenguaje ensamblador
 
EL CPU
EL CPUEL CPU
EL CPU
 

Similaire à Lenguaje ensamblador y Estructura del CPU

Similaire à Lenguaje ensamblador y Estructura del CPU (20)

Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Assambler
AssamblerAssambler
Assambler
 
Lenguaje Ensamblador
Lenguaje Ensamblador Lenguaje Ensamblador
Lenguaje Ensamblador
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Mipag web
Mipag webMipag web
Mipag web
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
 
Software
SoftwareSoftware
Software
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
 
Esamblador8086
Esamblador8086Esamblador8086
Esamblador8086
 
Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86
 

Dernier

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Dernier (10)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Lenguaje ensamblador y Estructura del CPU

  • 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.