SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
GUÍA DE EJEMPLOS TASM Y TLINK
Clase #18
1
UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS”
COMPILADORES E INTÉRPRETES CICLO I
DOCENTE: ING. MARVIN PARADA
EJEMPLOS DE COMPILACION DE CODIGO ENSAMBLADOR USANDO TASM Y TLINK
Antes de iniciar la realización de cualquier programa en Lenguaje Ensamblador debemos conocer algunos
conceptos básicos. En este caso es primordial el software que utilizaremos para todo el proceso de realización
de dichos programas.
TASM
El Turbo Assembler (TASM), un paquete ensamblador principalmente destinado a la plataforma del IBM PC y
sus compatibles. Fue la oferta de Borland en el mercado de herramientas de programación en lenguaje
ensamblador para la familia de los microprocesadoresx86.
Turbo Assembler también se refiere a un ensamblador común, basado en el microprocesador 6502 para el
Commodore 64, creado por la compañía alemana Omikron en 1985.
TLINK
El enlazador o linkador permite combinar varios módulos objeto, realizando las conexiones entre ellos y,
finalmente, los convierte en módulo ejecutable de tipo EXE (empleando el ML de MASM 6.X se obtiene
directamente el fichero EXE ya que invoca automáticamente al linkador). El linkador permite el uso de librerías
de funciones y rutinas. TLINK, a diferencia de LINK, permite generar un fichero de tipo COM directamente de
un OBJ si se indica el parámetro /t, lo que agiliza aún más el proceso. Puede obtenerse ayuda ejecutándolo sin
parámetros. Los parámetros de TLINK son sensibles a mayúsculas y minúsculas, por lo que /T no es lo mismo
que /t.
Un enlazador (en inglés, linker) es un programa que toma los ficheros de código objeto generado en los
primeros pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita
aquellos recursos que no necesita, y enlaza el código objeto con su(s)biblioteca con lo que finalmente produce
un fichero ejecutable o una biblioteca.. En el caso de los programas enlazados dinámicamente, el enlace entre
el programa ejecutable y las bibliotecas se realiza en tiempo de carga o ejecución del programa.
EDITOR DE TEXTO PARA EL CODIGO FUENTE
Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente
por texto sin formato, conocidos comúnmente como archivos de texto ó texto plano. Se utiliza para escribir el
código fuente de los programas considerando que al guardarse no conserve la extencion txt, ya que debe
cambiarse por la extensión asm. En el caso de Windows se usa el Block de Notas de Microsoft, en linus
podemos usar gedit o nano.
PROCESO DE COMPILACION CON TASM Y TLINK
Para iniciar la compilación de los programas de ejemplo, debemos copiar los dos archivos ejecutables
TASM.EXE y TLINK.EXE, dentro del directorio donde estarán los archivos de código fuente, en este caso
podemos crear un directorio en la unidad C llamado CLASS18.
GUÍA DE EJEMPLOS TASM Y TLINK
Clase #18
2
Con los archivos de código fuente y los ejecutables al iniciar el proceso de compilación, vamos al directorio y
ejecutamos el comando que corresponda.
CODIGOS DE EJEMPLO, COMPILADO Y LINKADO
GUÍA DE EJEMPLOS TASM Y TLINK
Clase #18
3
Creamos el primer ejemplo llamado saludo.asm
Entramos al símbolo del sistema (MS-DOS) nos direccionamos en donde se encuentra nuestra carpeta
Una vez situados en la dirección correcta, nos dirigimos a compilar nuestro programa.
Para la compilación se debe ejecutar la siguiente instrucción:
tasm /zi saludo.asm
Una vez compilado nos aparecerá un reporte, el cual nos muestra si hay errores en nuestras líneas de código.
Con esto se ah realizado la compilación de nuestro programa y está listo para ser ligado. Para linkar el
programa. Esto lo haremos con la siguiente instrucción.
tlink /v saludo
El último paso es la ejecución del programa. Solo escribimos el nombre del programa, sin extensiones.
Saludo
Al ejecutarlo podemos comprobar que no se realiza acción alguna y que genera ciertos mensajes de
advertencia, es porque el programa solo tiene la estructura básica y no estamos indicando que realice una
acción determinada.
Los caracteres especiales /v y /z tiene la siguiente finalidad.
GUÍA DE EJEMPLOS TASM Y TLINK
Clase #18
4
/v Desplegar el número de líneas fuente y símbolos procesados.
/z Si ocurre un error que nos diga en que línea ocurrió
Corregir los errores en los siguientes programas para poder compilarlos:
GUÍA DE EJEMPLOS TASM Y TLINK
Clase #18
5
PARAMETROS DE TASM
/a y /s Seleccionan un orden alfabético o secuencial de los segmentos.
/c Genera un listado de referencias cruzadas en un fichero de extensión CRF listo para ser procesado por CREF
(MASM) añadiendo además números de línea al listado, o bien incluye el listado de referencias cruzadas
directamente dentro del listado del programa (caso de TASM). Las referencias cruzadas son un listado de todos
los símbolos del programa, indicando los números de línea del mismo en que son definidos y referenciados.
/D De la manera /Dsímbolo[=valor] permite crear el símbolo indicado, cuya presencia puede comprobarse en el
programa con una directiva IF (es útil para definir externamente un símbolo que indique que el programa está en
fase de depuración, de cara a ensamblar cierto código adicional). Aunque /d (en minúsculas) es un obsoleto
parámetro de MASM para obtener un listado de la primera pasada del ensamblador, MASM 4.0 es capaz de darse
cuenta de que se pretende definir un símbolo con /d a menos que se indique solo /d.
/e Emula las instrucciones de punto flotante del 80x87, apoyándose en una librería al efecto.
/Iruta Permite indicar el directorio donde el ensamblador debe de buscar los ficheros indicados en el programa fuente
con INCLUDE.
/l[a] Con /l se genera un listado de ensamblaje y con /la un listado expandido.
/m Con /m se indica el nivel de preservación del sentido de mayúsculas y minúsculas en los símbolos: /ml hace que
se consideres diferentes mayúsculas de minúsculas en todos los símbolos, /mx sólo con los símbolos globales y
/mu hace que se mayusculicen todos los símbolos globales. Al ensamblar módulos para usar desde lenguaje C hay
que indicar por lo menos /mx. En MASM 6.X se emplea /Cx en lugar de /mx, /Cp en lugar de /ml y /Cu en vez de
/mu.
/n Suprime las tablas de símbolos en el listado.
/p Verifica que el código generado para el modo protegido es correcto (al emplear la directiva para generar
instrucciones de modo protegido).
/t Suprime los mensajes si el ensamblaje es correcto.
/w Indica el nivel de advertencias: /w0 ninguna, /w1 sólo las serias y /w2 sólo consejos.
/X Lista las condiciones falsas (ensamblaje condicional).
/z Visualiza la línea del error y no sólo el número de la misma.
/Zi Genera información simbólica para los depuradores de código.
/Z dIncluye sólo la información del número de línea.

