Practica Introductoria Informatica Basica

21
MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA. CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 1 / 21 ENSAMBLADOR 8086 TASM/MASM/EMU8086 PROGRAMACIÓN PRÁCTICAS DE LABORATORIO

Transcript of Practica Introductoria Informatica Basica

Page 1: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 1 / 21

ENSAMBLADOR 8086 TASM/MASM/EMU8086

PROGRAMACIÓN PRÁCTICAS DE LABORATORIO

Page 2: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 2 / 21

Introducción

Estas prácticas se han elaborado para orientar a los alumnos de la materia de INFORMÁTICA BÁSICA en

el aprendizaje de algoritmos computacionales dentro del Lenguaje Ensamblador y el entorno TASM /

MASM

Todas las prácticas de laboratorio estarán estructuradas de la siguiente forma:

Objetivo.

Recursos.

Teoría.

Desarrollo de ejercicios y entrega de resultados

NOTAS:

EL RESULTADO DE CADA PROGRAMA DE ESTA PRÁCTICA, SE ENVIARA AL CORREO: PROF. ING. JORGE

RAMOS GARCIA, [email protected] (pantalla de resultados y los archivos fuente .ASM)

REVISE Y ESTUDIE CADA EJERCICIO Y TRATE DE ENTENDERLOS PARA LOS EJERCICIOS QUE SE

REALIZARAN EN LAS SIGUIENTES PRACTICAS.

CUALQUIER DUDA O COMENTARIO FAVOR DE EXPRESARLO

Page 3: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 3 / 21

PRACTICA NO. 0 INICIANDO. (Es para desarrollar en el centro de cómputo, el TASM funciona bajo WIN 32 bits, para configuración superior utiliza el EMU8086)

OBJETIVO:

EN ESTA PRACTICA DESARROLLAREMOS EL USO y EL PROCEDIMIENTO DEL ENSAMBLADOR TASM PARA EL

MICROPROCESADOR 8086 Y SUPERIORES. Igualmente si utilizas el EMU8086 (descargar desde la web, es software con

licencia) podrás realizar esta práctica.

RECURSOS:

Para implementar los ejercicios de programación en lenguaje ensamblador se utilizarán las siguientes herramientas de software:

Editor: EDIT / NE / o cualquier otro que genere archivos ASCII. Ensamblador: TASM.EXE // Emu8086 // MASM

Enlazador: TLINK.EXE RTM.EXE para cierta versión de Tasm

TEORIA.

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

microprocesadores x86. Como se pudiera esperar, trabajaban bien con los compiladores de lenguaje de alto nivel de Borland para

los PC, como Turbo C y Turbo Pascal. Junto con el resto de suite de lenguajes de programación Turbo, Turbo Assembler ya no es

mantenido.

El paquete Turbo Assembler vino junto con el enlazador Turbo Linker, y era interoperable con el depurador Turbo Debugger. Para

la compatibilidad con el ensamblador Microsoft Macro Assembler (MASM) de Microsoft, TASM también podía ensamblar los

archivos de código fuente del MASM por medio de su modo MASM. Al igual que éste, es un ensamblador de alto nivel

REFERENCIA: http://es.wikipedia.org/wiki/Turbo_Assembler

Page 4: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 4 / 21

DESARROLLO.

1. OBTENER LOS ARCHIVOS QUE SE USARAN EN EL ENSAMBLADOR 8086 PARA ENSAMBLAR UN

ARCHIVO FUENTE .ASM Y REALIZAR SU EJECUCION. TODO ES LLEVARLO A CABO EN EL MODO DE

SISTEMA MSDOS.

PASO 1.

CONECTESE A INTERNET Y MEDIANTE UN BUSCADOR (EJ. GOOGLE) LOCALICE EL SITIO DONDE SE

ENCUENTREN LOS ARCHIVOS TASM.EXE Y TLINK.EXE EN CUALQUIERA DE LAS VERSIONES.

PASO 2.

UNA VEZ QUE TENGA LOCALIZADOS LOS ARCHIVOS DESCARGUELOS Y GRABELOS EN UN CARPETA

DE SU DISCO DURO (EJ. C:\INFORMATICA> ) O EN SU MEMORIA USB. (EJ. G:\INFORMATICA>). EN CASO DE

ESTAR COMPRIMIDOS, HAGA UNA EXTRACCION DE ESOS ARCHIVOS O TODOS SEGÚN SEA EL CASO.

PASO 3.

