Anda di halaman 1dari 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.

: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

ENSAMBLADOR 8086
TASM/MASM/EMU8086

PROGRAMACIN
PRCTICAS DE LABORATORIO

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 1 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

Introduccin

Estas prcticas se han elaborado para orientar a los alumnos de la materia de INFORMTICA BSICA en el aprendizaje de algoritmos computacionales dentro del Lenguaje Ensamblador y el entorno TASM / MASM

Todas las prcticas de laboratorio estarn estructuradas de la siguiente forma:

Objetivo. Recursos. Teora. Desarrollo de ejercicios y entrega de resultados

NOTAS: EL RESULTADO DE CADA PROGRAMA DE ESTA PRCTICA, SE ENVIARA AL CORREO: PROF. ING. JORGE RAMOS GARCIA, josh_ram@hotmail.com (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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 2 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

PRACTICA NO. 0 INICIANDO.


(Es para desarrollar en el centro de cmputo, el TASM funciona bajo WIN 32 bits, para configuracin 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) podrs realizar esta prctica.

RECURSOS:

Para implementar los ejercicios de programacin en lenguaje ensamblador se utilizarn 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 versin 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 programacin 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 programacin 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 tambin poda ensamblar los archivos de cdigo 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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 3 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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 SEGN 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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 4 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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
;----------------------------------------------------------------

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 5 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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 mtodo 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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 6 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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>

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 7 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 8 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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 ejecucin, mostrar en pantalla un mensaje HOLA MUNDO, !!!!!!!!!

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 9 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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 funcin 9 ;de la INT 21h

.CODE principal: mov ax,@data mov ds,ax mov ah,9 mov dx, OFFSET HelloMessage int 21h mov ah, 4ch int 21h ; punto de inicio del programa ; hace apuntar DS hacia el segmento de datos ; funcin de impresin de string de MS-DOS ;carga DX con el offset de "Hello, ;world" dentro de DATA ; llama a la INT 21h para imprimir el mensaje ; 4Ch es la funcin del DOS para terminar la ; ejecucin de un programa ; finaliza la ejecucin, retorna al prompt del MS-DOS

END principal ; directiva que le notifica al TASM el fin del cdigo ; ----------------------------------------------------------------

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 10 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

3.

UTILIZANDO EL ARCHIVO HOLA.ASM, NUEVAMENTE LEERLO DESDE EL EDITOR DE TEXTO Y REALIZAR LO SIGUIENTE:

modifique la lnea 23 para que en lugar de tener la instruccin: 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 CONTINUACIN 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 GRBELO 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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 11 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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.

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 12 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 13 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

;------------------------------------_SALIR_DOS: MOV AH,4CH INT 21H END _MENU

6. DISEAR 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. Arqumedes (cientfico griego, alumno de Euclides, 287-212 a.C.): "Dadme un punto de


apoyoy levantar el Mundo"

2. Aristteles de Estagira (filsofo griego, discpulo de Platn y preceptor de Alejandro Magno,


384-322 a.C.): "Saber es acordarse"

3. Aristteles de Estagira (filsofo griego, discpulo de Platn y preceptor de Alejandro Magno,


384-322 a.C.): " Lo que est en nuestro poder hacer, tambin est en nuestro no poder hacerlo" 4. Aristteles de Estagira (filsofo griego, discpulo de Platn y preceptor de Alejandro Magno, 384-322 a.C.): "Todo lo que hacemos est puesto con el ojo en otra cosa" 5. Antstenes de Atenas (filsofo griego, discpulo de Gorgias y Scrates, fundador de la escuela cnica, 455-360 a.C.): "Consulta el ojo de tu enemigo, porque es el primero que ve tus defectos" 6. Albert Einstein (fsico alemn, nacionalizado suizo y luego estadounidense, 1879-1955): "No se cmo sera la III Guerra Mundial, pero la cuarta sera con piedras" 7. Albert Einstein (fsico alemn, nacionalizado suizo y luego estadounidense, 1879-1955): "Si tu intencin es describir la verdad, hazlo con sencillez y la elegancia djasela al sastre" 8. Albert Einstein (fsico alemn, nacionalizado suizo y luego estadounidense, 1879-1955): "Dios no juega a los dados" (Ver cita de Bohr). 9. Albert Einstein (fsico alemn, nacionalizado suizo y luego estadounidense, 1879-1955): "la imaginacion es ms importante que el conocimiento." 10. Thomas Alva Edison (inventor estadounidense, 1847-1931): "No sabemos ni un cienmilmillonsimo de nada"

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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 14 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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 MOV AH, 09H INT 21H Rutina para enviar a pantalla un solo caracter. MOV DL, caracter MOV AH,02H INT 21H (LEA DX, mensaje)

iii.

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 15 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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,' 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 ********************************** $' ** ** $' ** informatica ** $' ** ** $' ********************************** $'

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 16 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

8.

EMU8086. (tambin puede desarrollar los puntos anteriores en este emulador)

El Emulador EMU8086 es el programa que se utiliza en la programacin de lenguaje ensamblador 8086, es un emulador que posee una interfaz de usuario muy amistosa que permite familiarizarse con los fundamentos de la programacin en lenguaje ensamblador de forma muy intuitiva, aparte de eso brinda una serie de recursos para ejecutar y depurar los programas. Tambin tiene algunas desventajas como el de no soportar algunas de las interrupciones ms interesantes que posee el sistema operativo y tampoco puede acceder a los puertos fsicos (reales), sino que los emula usando otros programas que ya estn 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

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 17 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

b) Seleccionar en EXE

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 18 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

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

Para empezar a compilar le damos clic al botn emulate.

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 19 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

Si nuestro programa esta correcto nos se abre la pantalla del emulator y el cdigo original

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

d) Para ejecutar en RUN

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 20 / 21

MATERIA: INFORMATICA BSICA CLAVE: CEI02.09 PREREQUISITOS: Leguaje de programacin. DPTO.: COMUNICACIONES Y ELECTRNICA SALON: 309 TRIM: Invierno 2013

PROFESOR: M. en ING. JORGE RAMOS GARCIA. GPO: B Email: josh_ram@hotmail.com DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mex. HORARIO: MARTES y JUEVES de 10:00pm a 11:55pm

9.

RESUMEN. El trmino ensamblador (del ingls assembler) se refiere a un tipo de programa informtico que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene cdigo mquina, ejecutable directamente por la mquina para la que se ha generado. El propsito para el que se crearon este tipo de aplicaciones es la de facilitar la escritura de programas, ya que escribir directamente en cdigo binario, que es el nico cdigo entendible por la computadora, es en la prctica imposible. La evolucin de los lenguajes de programacin a partir del lenguaje ensamblador origin tambin la evolucin 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 cdigos nemotcnicos que aparecen por su cdigo de operacin correspondiente en sistema binario para la plataforma que se eligi como destino en las opciones especficas del ensamblador.

INVESTIGACIN

para entregar dentro del reporte de la prctica.

a. b. c. d. e. f. g.

Que es un DEPURADOR / Debugger.? Y su funcionamiento. Que es un DESCOMPRESOR? Que es un Desensamblaldor / Disassembler? Que es el sistema numrico HEXADECIMAL? Por su extensin cuantos tipos de archivo ejecutables hay (plataforma PC)? Que es un archivo fuente? Que es un archivo objeto?

LENGUAJE ENSAMBLADOR 8086 USANDO TASM/EMU8086/MASM

Correo Electrnico: josh_ram@hotmail.com

Pagina 21 / 21

Anda mungkin juga menyukai