INGENIERIA EN SISTEMAS COMPUTAIONALESARQUITECTURA DE COMPUTADORASUNIDAD I‘’LENGUAJE ENSAMBLADOR’’TITULAR:  M.C EDGAR OMAR BAÑUELOS INTEGRANTES:IVAN ARTURO GARDEA PORRAS.
MARTIN ANDRES VALLES GUTIERREZ.
JUAN SOTERO DE JESUS.
EDWIN RAFAEL VALDEZ SEAÑEZ.
SERGIO JESUS CHAVEZ VILLALOBOS.1
AgendaLa siguiente presentación describirá las principales características, estructura , sintaxis básicas del lenguaje ensamblador para proporcionar una noción teórica de las capacidades del lenguaje.2
IntroduccionEl ordenador solo entiende el lenguaje de código binario o código maquina ,solo utiliza 0 y 1 para de codificar cualquier acción .3
Lenguaje de bajonivelSon lenguajes totalmente dependientes de la maquina .Dentro de este grupo se encuentra el lenguaje ensamblador.4
Lenguaje EnsambladorDerivado del lenguaje maquina , formado por abreviaturas de letras y números llamadas mnemotécnicos  .5
¿Qué es un lenguaje ensamblador?Es un lenguaje en el que cada enunciado produce exactamente una instrucción maquina.
Los lenguajes ensambladores tienen acceso a todas las características e instrucciones disponibles en la maquina.
En resumen todo lo que puede hacerse en lenguaje maquina puede hacerse en lenguaje ensamblador.6
ImportanciaEl lenguaje ensamblador es importante por que el es considerado de primera generación a partir de el se derivaron todos los demás lenguajes hasta llegar a los de alto nivel.7
CaracterísticasEnsamblador es directamente traducible al Lenguaje de Máquina, y viceversa.
La computadora no entiende directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Máquina.
 Se utilizan traductores que convierten el código fuente (en Lenguaje Ensamblador) a código objeto.
El usar los traductores de codigo son con el fin de facilitar la programacion y tener el control del harware.8
Ventajas y desventajas del Lenguaje Ensamblador vs lenguaje de alto nivelLenguaje de alto nivel.Tiempo de programación2. Programas fuente grandes3. Peligro de afectar recursos inesperadamente.4. Falta de portabilidad Lenguaje Ensamblador.Velocidad2. Eficiencia de tamaño.3. Flexibilidad9
VelocidadImplica un proceso de cómputo adicional al que el programador quiere realizar.
Un intérprete es siempre más lento que realizar la misma acción en Lenguaje Ensamblador.
Los compiladores son mucho más rápidos que los intérpretes, pues hacen la traducción una vez y dejan el código objeto.
Mayor parte de las veces, el código generado por un compilador es menos eficiente que el código equivalente que un programador escribiría.10
TamañoExisten programas donde el uso de las memoria es critico para esos casos es eficiente el lenguaje ensamblador por la mínima cantidad de recursos de los que dispone11
FlexibilidadLas razones anteriores son cuestión de grado:Los lenguajes de alto nivel tienen limitantes en el control; al hacer abstracciones, limitan su propia capacidad.
En cambio, en ensamblador es sumamente sencillo, pues tenemos el acceso directo al hardware del monitor.12
Tiempo de programaciónRequiere más instrucciones para realizar el mismo proceso. Por otro lado, requiere de más cuidado por parte del programador13
Programa fuentes grandesCrecen los programas fuentes; simplemente, requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores. 14
Peligro de afectar recursosEl problema es que todo error que podamos cometer, o todo riesgo que podamos tener, podemos tenerlo también en este Lenguaje. Dicho de otra forma, tener mucho poder es útil pero también es peligroso. 15
Falta de portabilidadComo ya se mencionó, existe un lenguaje ensamblador para cada máquina; por ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos codificar en una máquina y luego llevar los programas a otros SO.16
Estructura de un programamodel smallStack 100hDataCode{Cuerpo del programa}end.17
Instrucciones en ensambladorMov.-mueve el valor de un registro o un numero hacia otro registro ejmplomov Bx,5 , movAX,bx.add.-Sumar el valor de un registro a otro registro ADD BX,5sub.-Rest el valor de un registro o valor especifico a un registro  sub cx,2inc incrementa en 1 el valor del registro incbxdec.-Decrementa en 1 el valor del registodecbx18
BrincosBrincos condicionales JG=si es mayorJB=SI ES MENORJE=SI ES IGUALJGE=si es mayor o igualJBE=si es menor o igualBrinco incondicionalJmp Etiqueta: Brinca a cualquier etiqueta asignadaFormato de etiquetasNombre de etiquetas:{ instrucciones}19
RegistrosLos registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética.20
Registros de segmentoCodifica la dirección de inicio de cada segmento y su dirección en un registro de segmento supone cuatro bits 0 a su derecha. Registro CS Registro DS Registro SS Registro ES Registro FS y GS21
Registro ApuntadorLos registros apuntadores están asociados con el registro SS y permiten al procesador accesar datos en el segmento de pila los registros apuntadores son dos.El registro SP El registro BP22

