SlideShare una empresa de Scribd logo
Gustavo Dávila 2012
 El lenguaje Assembly: 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.
 org 100h
 ; set video mode
 mov ax, 3 ; text mode 80x25, 16 colors, 8 pages (ah=0, al=3)
 int 10h ; do it!
 ; cancel blinking and enable all 16 colors:
 mov ax, 1003h
 mov bx, 0
 int 10h
 ; set segment register:
 mov ax, 0b800h
 mov ds, ax
 El término ensamblador se refiere a un tipo
de programa informático que se encarga de
traducir un archivo fuente escrito en un
lenguaje Assembly, a un archivo objeto que
contiene código máquina, ejecutable
directamente por la máquina para la que se
ha generado.
 Ejemplos: MASM
 TASM
 Lenguaje Assembly (archivo fuente)
 Código Maquina (archivo objeto)
La tarea fundamental de un ensamblador es traducir
un programa en lenguaje de assembly al código
correspondiente en lenguaje de máquina.
 El programa ensamblador lee el archivo
escrito en lenguaje Assembly y sustituye cada
uno de los códigos nemotécnicos que
aparecen por su código de operación
correspondiente en sistema binario para la
plataforma que se eligió como destino en las
opciones específicas del ensamblador.
 Para realizar la tarea de traducción se apoya
en unas tablas “equivalencia” y “Símbolos”
Convert assembly language file (.asm)
into an executable file (.obj).
First Pass:
• scan program file
• find all labels and calculate the corresponding addresses;
this is called the symbol table
Second Pass:
• convert instructions to machine language,
using information from symbol table
 Es una estructura en la cual se realizan varias
operaciones tales como: insertar, borrar y buscar la
información sobre los símbolos (aquellos elementos que
no están presentes en la tabla de equivalencia) que van
apareciendo a lo largo del programa, Por ejemplo: los
identificadores (variables y funciones), etiquetas,
definidos por el usuario.
 Alguno de los campos presente en la tabla de símbolos
tenemos:
 Tipo de dato
 Dirección de memoria
 Segmento al que pertenece
 A cada una de las partes de una linea de código en ensamblador se le
conoce como token, por ejemplo en la linea de código
 MOV AX,Var
 tenemos tres tokens, la instrucción MOV, el operando AX, y el operando
VAR. El ensamblador lo que hace para generar el código OBJ es leer cada
uno de los tokens y buscarlo en una tabla interna de "equivalencias"
conocida como tabla de palabras reservadas, que es donde se
encuentran todos los significados de los mnemónicos que utilizamos
como instrucciones.
 Siguiendo este proceso, el ensamblador lee MOV, lo busca en su tabla y
al encontrarlo lo identifica como una instrucción del procesador, así
mismo lee AX y lo reconoce como un registro del procesador, pero al
momento de buscar el token Var en la tabla de palabras reservadas no lo
encuentra y entonces lo busca en la tabla de símbolos que es una tabla
donde se encuentran los nombres de las variables, constantes y
etiquetas utilizadas en el programa donde se incluye su dirección en
memoria y el tipo de datos que contiene.
 < THE SYMBOL TABLE > trigonometrico.exe --
 ======================================================
 Name Offset Size Type Segment
 ======================================================
 MENUT 00000 1 VAR data
 CADENA42 0050A 1 VAR data
 CADENA43 0052C 1 VAR data
 PDESF2 00778 2 VAR data
 CODE 00088 -5 SEGMENT (ITSELF)
 INICIO 00000 -1 LABEL code
 MENU 00005 -1 LABEL code
 TRIANGULO 00055 -1 LABEL code
 ESFERA 007C1 -1 LABEL code
 SALIRPROGRAMA 0091E -1 LABEL code
 =====================================================
• Cuando el programador invoca al ensamblador, dicho
programa detecta e informa si encontró o no errores
en la fase traducción. Por otra parte, en caso
encontrar errores, el ensamblador, debe generar
mensajes significativos para orientar al programado
donde esta dicho error y así pueda ser solventado:
Parte de las actividades del gestor son:
• Detectar errores léxicos (ortográficos)
• Detectar errores sintácticos (construcciones incorrectas)
• Detectar errores semánticos (p. ej. uso de variables no
declaradas, errores de tipo, etc).
 ENSAMBLADORES DE UNA FASE: leen una línea y
la traducen directamente para producir una
instrucción de lenguaje maquina o la ejecuta si se
trata de una pseudo instrucción. Se construye la
tabla de símbolos a medida que aparecen las
definiciones de variables, etiquetas, etc.
 ENSAMBLADORES DE DOS FASES: Realiza la
traducción en dos etapas: 1° fase leen el
programa fuente y construyen la tabla de
símbolos, 2° fase vuelve a leer el programa fuente
y pueden ir traduciendo totalmente pues
reconocen la totalidad de los símbolos.
 La diferencia entre los ensambladores radica en
la forma de generar el código y en las directivas
con que cuente, aunque estas diferencias son
mínimas. El código Assembly no cambia puesto
que los microprocesadores con los que se va a
trabajar son comunes. Así, todos los programas
que se creen con un ensamblador en particular
podrán ser ensamblados en otro, cambiando las
pseudo-operaciones no reconocidas por el
equivalente indicado en el manual de referencia
del paquete empleado.
 El propósito para el que se crearon este tipo de
aplicaciones es la de facilitar la escritura de
programas, ya que escribir directamente en
código binario, que es el único código entendible
por la computadora, es en la práctica imposible.
 La evolución de los lenguajes de programación a
partir del lenguaje Assembly originó también la
evolución de este programa ensamblador hacia
lo que se conoce como programa compilador.

Más contenido relacionado

La actualidad más candente

Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEustakiu Padilla
 
Unidad 3 graficacion
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacionAndhy H Palma
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónIsaias Toledo
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Anel Sosa
 
Tema N° 14 Especificación de Requisitos del Software
Tema N° 14 Especificación de Requisitos del SoftwareTema N° 14 Especificación de Requisitos del Software
Tema N° 14 Especificación de Requisitos del SoftwareSaraEAlcntaraR
 
Contrato de Desarrollo de Software
Contrato de Desarrollo de SoftwareContrato de Desarrollo de Software
Contrato de Desarrollo de SoftwareGlobal Negotiator
 
Algoritmos de gestión de memoria
Algoritmos de gestión de memoriaAlgoritmos de gestión de memoria
Algoritmos de gestión de memoriaadolfoahumada94
 
Metodologia y prototipo
Metodologia y prototipoMetodologia y prototipo
Metodologia y prototipoArturo Jimenez
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xpgmjuan
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibridagabo
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 
Modelo De Desarrollo Evolutivo
Modelo De Desarrollo EvolutivoModelo De Desarrollo Evolutivo
Modelo De Desarrollo Evolutivocamilosena89
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS Guillermo Iván Prisco Pérez
 
Especificaciones técnicas del centro de cómputo alterno
Especificaciones técnicas del centro de cómputo alternoEspecificaciones técnicas del centro de cómputo alterno
Especificaciones técnicas del centro de cómputo alternoMei Carmen Gomez
 
MODELADO RUP UML
MODELADO RUP UMLMODELADO RUP UML
MODELADO RUP UMLkcastro388
 

La actualidad más candente (20)

Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
Transaccion
TransaccionTransaccion
Transaccion
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Unidad 3 graficacion
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacion
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de Información
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)
 
Tema N° 14 Especificación de Requisitos del Software
Tema N° 14 Especificación de Requisitos del SoftwareTema N° 14 Especificación de Requisitos del Software
Tema N° 14 Especificación de Requisitos del Software
 
Contrato de Desarrollo de Software
Contrato de Desarrollo de SoftwareContrato de Desarrollo de Software
Contrato de Desarrollo de Software
 
Algoritmos de gestión de memoria
Algoritmos de gestión de memoriaAlgoritmos de gestión de memoria
Algoritmos de gestión de memoria
 
Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
Metodologia y prototipo
Metodologia y prototipoMetodologia y prototipo
Metodologia y prototipo
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibrida
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 
Modelo De Desarrollo Evolutivo
Modelo De Desarrollo EvolutivoModelo De Desarrollo Evolutivo
Modelo De Desarrollo Evolutivo
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
 
Especificaciones técnicas del centro de cómputo alterno
Especificaciones técnicas del centro de cómputo alternoEspecificaciones técnicas del centro de cómputo alterno
Especificaciones técnicas del centro de cómputo alterno
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
MODELADO RUP UML
MODELADO RUP UMLMODELADO RUP UML
MODELADO RUP UML
 

Similar a Unidad 3 ensambladores

Similar a Unidad 3 ensambladores (20)

Jin Unidad6
Jin Unidad6Jin Unidad6
Jin Unidad6
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
 
Mipag web
Mipag webMipag web
Mipag web
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
Exposición ted
Exposición tedExposición ted
Exposición ted
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
 
Actividad26
Actividad26Actividad26
Actividad26
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Presentación1.pptx
Presentación1.pptxPresentación1.pptx
Presentación1.pptx
 
Introduccion al assembler
Introduccion al assemblerIntroduccion al assembler
Introduccion al assembler
 
Introduccion al assembler[1]
Introduccion al assembler[1]Introduccion al assembler[1]
Introduccion al assembler[1]
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Curso prog sist
Curso prog sistCurso prog sist
Curso prog sist
 
Compiladores Ex..ppt
Compiladores Ex..pptCompiladores Ex..ppt
Compiladores Ex..ppt
 
Compiladores conceptos
Compiladores conceptosCompiladores conceptos
Compiladores conceptos
 

Más de Gustavo Davila

Enlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddEnlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddGustavo Davila
 
Recursos educativo abiertos para sistema de computación
Recursos educativo abiertos para sistema de computaciónRecursos educativo abiertos para sistema de computación
Recursos educativo abiertos para sistema de computaciónGustavo Davila
 
Camtasia getting started guide
Camtasia getting started guideCamtasia getting started guide
Camtasia getting started guideGustavo Davila
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Arquitectura del Computador
Arquitectura del ComputadorArquitectura del Computador
Arquitectura del ComputadorGustavo Davila
 
Bloque pacie-by-gustavo-davila
Bloque pacie-by-gustavo-davilaBloque pacie-by-gustavo-davila
Bloque pacie-by-gustavo-davilaGustavo Davila
 

Más de Gustavo Davila (10)

Enlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddEnlazadores cargadores-by-gadd
Enlazadores cargadores-by-gadd
 
Recursos educativo abiertos para sistema de computación
Recursos educativo abiertos para sistema de computaciónRecursos educativo abiertos para sistema de computación
Recursos educativo abiertos para sistema de computación
 
Camtasia getting started guide
Camtasia getting started guideCamtasia getting started guide
Camtasia getting started guide
 
Manejo de archivo
Manejo de archivoManejo de archivo
Manejo de archivo
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Risc y Cisc
Risc y CiscRisc y Cisc
Risc y Cisc
 
Sistema Númerico
Sistema NúmericoSistema Númerico
Sistema Númerico
 
Arquitectura del Computador
Arquitectura del ComputadorArquitectura del Computador
Arquitectura del Computador
 
Bloque pacie-by-gustavo-davila
Bloque pacie-by-gustavo-davilaBloque pacie-by-gustavo-davila
Bloque pacie-by-gustavo-davila
 
Slideshare grupo-i
Slideshare grupo-iSlideshare grupo-i
Slideshare grupo-i
 

Último

Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdfPresentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdfjuancmendez1405
 
Poemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6ºPoemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6ºCEIP TIERRA DE PINARES
 
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxTema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxNoe Castillo
 
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.pptMaterial-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.pptAntonioaraujo810405
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionyorbravot123
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezRuben53283
 
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...crcamora123
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfYolandaRodriguezChin
 
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxmatepura
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNjmorales40
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasELIANAMARIBELBURBANO
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoasadvavillacorte123
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaYasneidyGonzalez
 
BIENESTAR TOTAL - LA EXPERIENCIA DEL CLIENTE CON ATR
BIENESTAR TOTAL - LA EXPERIENCIA DEL CLIENTE CON ATRBIENESTAR TOTAL - LA EXPERIENCIA DEL CLIENTE CON ATR
BIENESTAR TOTAL - LA EXPERIENCIA DEL CLIENTE CON ATRDanielGrajeda7
 
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docxPLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docxDavidAlvarez758073
 

Último (20)

Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdfPresentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
 
Poemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6ºPoemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6º
 
Power Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptxPower Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptx
 
6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico
 
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxTema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptx
 
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.pptMaterial-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOSTRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico
 
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistas
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
BIENESTAR TOTAL - LA EXPERIENCIA DEL CLIENTE CON ATR
BIENESTAR TOTAL - LA EXPERIENCIA DEL CLIENTE CON ATRBIENESTAR TOTAL - LA EXPERIENCIA DEL CLIENTE CON ATR
BIENESTAR TOTAL - LA EXPERIENCIA DEL CLIENTE CON ATR
 
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docxPLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
 

Unidad 3 ensambladores

  • 2.
  • 3.  El lenguaje Assembly: 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.
  • 4.  org 100h  ; set video mode  mov ax, 3 ; text mode 80x25, 16 colors, 8 pages (ah=0, al=3)  int 10h ; do it!  ; cancel blinking and enable all 16 colors:  mov ax, 1003h  mov bx, 0  int 10h  ; set segment register:  mov ax, 0b800h  mov ds, ax
  • 5.  El término ensamblador se refiere a un tipo de programa informático que se encarga de traducir un archivo fuente escrito en un lenguaje Assembly, a un archivo objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado.  Ejemplos: MASM  TASM
  • 6.  Lenguaje Assembly (archivo fuente)  Código Maquina (archivo objeto) La tarea fundamental de un ensamblador es traducir un programa en lenguaje de assembly al código correspondiente en lenguaje de máquina.
  • 7.  El programa ensamblador lee el archivo escrito en lenguaje Assembly y sustituye cada uno de los códigos nemotécnicos que aparecen por su código de operación correspondiente en sistema binario para la plataforma que se eligió como destino en las opciones específicas del ensamblador.  Para realizar la tarea de traducción se apoya en unas tablas “equivalencia” y “Símbolos”
  • 8. Convert assembly language file (.asm) into an executable file (.obj). First Pass: • scan program file • find all labels and calculate the corresponding addresses; this is called the symbol table Second Pass: • convert instructions to machine language, using information from symbol table
  • 9.  Es una estructura en la cual se realizan varias operaciones tales como: insertar, borrar y buscar la información sobre los símbolos (aquellos elementos que no están presentes en la tabla de equivalencia) que van apareciendo a lo largo del programa, Por ejemplo: los identificadores (variables y funciones), etiquetas, definidos por el usuario.  Alguno de los campos presente en la tabla de símbolos tenemos:  Tipo de dato  Dirección de memoria  Segmento al que pertenece
  • 10.  A cada una de las partes de una linea de código en ensamblador se le conoce como token, por ejemplo en la linea de código  MOV AX,Var  tenemos tres tokens, la instrucción MOV, el operando AX, y el operando VAR. El ensamblador lo que hace para generar el código OBJ es leer cada uno de los tokens y buscarlo en una tabla interna de "equivalencias" conocida como tabla de palabras reservadas, que es donde se encuentran todos los significados de los mnemónicos que utilizamos como instrucciones.  Siguiendo este proceso, el ensamblador lee MOV, lo busca en su tabla y al encontrarlo lo identifica como una instrucción del procesador, así mismo lee AX y lo reconoce como un registro del procesador, pero al momento de buscar el token Var en la tabla de palabras reservadas no lo encuentra y entonces lo busca en la tabla de símbolos que es una tabla donde se encuentran los nombres de las variables, constantes y etiquetas utilizadas en el programa donde se incluye su dirección en memoria y el tipo de datos que contiene.
  • 11.  < THE SYMBOL TABLE > trigonometrico.exe --  ======================================================  Name Offset Size Type Segment  ======================================================  MENUT 00000 1 VAR data  CADENA42 0050A 1 VAR data  CADENA43 0052C 1 VAR data  PDESF2 00778 2 VAR data  CODE 00088 -5 SEGMENT (ITSELF)  INICIO 00000 -1 LABEL code  MENU 00005 -1 LABEL code  TRIANGULO 00055 -1 LABEL code  ESFERA 007C1 -1 LABEL code  SALIRPROGRAMA 0091E -1 LABEL code  =====================================================
  • 12. • Cuando el programador invoca al ensamblador, dicho programa detecta e informa si encontró o no errores en la fase traducción. Por otra parte, en caso encontrar errores, el ensamblador, debe generar mensajes significativos para orientar al programado donde esta dicho error y así pueda ser solventado: Parte de las actividades del gestor son: • Detectar errores léxicos (ortográficos) • Detectar errores sintácticos (construcciones incorrectas) • Detectar errores semánticos (p. ej. uso de variables no declaradas, errores de tipo, etc).
  • 13.  ENSAMBLADORES DE UNA FASE: leen una línea y la traducen directamente para producir una instrucción de lenguaje maquina o la ejecuta si se trata de una pseudo instrucción. Se construye la tabla de símbolos a medida que aparecen las definiciones de variables, etiquetas, etc.  ENSAMBLADORES DE DOS FASES: Realiza la traducción en dos etapas: 1° fase leen el programa fuente y construyen la tabla de símbolos, 2° fase vuelve a leer el programa fuente y pueden ir traduciendo totalmente pues reconocen la totalidad de los símbolos.
  • 14.
  • 15.  La diferencia entre los ensambladores radica en la forma de generar el código y en las directivas con que cuente, aunque estas diferencias son mínimas. El código Assembly no cambia puesto que los microprocesadores con los que se va a trabajar son comunes. Así, todos los programas que se creen con un ensamblador en particular podrán ser ensamblados en otro, cambiando las pseudo-operaciones no reconocidas por el equivalente indicado en el manual de referencia del paquete empleado.
  • 16.  El propósito para el que se crearon este tipo de aplicaciones es la de facilitar la escritura de programas, ya que escribir directamente en código binario, que es el único código entendible por la computadora, es en la práctica imposible.  La evolución de los lenguajes de programación a partir del lenguaje Assembly originó también la evolución de este programa ensamblador hacia lo que se conoce como programa compilador.