Más contenido relacionado

La actualidad más candente

1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladoresJoOsee Kette
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorInfomania pro
 
Típos de grámatica y más, exposición de compiladores e intérpretes
Típos de grámatica y más, exposición de compiladores e intérpretesTípos de grámatica y más, exposición de compiladores e intérpretes
Típos de grámatica y más, exposición de compiladores e intérpretesElmer André Boulangger Alberca
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosHumano Terricola
 
Maquina de pila abstracta
Maquina de pila abstractaMaquina de pila abstracta
Maquina de pila abstractawilfredo pena
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 

La actualidad más candente (20)

1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Memoria ROM BIOS
Memoria ROM BIOSMemoria ROM BIOS
Memoria ROM BIOS
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
TABLA DE SIMBOLOS
TABLA DE SIMBOLOSTABLA DE SIMBOLOS
TABLA DE SIMBOLOS
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
 
Típos de grámatica y más, exposición de compiladores e intérpretes
Típos de grámatica y más, exposición de compiladores e intérpretesTípos de grámatica y más, exposición de compiladores e intérpretes
Típos de grámatica y más, exposición de compiladores e intérpretes
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Maquina de pila abstracta
Maquina de pila abstractaMaquina de pila abstracta
Maquina de pila abstracta
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Chipset en el mercado
Chipset en el mercadoChipset en el mercado
Chipset en el mercado
 