ABRA EL EDITOR DE TEXTO (EJ. BLOCK DE NOTAS DE WINDOWS) Y ESCRIBA EL SIGUIENTE

PROGRAMA EN ENSAMBLADOR. LA ESTRUCTURA SIGUIENTE ES LA FORMA ESTANDAR.

UNA VEZ ESCRITO LAS INSTRUCCIONES DEL SIGUIENTE PROGRAMA, GUARDELO EN LA CARPETA

DONDE SE LOCALIZA TAMBIEN LOS ARCHIVOS TASM.EXE Y TLINK.EXE, EL NOMBRE DEL ARCHIVO SERA

UTILIZANDO SOLO DE 1 A 8 CARACTERES DE LONGITUD Y LA EXTENSION DEBERA SER .ASM.

POR EJEMPLO GUARDELO COMO: HOLA.ASM EN SU CARPETA C:\INFORMATICA O G:\INFORMATICA

Page 5: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 5 / 21

LISTADO DEL PRIMER PROGRAMA ESCRITO EN ENSAMBLADOR 8086 USANDO TASM

;--------------------------------------------------------- guarde este archivo como HOLA.ASM

;

; HOLA.ASM

;

; PROGRAMA CLASICO DE EJEMPLO EN ENSAMBLADOR. DESPLIEGA MENSAJE EN

PANTALLA

PILA SEGMENT STACK

DW 64 DUP(?)

PILA ENDS

DATA SEGMENT

SALUDO DB 'HOLA MUNDO, !!!!!!!!! ',10,13,'$' ; MENSAJE EN CADENA SALUDO

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS:PILA

INICIO:

MOV AX,DATA

MOV DS,AX

MOV DX,OFFSET SALUDO ;ENVIA EL MENSAJE A PANTALLA

MOV AH,09H ;SERVICIO PARA ENVIAR MENSAJE

INT 21H ;INTERRUPCION DOS

MOV AH,4CH ;SALIR A MODO DE SISTEMA

INT 21H

CODE ENDS

END INICIO

;----------------------------------------------------------------

Page 6: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 6 / 21

PASO 4.

ABRA UNA VENTANA AL MODO DE SISTEMA (DOS) UTILIZANDO CUALQIERA DE LOS DOS METODOS

SIGUIENTES:

a) METODO 1.

DE CLICK EN INICIO

DE CLICK EN EJECUTAR

ESCRIBA EL COMANDO: CMD

APARECERA LA VENTANA

b) METODO 2.

dar click en inicio

dar click en todos los programas

dar click en accesorios

dar click en modo de sistema y aparecerá la misma venta activa del método 1

PASO 5.

ESTANDO EN LA VENTANA ACTIVA DE DOS, CAMBIE A SU CARPETA DE TRABAJO DONDE SE TIENEN

LOS ARCHIVOS TASM.EXE, TKINK.EXE Y HOLA.ASM DESDE MSDOS COMO SE INIDICA

SI SU CARPETA ESTA EN LA UNIDAD C:

CD ..

CD ..

CD INFORMATICA

Page 7: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 7 / 21

SI SU CARPETA ESTA EN OTRA UNIDAD, EJEMPLO UNA USB DENOMINADA H:

SIMPLEMENTE ESCRIBA LA LETRA DE LA UNIDAD SEGUIDA DE DOS PUNTOS,

EJEMPLO H:

LUEGO APARECERA EL PROMOPT

H:>-

LUEGO ESCRIBA:

CD INFORMATICA

APARECERA

H:\INFORMATICA>

Page 8: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 8 / 21

PASO 6.

DESDE LA VENTANA ACTIVA DE MSDOS ENSAMBLAMOS NUESTRO ARCHIVO HOLA.ASM

TECLEAMOS:

tasm /L /zi hola.asm

Turbo Assembler comenzará a ensamblar al programa desplegando:

Turbo Assembler Version 4.1 Copyright (c) 1988 by Borland International

Assembling file: HOLA.ASM

Error messages: None

Warning messages: None

Remaining memory: 407k

Use el comando DIR para observar los archivos generados por el programa Turbo Assembler,

tecleando: dir

Estos son: hola.obj

hola.lst

Page 9: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 9 / 21

Para convertir el programa objeto en un programa ejecutable usaremos el programa TLINK.EXE,

tecleando:

tlink /v /m /s /L hola

TLink empezará a convertir el programa desplegando lo siguiente:

