SlideShare ist ein Scribd-Unternehmen logo
1 von 18
José Manuel Puentes García
ACTIVIDAD #2
LENGUAJE ENSAMBLADOR
• Es un lenguaje de programación de bajo nivel para
los computadores, microprocesadores, microcontroladores y
otros circuitos integrados programables. Implementa una
representación simbólica de los códigos de máquina binarios
y otras constantes necesarias para programar
una arquitectura dada de CPU y constituye la representación
más directa del código máquina específico para cada
arquitectura legible por un programado
EN DONDE SE UTILIZA?
• Note que, en el uso profesional normal, el término ensamblador es
frecuentemente usado tanto para referirse al lenguaje ensamblador como
también al programa ensamblador (que convierte el código fuente escrito en
el lenguaje ensamblador a código objeto que luego será enlazado para
producir lenguaje de máquina). Las dos expresiones siguientes utilizan el
término "ensamblador":
TIPOS DE LENGUAJES
• Lenguaje de bajo nivel: Es aquel en el que sus instrucciones ejercen un
control directo sobre el hardware y están condicionados por la estructura
física de la computadora que lo soporta.
• Lenguaje de alto nivel: Se caracteriza por expresar los algoritmos de una
manera adecuada a la capacidad cognitiva humana, en lugar de a la
capacidad ejecutora de las máquinas.
• Lenguaje de maquina: Es el único que entiende directamente la
computadora, utiliza el alfabeto binario que consta de los dos únicos
símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios).
IMPORTANCIA DEL LENGUAJE ENSAMBLADOR
• La importancia radica principalmente que se trabaja directamente con
el microprocesador; por lo cual se debe de conocer el funcionamiento interno
de este, tiene la ventaja de que en él se puede realizar cualquier tipo
de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro
punto sería que los programas en ensamblador ocupan menos espacio
en memoria.
ACTIVIDAD #3
ESTRUCTURA Y ORGANIZACIÓN DE UN PROCESADOR (CPU)
Unidad Central de Procesamiento también conocido como microprocesador o
simplemente procesador.
QUE ES?
• 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.
ESTRUCTURA INTERNA
• 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)).
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.
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.SI =
Puntero índice: Sirve como puntero fuente para las
operaciones con cadenas. También sirve para
realizar direccionamiento indirecto.
DI = Puntero destino: Sirve como puntero destino
para las operaciones con cadenas. También sirve
para realizar direccionamiento indirecto.
UNIDAD ARITMÉTICA Y LÓGICA
• 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.
INDICADORES (FLAGS)
• 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.
SISTEMA DE CONTROL DE LA UNIDAD DE EJECUCIÓN
• Es el encargado de decodificar las instrucciones
que le envía la cola y enviarle las órdenes a la
unidad aritmética y lógica según una tabla que
tiene almacenada en ROM llamada CROM (Control
Read Only Memory).
REGISTROS DE LA UNIDAD DE INTERFAZ CON EL BUS:
• 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.
• IP: Contiene el desplazamiento de dirección de la siguiente instrucción que
se ejecuta.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Chipset en el mercado
Chipset en el mercadoChipset en el mercado
Chipset en el mercado
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Tema manejo de la entrada
Tema manejo de la entradaTema manejo de la entrada
Tema manejo de la entrada
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
DISEÑO DE BASES DE DATOS DISTRIBUIDAS
DISEÑO DE BASES DE DATOS DISTRIBUIDASDISEÑO DE BASES DE DATOS DISTRIBUIDAS
DISEÑO DE BASES DE DATOS DISTRIBUIDAS
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Memoria RAM.pdf
Memoria RAM.pdfMemoria RAM.pdf
Memoria RAM.pdf
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Gestión de Entrada y Salida
Gestión de Entrada y SalidaGestión de Entrada y Salida
Gestión de Entrada y Salida
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 

Ähnlich wie Lenguajes de interfaz

Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
Gustavo Davila
 

Ähnlich wie Lenguajes de interfaz (20)

Lenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPULenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPU
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Lenguaje Ensamblador
Lenguaje Ensamblador Lenguaje Ensamblador
Lenguaje Ensamblador
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
 
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
 
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
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Diagrama de bloque procesador intel
Diagrama de bloque procesador intelDiagrama de bloque procesador intel
Diagrama de bloque procesador intel
 
Arquitectura de una computadora
Arquitectura de una computadoraArquitectura de una computadora
Arquitectura de una computadora
 
Estructura computador
Estructura computadorEstructura computador
Estructura computador
 
Assambler
AssamblerAssambler
Assambler
 
SISTEMA OPERATIVOS
SISTEMA OPERATIVOSSISTEMA OPERATIVOS
SISTEMA OPERATIVOS
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
Unidad de control y unidad logico-aritmetica
Unidad de control y unidad logico-aritmetica Unidad de control y unidad logico-aritmetica
Unidad de control y unidad logico-aritmetica
 

Lenguajes de interfaz

  • 3. LENGUAJE ENSAMBLADOR • Es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programado
  • 4. EN DONDE SE UTILIZA? • Note que, en el uso profesional normal, el término ensamblador es frecuentemente usado tanto para referirse al lenguaje ensamblador como también al programa ensamblador (que convierte el código fuente escrito en el lenguaje ensamblador a código objeto que luego será enlazado para producir lenguaje de máquina). Las dos expresiones siguientes utilizan el término "ensamblador":
  • 5. TIPOS DE LENGUAJES • Lenguaje de bajo nivel: Es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de la computadora que lo soporta. • Lenguaje de alto nivel: Se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.
  • 6. • Lenguaje de maquina: Es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios).
  • 7. IMPORTANCIA DEL LENGUAJE ENSAMBLADOR • La importancia radica principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria.
  • 9. ESTRUCTURA Y ORGANIZACIÓN DE UN PROCESADOR (CPU) Unidad Central de Procesamiento también conocido como microprocesador o simplemente procesador.
  • 10. QUE ES? • 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. ESTRUCTURA INTERNA • 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)).
  • 12. 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.
  • 13. 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.SI = Puntero índice: Sirve como puntero fuente para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto. DI = Puntero destino: Sirve como puntero destino para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.
  • 14. UNIDAD ARITMÉTICA Y LÓGICA • 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.
  • 15. INDICADORES (FLAGS) • 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).
  • 16. • 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.
  • 17. SISTEMA DE CONTROL DE LA UNIDAD DE EJECUCIÓN • Es el encargado de decodificar las instrucciones que le envía la cola y enviarle las órdenes a la unidad aritmética y lógica según una tabla que tiene almacenada en ROM llamada CROM (Control Read Only Memory).
  • 18. REGISTROS DE LA UNIDAD DE INTERFAZ CON EL BUS: • 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. • IP: Contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta.