SlideShare a Scribd company logo
1 of 13
Download to read offline
Al construir un programa algunos de sus módulos
pueden colocarse en el mismo módulo fuente y
ensamblarse juntos, otros pueden estar en
módulos diferentes y ser ensamblados
separadamente.
La tarea principal del enlazador es resolverLa tarea principal del enlazador es resolver
referencias externas llevadas a cabo la etapa del
proceso de traducción, enlazando los módulos
ensamblados para formar un programa completo.
En cualquier caso, los módulos objeto
resultantes, algunos de los cuales pueden
estar agrupados en librerías, deben ser
enlazados para formar el módulo de carga,
antes de que se pueda ejecutar el programa.antes de que se pueda ejecutar el programa.
Además de dar como salida el módulo de
carga, el linker o enlazador o ligador imprime
un mapa de memoria que indica donde serán
cargados los módulos objeto en la memoria.
El ensamblador no puede generar completa la TablaEl ensamblador no puede generar completa la TablaEl ensamblador no puede generar completa la TablaEl ensamblador no puede generar completa la Tabla
de Símbolos y se produce un error de programación.de Símbolos y se produce un error de programación.de Símbolos y se produce un error de programación.de Símbolos y se produce un error de programación.
Para evitarlo hay que usar lasPara evitarlo hay que usar lasPara evitarlo hay que usar lasPara evitarlo hay que usar las pseudopseudopseudopseudo----instruccionesinstruccionesinstruccionesinstrucciones
EXPORTEXPORTEXPORTEXPORT eeee IMPORTIMPORTIMPORTIMPORT ....
EXPORTEXPORTEXPORTEXPORTEXPORTEXPORTEXPORTEXPORT ....---- Se especifican todos los nombres
simbólicos de un módulo que serán referenciados porsimbólicos de un módulo que serán referenciados por
otros módulos.
IMPORTIMPORTIMPORTIMPORTIMPORTIMPORTIMPORTIMPORT ....- Se identifican todas las referencias
externas de un módulo:
Permite reconocer una referencia externa
No se puede completar la Tabla de Símbolos
El enlazador resolverá las referencias externas.
Tabla de Símbolos ImportadosTabla de Símbolos ImportadosTabla de Símbolos ImportadosTabla de Símbolos Importados (TSI)(TSI)(TSI)(TSI)
◦ Una anotación por cada aparición de un símbolo
importado
◦ Nombre simbólico
◦ Dirección relativa dentro del módulo
◦ Tipo
Tabla de Símbolos ExportadosTabla de Símbolos ExportadosTabla de Símbolos ExportadosTabla de Símbolos Exportados (TSE)(TSE)(TSE)(TSE)
◦ Nombre simbólico
◦ Valor de la dirección
◦ Tipo
GenerarGenerarGenerarGenerar todas las direcciones absolutastodas las direcciones absolutastodas las direcciones absolutastodas las direcciones absolutas
ProcederProcederProcederProceder a la reubicación del módulo,a la reubicación del módulo,a la reubicación del módulo,a la reubicación del módulo,
conocida la dirección inicialconocida la dirección inicialconocida la dirección inicialconocida la dirección inicial
CopiarCopiarCopiarCopiar todos los módulos en un solo bloquetodos los módulos en un solo bloquetodos los módulos en un solo bloquetodos los módulos en un solo bloque
ejecutableejecutableejecutableejecutableejecutableejecutableejecutableejecutable
GenerarGenerarGenerarGenerar todas las direcciones absolutas:todas las direcciones absolutas:todas las direcciones absolutas:todas las direcciones absolutas:
◦ Para determinar la dirección de comienzo del
módulo:
Existe una sentencia ORG y es un módulo absolutoExiste una sentencia ORG y es un módulo absoluto
Indicación explícita del usuario al enlazador
Dirección final del módulo anterior
ProcederProcederProcederProceder a la reubicación del módulo,a la reubicación del módulo,a la reubicación del módulo,a la reubicación del módulo,
conocida la dirección inicial:conocida la dirección inicial:conocida la dirección inicial:conocida la dirección inicial:
◦ Una vez realizada la reubicación de todos los módulos, se
conoce la dirección absoluta de todos los símbolos
exportados. Para resolver las referencias externas se genera
una TTTTTTTTabla GGGGGGGGlobal de Símbolos EEEEEEEExportados (TTTTTTTTGGGGGGGGSSSSSSSSEEEEEEEE):
◦ Uniendo todas las TSE◦ Uniendo todas las TSE
La TTTTTTTTGGGGGGGGSSSSSSSSEEEEEEEE debe estar bien estructurada pues se realizarán numerosas
búsquedas sobre ella
Hay que comprobar que no existen referencias externas no resueltas
Para resolver las referencias externas de cada módulo se toman las
entradas de su TSI y se busca su dirección absoluta en la TTTTTTTTGGGGGGGGSSSSSSSSEEEEEEEE; si no
existe se da un error.
CopiarCopiarCopiarCopiar todos los módulos en un solo bloquetodos los módulos en un solo bloquetodos los módulos en un solo bloquetodos los módulos en un solo bloque
ejecutable.ejecutable.ejecutable.ejecutable.
◦ Debe ser manejable por el cargador para proceder a
su ejecución; generalmente, se crea un nuevo
fichero con extensión de ejecutable (.EXE, .COM,
etc.).etc.).
◦ .EXE, viene de la palabra executable
◦ .COM, viene de la palabra COMMAND
Es un programa especial, parte del sistema
operativo que tiene como propósito colocar
en la memoria las instrucciones y datos de un
programa o información codificada en
lenguaje máquina, para que entonces lalenguaje máquina, para que entonces la
computadora pueda procesarla. Un cargador
es un programa que realiza la función de
carga, pero muchos cargadores también
incluyen relocalización y ligado.
Su objetivo es leer un fichero ejecutable almacenado
en memoria auxiliar (DD, Cinta, etc.) y traspasarlo a
la memoria principal para su ejecución. Debe ser
compatible con el formato de salida generado por el
enlazador.
Para poder cargar los programas en diferentes zonasPara poder cargar los programas en diferentes zonas
de memoria, el cargador reubicador necesita de una
Tabla General de Direcciones Absoluta generada por
el enlazador combinando la TDA y la TSI de los
módulos.
Para que un programa se ejecute, se necesita que el
contador de programa apunte a la primera
instrucción ejecutable.
Ingresa al foro de la Unidad. Descargar e instalar
TASM.
Crear un programa que imprima por pantalla Hola
Mundo.
Ensamblar el programa Hola Mundo. Obteniendo el
archivo OBJ.archivo OBJ.
Enlazar el archivo OBJ, para obtener el archivo
Ejecutable .EXE
Ejecutar el Archivo .EXE

More Related Content

What's hot

Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streamsbabak danyal
 
Exceptions in Java
Exceptions in JavaExceptions in Java
Exceptions in JavaVadym Lotar
 
Java Networking
Java NetworkingJava Networking
Java NetworkingSunil OS
 
Testing with Spring: An Introduction
Testing with Spring: An IntroductionTesting with Spring: An Introduction
Testing with Spring: An IntroductionSam Brannen
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to JavascriptAmit Tyagi
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events WebStackAcademy
 
Java Server Pages(jsp)
Java Server Pages(jsp)Java Server Pages(jsp)
Java Server Pages(jsp)Manisha Keim
 
Java multi threading
Java multi threadingJava multi threading
Java multi threadingRaja Sekhar
 
Java string , string buffer and wrapper class
Java string , string buffer and wrapper classJava string , string buffer and wrapper class
Java string , string buffer and wrapper classSimoniShah6
 
Introduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesIntroduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesecosio GmbH
 
Java Servlets
Java ServletsJava Servlets
Java ServletsNitin Pai
 

What's hot (20)

Java interface
Java interfaceJava interface
Java interface
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
 
Exceptions in Java
Exceptions in JavaExceptions in Java
Exceptions in Java
 
JAVA AWT
JAVA AWTJAVA AWT
JAVA AWT
 
Javascript
JavascriptJavascript
Javascript
 
Java Networking
Java NetworkingJava Networking
Java Networking
 
I/O Streams
I/O StreamsI/O Streams
I/O Streams
 
Testing with Spring: An Introduction
Testing with Spring: An IntroductionTesting with Spring: An Introduction
Testing with Spring: An Introduction
 
Exception handling
Exception handling Exception handling
Exception handling
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Java I/o streams
Java I/o streamsJava I/o streams
Java I/o streams
 
Java Server Pages(jsp)
Java Server Pages(jsp)Java Server Pages(jsp)
Java Server Pages(jsp)
 
Java multi threading
Java multi threadingJava multi threading
Java multi threading
 
Applet
 Applet Applet
Applet
 
Input Validation
Input ValidationInput Validation
Input Validation
 
Java string , string buffer and wrapper class
Java string , string buffer and wrapper classJava string , string buffer and wrapper class
Java string , string buffer and wrapper class
 
Introduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesIntroduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examples
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 

Similar to Ensamblado, enlazado y carga de módulos

3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...Domitho Ibarra
 
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...Kareen's Maldonado
 
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...carolina peña
 
Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Maryfer' Ortega
 
Compilador 22 (1)
Compilador 22 (1)Compilador 22 (1)
Compilador 22 (1)still01
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazadorRickyZhengHu
 
Unidad 3 ensambladores
Unidad 3 ensambladoresUnidad 3 ensambladores
Unidad 3 ensambladoresGustavo Davila
 
Exposición ted
Exposición tedExposición ted
Exposición tedCOVAEV
 

Similar to Ensamblado, enlazado y carga de módulos (20)

Unidad ad 3
Unidad ad 3Unidad ad 3
Unidad ad 3
 
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
 
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
 
Tercera unidad ;3
Tercera unidad ;3Tercera unidad ;3
Tercera unidad ;3
 
Cargadores
CargadoresCargadores
Cargadores
 
Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Presentación3
Presentación3Presentación3
Presentación3
 
Fanny3
Fanny3Fanny3
Fanny3
 
Jhonny3
Jhonny3Jhonny3
Jhonny3
 
Compilador 22 (1)
Compilador 22 (1)Compilador 22 (1)
Compilador 22 (1)
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazador
 
Jin Unidad6
Jin Unidad6Jin Unidad6
Jin Unidad6
 
Unidad 3 ensambladores
Unidad 3 ensambladoresUnidad 3 ensambladores
Unidad 3 ensambladores
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Exposición ted
Exposición tedExposición ted
Exposición ted
 

More from Gustavo 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
 

More from Gustavo Davila (9)

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
 

Recently uploaded

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 

Recently uploaded (20)

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 

Ensamblado, enlazado y carga de módulos

  • 1.
  • 2.
  • 3. Al construir un programa algunos de sus módulos pueden colocarse en el mismo módulo fuente y ensamblarse juntos, otros pueden estar en módulos diferentes y ser ensamblados separadamente. La tarea principal del enlazador es resolverLa tarea principal del enlazador es resolver referencias externas llevadas a cabo la etapa del proceso de traducción, enlazando los módulos ensamblados para formar un programa completo.
  • 4. En cualquier caso, los módulos objeto resultantes, algunos de los cuales pueden estar agrupados en librerías, deben ser enlazados para formar el módulo de carga, antes de que se pueda ejecutar el programa.antes de que se pueda ejecutar el programa. Además de dar como salida el módulo de carga, el linker o enlazador o ligador imprime un mapa de memoria que indica donde serán cargados los módulos objeto en la memoria.
  • 5. El ensamblador no puede generar completa la TablaEl ensamblador no puede generar completa la TablaEl ensamblador no puede generar completa la TablaEl ensamblador no puede generar completa la Tabla de Símbolos y se produce un error de programación.de Símbolos y se produce un error de programación.de Símbolos y se produce un error de programación.de Símbolos y se produce un error de programación. Para evitarlo hay que usar lasPara evitarlo hay que usar lasPara evitarlo hay que usar lasPara evitarlo hay que usar las pseudopseudopseudopseudo----instruccionesinstruccionesinstruccionesinstrucciones EXPORTEXPORTEXPORTEXPORT eeee IMPORTIMPORTIMPORTIMPORT .... EXPORTEXPORTEXPORTEXPORTEXPORTEXPORTEXPORTEXPORT ....---- Se especifican todos los nombres simbólicos de un módulo que serán referenciados porsimbólicos de un módulo que serán referenciados por otros módulos. IMPORTIMPORTIMPORTIMPORTIMPORTIMPORTIMPORTIMPORT ....- Se identifican todas las referencias externas de un módulo: Permite reconocer una referencia externa No se puede completar la Tabla de Símbolos El enlazador resolverá las referencias externas.
  • 6. Tabla de Símbolos ImportadosTabla de Símbolos ImportadosTabla de Símbolos ImportadosTabla de Símbolos Importados (TSI)(TSI)(TSI)(TSI) ◦ Una anotación por cada aparición de un símbolo importado ◦ Nombre simbólico ◦ Dirección relativa dentro del módulo ◦ Tipo Tabla de Símbolos ExportadosTabla de Símbolos ExportadosTabla de Símbolos ExportadosTabla de Símbolos Exportados (TSE)(TSE)(TSE)(TSE) ◦ Nombre simbólico ◦ Valor de la dirección ◦ Tipo
  • 7. GenerarGenerarGenerarGenerar todas las direcciones absolutastodas las direcciones absolutastodas las direcciones absolutastodas las direcciones absolutas ProcederProcederProcederProceder a la reubicación del módulo,a la reubicación del módulo,a la reubicación del módulo,a la reubicación del módulo, conocida la dirección inicialconocida la dirección inicialconocida la dirección inicialconocida la dirección inicial CopiarCopiarCopiarCopiar todos los módulos en un solo bloquetodos los módulos en un solo bloquetodos los módulos en un solo bloquetodos los módulos en un solo bloque ejecutableejecutableejecutableejecutableejecutableejecutableejecutableejecutable
  • 8. GenerarGenerarGenerarGenerar todas las direcciones absolutas:todas las direcciones absolutas:todas las direcciones absolutas:todas las direcciones absolutas: ◦ Para determinar la dirección de comienzo del módulo: Existe una sentencia ORG y es un módulo absolutoExiste una sentencia ORG y es un módulo absoluto Indicación explícita del usuario al enlazador Dirección final del módulo anterior
  • 9. ProcederProcederProcederProceder a la reubicación del módulo,a la reubicación del módulo,a la reubicación del módulo,a la reubicación del módulo, conocida la dirección inicial:conocida la dirección inicial:conocida la dirección inicial:conocida la dirección inicial: ◦ Una vez realizada la reubicación de todos los módulos, se conoce la dirección absoluta de todos los símbolos exportados. Para resolver las referencias externas se genera una TTTTTTTTabla GGGGGGGGlobal de Símbolos EEEEEEEExportados (TTTTTTTTGGGGGGGGSSSSSSSSEEEEEEEE): ◦ Uniendo todas las TSE◦ Uniendo todas las TSE La TTTTTTTTGGGGGGGGSSSSSSSSEEEEEEEE debe estar bien estructurada pues se realizarán numerosas búsquedas sobre ella Hay que comprobar que no existen referencias externas no resueltas Para resolver las referencias externas de cada módulo se toman las entradas de su TSI y se busca su dirección absoluta en la TTTTTTTTGGGGGGGGSSSSSSSSEEEEEEEE; si no existe se da un error.
  • 10. CopiarCopiarCopiarCopiar todos los módulos en un solo bloquetodos los módulos en un solo bloquetodos los módulos en un solo bloquetodos los módulos en un solo bloque ejecutable.ejecutable.ejecutable.ejecutable. ◦ Debe ser manejable por el cargador para proceder a su ejecución; generalmente, se crea un nuevo fichero con extensión de ejecutable (.EXE, .COM, etc.).etc.). ◦ .EXE, viene de la palabra executable ◦ .COM, viene de la palabra COMMAND
  • 11. Es un programa especial, parte del sistema operativo que tiene como propósito colocar en la memoria las instrucciones y datos de un programa o información codificada en lenguaje máquina, para que entonces lalenguaje máquina, para que entonces la computadora pueda procesarla. Un cargador es un programa que realiza la función de carga, pero muchos cargadores también incluyen relocalización y ligado.
  • 12. Su objetivo es leer un fichero ejecutable almacenado en memoria auxiliar (DD, Cinta, etc.) y traspasarlo a la memoria principal para su ejecución. Debe ser compatible con el formato de salida generado por el enlazador. Para poder cargar los programas en diferentes zonasPara poder cargar los programas en diferentes zonas de memoria, el cargador reubicador necesita de una Tabla General de Direcciones Absoluta generada por el enlazador combinando la TDA y la TSI de los módulos. Para que un programa se ejecute, se necesita que el contador de programa apunte a la primera instrucción ejecutable.
  • 13. Ingresa al foro de la Unidad. Descargar e instalar TASM. Crear un programa que imprima por pantalla Hola Mundo. Ensamblar el programa Hola Mundo. Obteniendo el archivo OBJ.archivo OBJ. Enlazar el archivo OBJ, para obtener el archivo Ejecutable .EXE Ejecutar el Archivo .EXE