Lenguaje Ensamblador

  • 1.
    INGENIERIA EN SISTEMASCOMPUTAIONALESARQUITECTURA DE COMPUTADORASUNIDAD I‘’LENGUAJE ENSAMBLADOR’’TITULAR: M.C EDGAR OMAR BAÑUELOS INTEGRANTES:IVAN ARTURO GARDEA PORRAS.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    AgendaLa siguiente presentacióndescribirá las principales características, estructura , sintaxis básicas del lenguaje ensamblador para proporcionar una noción teórica de las capacidades del lenguaje.2
  • 7.
    IntroduccionEl ordenador soloentiende el lenguaje de código binario o código maquina ,solo utiliza 0 y 1 para de codificar cualquier acción .3
  • 8.
    Lenguaje de bajonivelSonlenguajes totalmente dependientes de la maquina .Dentro de este grupo se encuentra el lenguaje ensamblador.4
  • 9.
    Lenguaje EnsambladorDerivado dellenguaje maquina , formado por abreviaturas de letras y números llamadas mnemotécnicos .5
  • 10.
    ¿Qué es unlenguaje ensamblador?Es un lenguaje en el que cada enunciado produce exactamente una instrucción maquina.
  • 11.
    Los lenguajes ensambladorestienen acceso a todas las características e instrucciones disponibles en la maquina.
  • 12.
    En resumen todolo que puede hacerse en lenguaje maquina puede hacerse en lenguaje ensamblador.6
  • 13.
    ImportanciaEl lenguaje ensambladores importante por que el es considerado de primera generación a partir de el se derivaron todos los demás lenguajes hasta llegar a los de alto nivel.7
  • 14.
    CaracterísticasEnsamblador es directamentetraducible al Lenguaje de Máquina, y viceversa.
  • 15.
    La computadora noentiende directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Máquina.
  • 16.
    Se utilizantraductores que convierten el código fuente (en Lenguaje Ensamblador) a código objeto.
  • 17.
    El usar lostraductores de codigo son con el fin de facilitar la programacion y tener el control del harware.8
  • 18.
    Ventajas y desventajasdel Lenguaje Ensamblador vs lenguaje de alto nivelLenguaje de alto nivel.Tiempo de programación2. Programas fuente grandes3. Peligro de afectar recursos inesperadamente.4. Falta de portabilidad Lenguaje Ensamblador.Velocidad2. Eficiencia de tamaño.3. Flexibilidad9
  • 19.
    VelocidadImplica un procesode cómputo adicional al que el programador quiere realizar.
  • 20.
    Un intérprete essiempre más lento que realizar la misma acción en Lenguaje Ensamblador.
  • 21.
    Los compiladores sonmucho más rápidos que los intérpretes, pues hacen la traducción una vez y dejan el código objeto.
  • 22.
    Mayor parte delas veces, el código generado por un compilador es menos eficiente que el código equivalente que un programador escribiría.10
  • 23.
    TamañoExisten programas dondeel uso de las memoria es critico para esos casos es eficiente el lenguaje ensamblador por la mínima cantidad de recursos de los que dispone11
  • 24.
    FlexibilidadLas razones anterioresson cuestión de grado:Los lenguajes de alto nivel tienen limitantes en el control; al hacer abstracciones, limitan su propia capacidad.
  • 25.
    En cambio, enensamblador es sumamente sencillo, pues tenemos el acceso directo al hardware del monitor.12
  • 26.
    Tiempo de programaciónRequieremás instrucciones para realizar el mismo proceso. Por otro lado, requiere de más cuidado por parte del programador13
  • 27.
    Programa fuentes grandesCrecenlos programas fuentes; simplemente, requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores. 14
  • 28.
    Peligro de afectarrecursosEl problema es que todo error que podamos cometer, o todo riesgo que podamos tener, podemos tenerlo también en este Lenguaje. Dicho de otra forma, tener mucho poder es útil pero también es peligroso. 15
  • 29.
    Falta de portabilidadComoya se mencionó, existe un lenguaje ensamblador para cada máquina; por ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos codificar en una máquina y luego llevar los programas a otros SO.16
  • 30.
    Estructura de unprogramamodel smallStack 100hDataCode{Cuerpo del programa}end.17
  • 31.
    Instrucciones en ensambladorMov.-mueveel valor de un registro o un numero hacia otro registro ejmplomov Bx,5 , movAX,bx.add.-Sumar el valor de un registro a otro registro ADD BX,5sub.-Rest el valor de un registro o valor especifico a un registro sub cx,2inc incrementa en 1 el valor del registro incbxdec.-Decrementa en 1 el valor del registodecbx18
  • 32.
    BrincosBrincos condicionales JG=sies mayorJB=SI ES MENORJE=SI ES IGUALJGE=si es mayor o igualJBE=si es menor o igualBrinco incondicionalJmp Etiqueta: Brinca a cualquier etiqueta asignadaFormato de etiquetasNombre de etiquetas:{ instrucciones}19
  • 33.
    RegistrosLos registros delprocesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética.20
  • 34.
    Registros de segmentoCodificala dirección de inicio de cada segmento y su dirección en un registro de segmento supone cuatro bits 0 a su derecha. Registro CS Registro DS Registro SS Registro ES Registro FS y GS21
  • 35.
    Registro ApuntadorLos registrosapuntadores están asociados con el registro SS y permiten al procesador accesar datos en el segmento de pila los registros apuntadores son dos.El registro SP El registro BP22