Turbo Link Version 2.0 Copyright (c) 1987, 1988 By Borland International

Use el comando DIR para observar los archivos generados por el programa TLink, tecleando:

dir

Estos son:

hola.map

hola.exe

PASO 7.

YA ENSAMBLADO Y COMPILADO EL ARCHIVO HOLA.ASM AL ARCHIVO HOLA.EXE, LO PODEMOS

EJECUTAR ESCRIBIENDO EL NOMBRE Y ENTER.

C:\INFORMATICA> HOLA <enter>

Resultado de la ejecución, mostrar en pantalla un mensaje “HOLA MUNDO, !!!!!!!!!”

Page 10: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 10 / 21

2. EN ESTE PUNTO, SE LLEVARA A CABO EL MISMO PROCEDIMIENTO DESDE EL PASO 3 DEL PUNTO 1

ANTERIOR, ABRIENDO NUEVAMENTE EL EDITOR Y ESCRIBIR EL SIGUIENTE PROGRAMA EN

ENSAMBLADOR. ESTE PROGRAMA ESTARA ESCRITO OTRO FORMATO O ESTRUCTURA, SE LE DENOMINA

ESTRUCTURA COMPACTA.

ASMISMO, EL PROGRAMA YA ESCRITO SE GUARDARA CON EL NOMBRE DE ARCHIVO HELLO.ASM Y SE

ENSAMBLARA PARA SU EJECUCION- PRUEBE SU RESULTADO.

;----------------------------------------------------------------- ;HELLO.ASM – Presenta el mensaje "Hello World"

;

.MODEL SMALL

.STACK 100h

.DATA

HelloMessage DB ' ...... Hello , world …... ', 13, 10,'$' ;‘$’ es el terminador

;para la función 9

;de la INT 21h

.CODE

principal:

mov ax,@data ; punto de inicio del programa

mov ds,ax ; hace apuntar DS hacia el segmento de datos

mov ah,9 ; función de impresión de string de MS-DOS

mov dx, OFFSET HelloMessage ;carga DX con el offset de "Hello,

;world" dentro de DATA

int 21h ; llama a la INT 21h para imprimir el mensaje

mov ah, 4ch ; 4Ch es la función del DOS para terminar la ; ejecución de un programa

int 21h ; finaliza la ejecución, retorna al prompt del MS-DOS

END principal ; directiva que le notifica al TASM el fin del código

; ----------------------------------------------------------------

Page 11: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 11 / 21

3. UTILIZANDO EL ARCHIVO HOLA.ASM, NUEVAMENTE LEERLO DESDE EL EDITOR DE TEXTO Y REALIZAR

LO SIGUIENTE:

modifique la línea 23 para que en lugar de tener la instrucción: mov DS,AX

se tenga un error de sintaxis: mob DS,AX

Grabe el programa y salga del editor.

Trate de ensamblar el programa, repitiendo los pasos de ensamblado como en el punto 1. El

ensamblador desplegará el siguiente mensaje de error:

4. A CONTINUACIÓN SE PRESENTA UN ARCHIVO DE PROCESAMIENTO POR LOTES (BATCH) QUE PERMITE

AUTOMATIZAR EL PROCESO DE ENSAMBLAR (TASM.EXE) Y ENLAZAR (TLINK.EXE) UN PROGRAMA EN

ENSAMBLADOR. UTILIZA EL EDITOR DE TEXTO PARA CREARLO Y GRÁBELO EN SU DISCO Y CARPETA DE

TRABAJO (C:\INFORMATICA>), CON EL NOMBRE COMPILAR.BAT.

------------------------------ ESCRIBA Y GRABE LO SIGUIENTE

Rem Este archivo de procesamiento por lotes ensambla y liga un

rem programa fuente usando el macroensamblador del 8086:

rem TURBO ASSEMBLER y el ligador TLINK de Borlant Int.

@echo off

rem Si no se incluyo el nombre del archivo

Page 12: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 12 / 21

if $$%1 == $$ goto ERROR1

rem Si no existe el archivo

if not exist %1.asm goto ERROR2

rem llama al ensamblador

tasm /l /zi %1.asm

rem Si hubo un error al ensamblado

if errorlevel 1 goto FIN

rem Llama al ligador

tlink /v /m /s /l %1

goto FIN

:ERROR1

echo .

echo Uso: ASSM nomArch (omita la extension .asm)

echo .

goto FIN

:ERROR2

echo .

echo No existe el archivo %1.asm