Computacion paralela
Computacion paralelaComputacion paralela
Computacion paralela
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Case
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 

Similar a Clase10 ejemplos asm con tasm y tlink

Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje cmundofranco
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje cvictdiazm
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje cmary219122
 
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_ireneromaweb
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje Cguestbc0748
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosDIEGO BAROJA
 
TEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxTEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxVctorEmmanuelEspinoM
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Carlos Pastorino
 
Programacion C#.NET
Programacion C#.NETProgramacion C#.NET
Programacion C#.NETSaviotec
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje cvictdiazm
 
Ensamblador8086 100921111644-phpapp02
Ensamblador8086 100921111644-phpapp02Ensamblador8086 100921111644-phpapp02
Ensamblador8086 100921111644-phpapp02samueldcruz
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++juliancetis109
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_oscar020615
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++oscar020615
 

Similar a Clase10 ejemplos asm con tasm y tlink (20)

Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje C
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzados
 
TEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxTEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptx
 
Mipag web
Mipag webMipag web
Mipag web
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
 
Programacion C#.NET
Programacion C#.NETProgramacion C#.NET
Programacion C#.NET
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 
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]
 
3
33
3
 
PROGRAMACION EN C
PROGRAMACION EN CPROGRAMACION EN C
PROGRAMACION EN C
 
Ensamblador8086 100921111644-phpapp02
Ensamblador8086 100921111644-phpapp02Ensamblador8086 100921111644-phpapp02
Ensamblador8086 100921111644-phpapp02
 
Paola
PaolaPaola
Paola
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 

Más de Infomania pro

Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semanticoInfomania pro
 
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbClase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbInfomania pro
 
Clase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devClase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devInfomania pro
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppInfomania pro
 
Clase analisis lexico
Clase analisis lexicoClase analisis lexico
Clase analisis lexicoInfomania pro
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoInfomania pro
 
Test1 de Compiladores
Test1 de CompiladoresTest1 de Compiladores
Test1 de CompiladoresInfomania pro
 
Compiladores clase02
Compiladores clase02Compiladores clase02
Compiladores clase02Infomania pro
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosInfomania pro
 
Mapa mental y esquemas
Mapa mental y esquemasMapa mental y esquemas
Mapa mental y esquemasInfomania pro
 
Clase2 introduccion-compiladores-interpretes
Clase2 introduccion-compiladores-interpretesClase2 introduccion-compiladores-interpretes
Clase2 introduccion-compiladores-interpretesInfomania pro
 
Clase2 clasificacion de interpretes
Clase2 clasificacion de interpretesClase2 clasificacion de interpretes
Clase2 clasificacion de interpretesInfomania pro
 
Compilador: DEFINICIÓN
Compilador: DEFINICIÓNCompilador: DEFINICIÓN
Compilador: DEFINICIÓNInfomania pro
 

Más de Infomania pro (18)

Manual80x86
Manual80x86Manual80x86
Manual80x86
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
Clase09 guia1-as
Clase09 guia1-asClase09 guia1-as
Clase09 guia1-as
 
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbClase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugb
 
Clase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devClase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini dev
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
 
Clase analisis lexico
Clase analisis lexicoClase analisis lexico
Clase analisis lexico
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexico
 
Test1 de Compiladores
Test1 de CompiladoresTest1 de Compiladores
Test1 de Compiladores
 
