You are on page 1of 10

TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

Asignatura: Lenguajes de Interfaz


Docente: M. en C.C. Juan Carlos Ambriz Polo
Fecha de asignacin: 8/04/2017
Fecha lmite de entrega: 24/05/2017
Alumno: Omar Nuez Primero
Nota1: Recuerde que las primeras entregas obtiene el 100% del valor, posteriormente por cada clase que
transcurra reduce el 10% esto hasta llegar a la fecha lmite, ya que despus de dicha fecha no se aceptan
entregas. Lea detenidamente las instrucciones y evite omitir pasos, trabaje sobre este formato de lo
contrario no se recibir la prctica. La prctica se realizara de forma individual.

Practica 4 Macros y Procedimientos


Objetivo:
Aplicara macros y procedimientos para la generacin de programas bsicos en
ensamblador.

Actividad 1: Resumir conceptos principales del tema

Redacte un resumen de macros y procedimientos en ensamblador. Nota2: extensin mnima


dos cuartillas.

Actividad 2: Procedimientos

Instrucciones: Codifique los programas que se anexan en la presentacin de


Procedimientos, la cual fue proporcionada en clase, atienda los lineamientos que indica
cada programa. Nota3: Como evidencia integre, el cdigo fuente de cada uno de sus programas
correctamente comentado as como una impresin de pantalla de la ejecucin del mismo, no olvide
colocara pies de imagen debidamente referenciados.

Actividad 3: Macros

Instrucciones: Codifique los programas que se anexan en la presentacin de Macros, la


cual fue proporcionada en clase, atienda los lineamientos que indica cada programa.
Nota3: Como evidencia integre, el cdigo fuente de cada uno de sus programas correctamente
comentado as como una impresin de pantalla de la ejecucin del mismo, no olvide colocara pies
de imagen debidamente referenciados.

Conclusiones: Redacte las conclusiones de su prctica (extensin minina 20 renglones).


TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

Nota final: La copia total o parcial de alguna prctica previamente entregada no ser
recibida y afectara la calificacin otorgada a la persona que entrego previamente. Sea
cuidadoso con sus reportes y productos de las actividades realizadas, evite pasarlos a sus
compaeros. Si se basan en algn ejemplo de libros o de internet es preciso referenciarlo y
hacer nfasis en las mejoras que usted gnero a dicho trabajo.

Actividad 1

Procedimientos:
Tambin son conocidos como rutinas y son una serie de instrucciones que tienen diferentes
utilidades especficas y pueden ser utilizados repetidamente, una vez terminada la ejecucin de
dichas instrucciones devuelve el control a la siguiente lnea que mando a llamar el procedimiento.

Un programa puede tener integrado uno o inclusive cientos de procedimientos, esto


obviamente de pender de la extensin y complejidad del cdigo y el uso del mismo. Para hacer
uso de los procedimientos se necesitan de dos cosas principalmente la primera es definirlo y la
segunda es llamarlo y en lugar de escribir todo el conjunto de pasos nicamente se les llama por
medio de la instruccin CALL.

Cuando definir un procedimiento nos referimos a que se le asignamos las instrucciones que
este debe realizar. Cuando llamamos un procedimiento transferimos el flujo al procedimiento para
que se ejecute el contenido del procedimiento llamado.

Para entender este tema podemos ver que los procedimientos son similares a los mtodos en
un lenguaje de alto nivel ya que estos tambin son llamados para ejecutarse y realizar tareas
especficas.

A los procedimientos se les asignan dos atributos FAR (si se le va a llamar desde otro
segmento) y NEAR (si se le llama desde el mismo segmento). El procedimiento principal de un
programa siempre es FAR.

Las partes que componen a un procedimiento son:

o Declaracin del procedimiento


o Cdigo del procedimiento
o Directiva de regreso
o Terminacin del procedimiento
TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

Un procedimiento se declara de la siguiente manera:

nombreProc PROC [near/far]


Instrucciones a ejecutar
[ret]
nombre ENDP

En la declaracin la primera palabra, nombreProc, corresponde al nombre de nuestro


procedimiento, PROC lo declara como tal y la palabra Near le indica al TASM que el
procedimiento es intrasegmento. La directiva Ret carga la direccin IP almacenada en la pila para
regresar al programa original, por ltimo, la directiva nombreProc Endp indica el final del
procedimiento.

El llamado de este procedimiento se realiza de la siguiente forma:

Call nombreProc

En este procedimiento Call hace el llamado y nombreProc corresponde al nombre de


nuestro procedimiento a llamar.

Macros:
Se define como macro a un conjunto de instrucciones que pueden ser llamados desde
cualquier parte de un programa, este se codifica solo una vez y puede utilizarse cuantas veces sea
necesario. Por eso se dice que sirven para hacer procesos repetitivos.

Para definir una macro se utiliza la directiva MACRO.

El formato de esta directiva es:

NombreMacro MACRO (lista de paramentos que son opcionales)

Un macro esta formado por la siguiente manera:

o Cabecera
o Cuerpo
o Fin

En la cabecera del macro contiene el nombre de la macro, la pseudo-op MACRO y


opcionalmente, variables ficticias que sern pasadas desde la macro, en el cuerpo de la
macro encontraremos todo el cdigo real que ser insertado en cualquier programa que
llame al nombre de la macro y el Fin solo indica el trmino de este.

Existen 2 tipos de macros:


TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

o Internos
o Externos

Una macro interna es aquella que se declara y se llaman dentro del mismo programa, y en el
caso de las macros externas son aquellas que nos ofrecen facilidades de la creacin de bibliotecas,
las cuales son grupos de macros que pueden ser incluidas en un programa desde un archivo
diferente.

ACTIVIDAD 2
1.-Genere un programa en ensamblador el cual incluya 3 procedimientos y maneje los
parmetros Far o Near segn sea el caso

Principal en el cual se despliega el mensaje Procedimiento uno, posteriormente


llama al procedimiento 2.
Procedimiento 2 despliega el mensaje Procedimiento dos posteriormente llama
al procedimiento 3
Procedimiento 3 despliega mensaje de despedida

Figura 1.1 Se puede observar los 3 procedimientos que se ejecutan para la impresin de
cadenas
TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

Figura 1.2 Se puede observar que los resultados de la practica son los que se piden

2.- Genere un programa en ensamblador el cual incluya un procedimiento para cambiar el


modo de video en ejecucin y despliegue un mensaje

Figura 2.1 Se puede observar en el codigo fuente que estn los dos procedimientos uno para el
modo video y otro para el mensaje pedido

Figura 2.2 Se puede observar que el programa se ejecuta de manera correcta y que el modo video
est ejecutndose y se mostr el mensaje
TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

3.- Genere un programa en ensamblador el cual incluya un procedimiento para leer una
cadena mediante la funcin del buffer (0AH), una vez leda despliega la cadena y finaliza el
programa.

Figura 3.1 Se utiliz 2 procedimientos uno para el buffer y otro para la impresin de la cadena
guardada en la variable cadena.

Figura 3.2 La cadena leda con el buffer es impresa

Genere un programa en ensamblador el cual incluya un procedimiento para leer una


carcter (01h ,int 21h), otro para imprimir el carcter (02h, int 21h) y finaliza el programa.
TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

Figura 4.1 Se observa como el primer procedimiento pide el carcter y manda a llamar al
segundo para que este lo imprima

Figura 4.2 el primer procedimientos pide el carcter y el segundo lo imprime.


TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

5.-Genere un programa en ensamblador el cual incluya un procedimiento para leer una


carcter (01h ,int 21h), otro para imprimir el carcter (02h, int 21h) y finaliza el programa.

Figura 5.1 Se observan las 3 macros con sus respectivas instrucciones y las variables a
imprimir en consola.

Figura 5.2 Se observa el resultado de la ejecucin de los macros

Prctica 2: Genere un programa en ensamblador el cual incluya 2 macros con los


siguientes identificadores y funciones:
Modvideo: recibe un parmetro (v1) el cual indica el modo de video que se desea asignar
mediante la funcin 00H de la int 10h
Cursor: recibe 2 parmetros (f,c) los cuales indican la posicin del curso utilizado la
funcin 02h de la int 10h
Use la macro Modvideo para limpiar la pantalla y mediante la macro cursor asigne
sangras a tres cadenas definidas estticamente
TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

Figura 6.1 se observan los posicionamientos que se le dan a las cadenas declaradas y la
funcin de leer

Figura 6.2 El resultado de los posicionamientos son evidentes en la ejecucin del programa

CONCLUCIONES:
TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN

INGENIERA EN SISTEMAS COMPUTACIONALES

A lo largo del desarrollo de la prctica se observaron 2 principales conceptos los cuales son
procedimientos y macros. Como a aprendizaje se puede mencionar que los procedimientos y las
macros tienen muchos beneficios a la hora de desarrollar un programa en ensamblador ya que estos
nos hacen lo hacen ms legible y por otro lado reduce la cantidad de codificacin al ser mas
compacto tambin es ms fcil de leer y esto nos permite tener un cdigo ms entendible y puede
ser visto de una manera ms simple. A su vez nos ayudan a reducir la cantidad de errores causados
por la codificacin repetitiva ya que estos pueden ser llamados en cualquier parte del cdigo.

Cabe mencionar que los procedimientos y las macros nos ayudan a fortalecer la
organizacin del programa ya que pueden ser divididos en bloques de cdigo, y al mismo tiempo se
puede detectar los errores de manera aislada ayudando al fcil mantenimiento del programa por su
fcil identificacin. Una forma ms de diferenciar entre una macro y un procedimiento es la forma
en que se declaran ya que en el procedimiento se usa una directiva y con las macros la llamada se
realiza como si se tratara de una instruccin del ensamblador.

Puedo concluir que las macros nos proporcionan la posibilidad de simplificar mucho el
cdigo de los programas, pues basta sencillamente con mandar llamar la macro a determinada
seccin del cdigo para realizar una tarea especfica. Y los procedimientos nos ayudan a crear
programas legibles y fciles de modificar. Y as mismo se puede determinar que un procedimiento
es una extensin de un determinado programa, mientras que la macro es un mdulo con funciones
especficas que puede ser utilizado por diferentes programas.

You might also like