echo .

:FIN

CON ESTE ARCHIVO, USTED YA NO ESCRIBIRA POR SEPARADO TASM O TLINK, SINO QUE SOLO ESCRIBIRA EL

NOMBRE COMPILAR Y EL ARCHIVO A ENSAMBLAR Y ENLAZAR, COMO SE MUESTRA:

C:\INFORMATICA> COMPILAR HOLA

DESPUES DE ESTO, SE HABRAN GENERADO LOS ARCHIVOS: .LST, .MAP, .OBJ Y .EXE DEL ARCHIVO

ENSAMBLADO.

AL UTILIZAR ESTA FORMA NO ES NECESARIO ESCRIBIR LA EXTENSION .ASM, TAL COMO SE MUESTRA

ARRIBA NI LA EXTENSION .BAT EN EL NOMBRE DE COMPILAR.

Page 13: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 13 / 21

5. ENSAMBLE, COMPILE Y EJECUTE EL SIGUIENTE PROGRAMA.

; MOSTRANDO UN MENU EN PANTALLA

; SOLO SE EXHIBEN LAS OPCIONES, NO SE REALIZAR NINGUNA OPERACION

;----------------------------------------------------------------

.MODEL SMALL

.STACK

.DATA

CrLf db 10,13,10,13,'$'

menu db 10,13,' 1. ALTA '

db 10,13,' 2. BAJA '

db 10,13,' 3. MODIFICACION'

db 10,13,' 4. LISTADO '

db 10,13,' 5. IMPRIMIR '

db 10,13,' 6. SALIR '

db 10,13,' '

db 10,13,' Opcion?: $'

msg db 10,13,' -- MENU PRINCIPAL -- ',10,13,10,13,'$'

.CODE

_MENU:

;SEGMENTO DE DATOS

MOV AX,@DATA

MOV DS,AX

;-------------------------------------

;LIMPIAR PANTALLA

mov ah,00h

mov al,03h int 10h

;MOSTRAR TITULO EN MSG

MOV DX,OFFSET MSG

MOV AH,09H

INT 21H

;MOSTRAR MENU

MOV DX,OFFSET MENU

MOV AH,09H

INT 21H

;LEER TECLADO

MOV AH,01H

INT 21H

Page 14: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 14 / 21

;------------------------------------- _SALIR_DOS:

MOV AH,4CH

INT 21H

END _MENU

6. DISEÑAR UN PROGRAMA EN ENSAMBLADOR UTILIZANDO LA ESTRUCTURA COMPACTA (como el programa

visto en punto 2) QUE MUESTRE EN PANTALLA TODO EL TEXTO QUE SE INDICA A CONTINUACION.

;-------------------------------------------------------------------------------------------

1. Arquímedes (científico griego, alumno de Euclides, 287-212 a.C.): "Dadme un punto de apoyoy levantaré el Mundo"

2. Aristóteles de Estagira (filósofo griego, discípulo de Platón y preceptor de Alejandro Magno, 384-322 a.C.): "Saber es acordarse"

3. Aristóteles de Estagira (filósofo griego, discípulo de Platón y preceptor de Alejandro Magno, 384-322 a.C.): " Lo que está en nuestro poder hacer, también está en nuestro no poder hacerlo"

4. Aristóteles de Estagira (filósofo griego, discípulo de Platón y preceptor de Alejandro Magno, 384-322 a.C.): "Todo lo que hacemos está puesto con el ojo en otra cosa"

5. Antístenes de Atenas (filósofo griego, discípulo de Gorgias y Sócrates, fundador de la escuela cínica, 455-360 a.C.): "Consulta el ojo de tu enemigo, porque es el primero que ve tus defectos"

6. Albert Einstein (físico alemán, nacionalizado suizo y luego estadounidense, 1879-1955): "No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras"

7. Albert Einstein (físico alemán, nacionalizado suizo y luego estadounidense, 1879-1955): "Si tu intención es describir la verdad, hazlo con sencillez y la elegancia déjasela al sastre"

8. Albert Einstein (físico alemán, nacionalizado suizo y luego estadounidense, 1879-1955): "Dios no juega a los dados" (Ver cita de Bohr).

9. Albert Einstein (físico alemán, nacionalizado suizo y luego estadounidense, 1879-1955): "la imaginacion es más importante que el conocimiento."

10. Thomas Alva Edison (inventor estadounidense, 1847-1931): "No sabemos ni un