Compiladores clase02
Compiladores clase02Compiladores clase02
Compiladores clase02
 
Tabla simbolos
Tabla simbolosTabla simbolos
Tabla simbolos
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Mapa mental y esquemas
Mapa mental y esquemasMapa mental y esquemas
Mapa mental y esquemas
 
Clase2 introduccion-compiladores-interpretes
Clase2 introduccion-compiladores-interpretesClase2 introduccion-compiladores-interpretes
Clase2 introduccion-compiladores-interpretes
 
Clase2 clasificacion de interpretes
Clase2 clasificacion de interpretesClase2 clasificacion de interpretes
Clase2 clasificacion de interpretes
 
Compilador: DEFINICIÓN
Compilador: DEFINICIÓNCompilador: DEFINICIÓN
Compilador: DEFINICIÓN
 

Último

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
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
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
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
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
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
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
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 

Último (20)

Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
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
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
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
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
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
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
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
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 

Clase10 ejemplos asm con tasm y tlink

  • 1. GUÍA DE EJEMPLOS TASM Y TLINK Clase #18 1 UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” COMPILADORES E INTÉRPRETES CICLO I DOCENTE: ING. MARVIN PARADA EJEMPLOS DE COMPILACION DE CODIGO ENSAMBLADOR USANDO TASM Y TLINK Antes de iniciar la realización de cualquier programa en Lenguaje Ensamblador debemos conocer algunos conceptos básicos. En este caso es primordial el software que utilizaremos para todo el proceso de realización de dichos programas. TASM El Turbo Assembler (TASM), un paquete ensamblador principalmente destinado a la plataforma del IBM PC y sus compatibles. Fue la oferta de Borland en el mercado de herramientas de programación en lenguaje ensamblador para la familia de los microprocesadoresx86. Turbo Assembler también se refiere a un ensamblador común, basado en el microprocesador 6502 para el Commodore 64, creado por la compañía alemana Omikron en 1985. TLINK El enlazador o linkador permite combinar varios módulos objeto, realizando las conexiones entre ellos y, finalmente, los convierte en módulo ejecutable de tipo EXE (empleando el ML de MASM 6.X se obtiene directamente el fichero EXE ya que invoca automáticamente al linkador). El linkador permite el uso de librerías de funciones y rutinas. TLINK, a diferencia de LINK, permite generar un fichero de tipo COM directamente de un OBJ si se indica el parámetro /t, lo que agiliza aún más el proceso. Puede obtenerse ayuda ejecutándolo sin parámetros. Los parámetros de TLINK son sensibles a mayúsculas y minúsculas, por lo que /T no es lo mismo que /t. Un enlazador (en inglés, linker) es un programa que toma los ficheros de código objeto generado en los primeros pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita aquellos recursos que no necesita, y enlaza el código objeto con su(s)biblioteca con lo que finalmente produce un fichero ejecutable o una biblioteca.. En el caso de los programas enlazados dinámicamente, el enlace entre el programa ejecutable y las bibliotecas se realiza en tiempo de carga o ejecución del programa. EDITOR DE TEXTO PARA EL CODIGO FUENTE Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto ó texto plano. Se utiliza para escribir el código fuente de los programas considerando que al guardarse no conserve la extencion txt, ya que debe cambiarse por la extensión asm. En el caso de Windows se usa el Block de Notas de Microsoft, en linus podemos usar gedit o nano. PROCESO DE COMPILACION CON TASM Y TLINK Para iniciar la compilación de los programas de ejemplo, debemos copiar los dos archivos ejecutables TASM.EXE y TLINK.EXE, dentro del directorio donde estarán los archivos de código fuente, en este caso podemos crear un directorio en la unidad C llamado CLASS18.
  • 2. GUÍA DE EJEMPLOS TASM Y TLINK Clase #18 2 Con los archivos de código fuente y los ejecutables al iniciar el proceso de compilación, vamos al directorio y ejecutamos el comando que corresponda. CODIGOS DE EJEMPLO, COMPILADO Y LINKADO
  • 3. GUÍA DE EJEMPLOS TASM Y TLINK Clase #18 3 Creamos el primer ejemplo llamado saludo.asm Entramos al símbolo del sistema (MS-DOS) nos direccionamos en donde se encuentra nuestra carpeta Una vez situados en la dirección correcta, nos dirigimos a compilar nuestro programa. Para la compilación se debe ejecutar la siguiente instrucción: tasm /zi saludo.asm Una vez compilado nos aparecerá un reporte, el cual nos muestra si hay errores en nuestras líneas de código. Con esto se ah realizado la compilación de nuestro programa y está listo para ser ligado. Para linkar el programa. Esto lo haremos con la siguiente instrucción. tlink /v saludo El último paso es la ejecución del programa. Solo escribimos el nombre del programa, sin extensiones. Saludo Al ejecutarlo podemos comprobar que no se realiza acción alguna y que genera ciertos mensajes de advertencia, es porque el programa solo tiene la estructura básica y no estamos indicando que realice una acción determinada. Los caracteres especiales /v y /z tiene la siguiente finalidad.
  • 4. GUÍA DE EJEMPLOS TASM Y TLINK Clase #18 4 /v Desplegar el número de líneas fuente y símbolos procesados. /z Si ocurre un error que nos diga en que línea ocurrió Corregir los errores en los siguientes programas para poder compilarlos:
  • 5. GUÍA DE EJEMPLOS TASM Y TLINK Clase #18 5 PARAMETROS DE TASM /a y /s Seleccionan un orden alfabético o secuencial de los segmentos. /c Genera un listado de referencias cruzadas en un fichero de extensión CRF listo para ser procesado por CREF (MASM) añadiendo además números de línea al listado, o bien incluye el listado de referencias cruzadas directamente dentro del listado del programa (caso de TASM). Las referencias cruzadas son un listado de todos los símbolos del programa, indicando los números de línea del mismo en que son definidos y referenciados. /D De la manera /Dsímbolo[=valor] permite crear el símbolo indicado, cuya presencia puede comprobarse en el programa con una directiva IF (es útil para definir externamente un símbolo que indique que el programa está en fase de depuración, de cara a ensamblar cierto código adicional). Aunque /d (en minúsculas) es un obsoleto parámetro de MASM para obtener un listado de la primera pasada del ensamblador, MASM 4.0 es capaz de darse cuenta de que se pretende definir un símbolo con /d a menos que se indique solo /d. /e Emula las instrucciones de punto flotante del 80x87, apoyándose en una librería al efecto. /Iruta Permite indicar el directorio donde el ensamblador debe de buscar los ficheros indicados en el programa fuente con INCLUDE. /l[a] Con /l se genera un listado de ensamblaje y con /la un listado expandido. /m Con /m se indica el nivel de preservación del sentido de mayúsculas y minúsculas en los símbolos: /ml hace que se consideres diferentes mayúsculas de minúsculas en todos los símbolos, /mx sólo con los símbolos globales y /mu hace que se mayusculicen todos los símbolos globales. Al ensamblar módulos para usar desde lenguaje C hay que indicar por lo menos /mx. En MASM 6.X se emplea /Cx en lugar de /mx, /Cp en lugar de /ml y /Cu en vez de /mu. /n Suprime las tablas de símbolos en el listado. /p Verifica que el código generado para el modo protegido es correcto (al emplear la directiva para generar instrucciones de modo protegido). /t Suprime los mensajes si el ensamblaje es correcto. /w Indica el nivel de advertencias: /w0 ninguna, /w1 sólo las serias y /w2 sólo consejos. /X Lista las condiciones falsas (ensamblaje condicional). /z Visualiza la línea del error y no sólo el número de la misma. /Zi Genera información simbólica para los depuradores de código. /Z dIncluye sólo la información del número de línea.