cienmilmillonésimo de nada"

;----------------------------------------------------------------------------------------------

Page 15: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 15 / 21

APUNTES PARA ESTE EJERCICIO:

i. ESTRUCTURA COMPACTA DE UN PROGRAMA EN ENSAMBLADOR USANDO TASM

.MODEL SMALL

.STACK

.DATA ; variables a inicializar

.CODE

_INICIO:

MOV AX,@DATA

MOV DS,AX

;--------------------------------------

;--------------------------------------

_SALIR:

MOV AH,4CH

INT 21H

END _INICIO

ii. RUTINA PARA ENVIAR A PANTALLA DE TEXTO UN MENSAJE

MOV DX, OFFSET mensaje (LEA DX, mensaje)

MOV AH, 09H

INT 21H

iii. Rutina para enviar a pantalla un solo caracter.

MOV DL, caracter

MOV AH,02H

INT 21H

Page 16: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 16 / 21

7. EJECUTAR EL SIGUIENTE PROGRAMA:

;------------------------------------

; fecha:

; Materia: Informatica Basica

; Universidad de Guanajuato

; ------------------------------------

Title caracteres_en_pantalla

.model small

.Stack

.data

linea1 db 10,13,' ********************************** $'

linea2 db 10,13,' ** ** $'

linea3 db 10,13,' ** informatica ** $'

linea4 db 10,13,' ** ** $'

linea5 db 10,13,' ********************************** $'

.code

programa_caracteres:

mov ax,@data

mov ds,ax

lea dx,linea1

mov ah,09h

int 21h

lea dx,linea2

mov ah,09h

int 21h

lea dx,linea3

mov ah,09h int 21h

lea dx,linea4

mov ah,09h

int 21h

lea dx,linea5

mov ah,09h

int 21h

d_o_s:

mov ah,4ch

int 21h

end programa_caracteres

Page 17: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 17 / 21

8. EMU8086. (también puede desarrollar los puntos anteriores en este emulador)

El Emulador EMU8086 es el programa que se utiliza en la programación de lenguaje ensamblador 8086, es un emulador que posee

una interfaz de usuario muy amistosa que permite familiarizarse con los fundamentos de la programación en lenguaje ensamblador

de forma muy intuitiva, aparte de eso brinda una serie de recursos para ejecutar y depurar los programas. También tiene algunas desventajas como el de no soportar algunas de las interrupciones más interesantes que posee el sistema operativo y tampoco puede

acceder a los puertos físicos (reales), sino que los emula usando otros programas que ya están incluidos en su respectiva carpeta.

Una vez instalado se inicia ejecutando el archivo EMU886.exe, que se encuentra en la carpeta del mismo nombre.

a) Seleccionamos en NEW

Page 18: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 18 / 21

b) Seleccionar en EXE

Page 19: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 19 / 21

c) Iniciar la escritura del programa en ensamblador para generar el código fuente.

Para empezar a compilar le damos clic al botón emulate.

Page 20: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 20 / 21

Si nuestro programa esta correcto nos se abre la pantalla del emulator y el código original

La pantalla del lado izquierdo muestra el código del programa que estamos compilando y la siguiente pantalla es del emulador.

d) Para ejecutar en RUN

Page 21: Practica Introductoria Informatica Basica

MATERIA: INFORMATICA BÀSICA PROFESOR: M. en ING. JORGE RAMOS GARCIA.

CLAVE: CEI02.09 GPO: B PREREQUISITOS: Leguaje de programación. Email: [email protected] DPTO.: COMUNICACIONES Y ELECTRÒNICA DICIS – DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA

UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. SALON: 309 TRIM: Invierno 2013 HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM Correo Electrónico: [email protected] Pagina 21 / 21

9. RESUMEN.

El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático que se encarga de traducir un

fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado. 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 ensamblador originó también

la evolución de este programa ensamblador hacia lo que se conoce como programa compilador.

Funcionamiento

El programa lee el fichero escrito en lenguaje ensamblador 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.

INVESTIGACIÓN para entregar dentro del reporte de la práctica.

a. Que es un DEPURADOR / Debugger.? Y su funcionamiento.

b. Que es un DESCOMPRESOR?

c. Que es un Desensamblaldor / Disassembler?

d. Que es el sistema numérico HEXADECIMAL?

e. Por su extensión cuantos tipos de archivo ejecutables hay (plataforma PC)?

f. Que es un archivo fuente?

g. Que es un archivo objeto?