Inv Procedimientos LE

7
INSTITUTO TECNOLÓGICO SUPERIOR DE LERDO INGENIERÍA EN SISTEMAS COMPUTACIONALES MATERIA: LENGUAJES DE INTERFAZ UNIDAD 3 MODULARIZACIÓN INVESTIGACIÓN (LENGUAJE ENSAMBLADOR): INVESTIGACIÓN SOBRE PROCEDIMEINTOS, SU SINTAXIS, EXPLICACIÓN Y UN EJEMPLO DOCENTE: ING. NANCY GABRIELA MARÍN CASTAÑEDA ALUMNO: VILLEGAS RIVERA LUIS MANUEL_12231387 GRUPO: VI “B” FECHA DE ENTREGA: MIÉRCOLES 15 DE ABRIL DE 2015

description

Procedimientos Lenguaje Ensamblador

Transcript of Inv Procedimientos LE

INSTITUTO TECNOLGICO SUPERIOR DE LERDOINGENIERA EN SISTEMAS COMPUTACIONALES

MATERIA:LENGUAJES DE INTERFAZ

UNIDAD 3 MODULARIZACININVESTIGACIN (LENGUAJE ENSAMBLADOR):INVESTIGACIN SOBRE PROCEDIMEINTOS, SU SINTAXIS, EXPLICACIN Y UN EJEMPLO

DOCENTE:ING. NANCY GABRIELA MARN CASTAEDA

ALUMNO:VILLEGAS RIVERA LUIS MANUEL_12231387

GRUPO:VI B

FECHA DE ENTREGA:MIRCOLES 15 DE ABRIL DE 2015

CD. LERDO DGO. SEMESTRE: ENE-JUN 2015IntroduccinUn procedimiento es una coleccin de instrucciones relacionadas que realiza una tarea especfica. Tambin un procedimiento puede contener un conjunto de instrucciones que deseamos que se ejecuten en varias partes del programa. Los procedimientos de lenguaje ensamblador tienen su contra parte en los lenguajes de alto nivel, por ejemplo, en el lenguaje C estos procedimientos se llaman funciones.Aunque en los lenguajes de alto nivel, el mecanismo empleado por los procedimientos para implementar su llamada, ejecucin y regreso es transparente para el usuario, en ensamblador se requiere entender ese mecanismo. Un componente indispensable empleado por ese mecanismo es la pila del programa.

Desarrollo del TemaLos procedimientos son algo similar a los mtodos en un lenguaje de alto nivel, son llamados para ejecutarse y al terminar continuar la linea siguiente despus de haber llamado el procedimiento, los procedimientos son usados para realizar tareas en especfico como lo puede ser imprimir cierto mensaje en pantalla o hacer alguna operacion aritmtica.

Las partes que componen a un procedimiento son: Declaracin del procedimiento. Cdigo del procedimiento. Directiva de regreso. Terminacin del procedimiento.

Las principales ventajas en el uso de procedimientos son: permiten una codificacinms limpia y compacta, es decir el cdigo fuente es ms pequeo; tambin permiten el ahorro de memoria, esto es porque un mismo procedimiento puede ser llamado varias veces en el mismo programa y slo requiere memoria una vez. Los procedimientos tienen la desventaja de que reducen la velocidad de ejecucin de losprogramas, esto se debe a la forma en que los procedimientos se ejecutan. A continuacin se presentan los pasos necesarios para ejecutarun procedimiento:

1.- Se encuentra la llamada Call.2.- El microprocesador almacena en la Pila el contenido del IP3.- Se coloca en el IP el valor del desplazamiento correspondiente al Procedimiento4.- El microprocesador ejecuta las instrucciones del procedimiento5.- El procedimiento termina cuando se encuentra la instruccin Ret.6.- Se saca de la pila el valor original del IP y se contina el flujo del programaUn procedimiento se declara de la siguiente manera:

nombreProc PROC [near/far] Instrucciones a ejecutar[ret]nombre ENDP

Las directivas PROC y ENDP indican el inicio y el fin del procedimiento, nombreProc indica el nombre del procedimiento, debe ser nico y no debe tener el nombre de una directiva o palabra reservada.

Near/far depende si la operacin implica un procedimiento cercano o lejano.

La instruccin ret regresa al segmento donde fue invocado el procedimiento.

La llamada a un procedimiento se hace mediantecallnombreProc.

Ejemplo de un procedimiento que imprime un mensaje:.model small.stack 64.data msj db 0ah,0dh, 'Mi primer procedimiento','$' msj2 db 0ah,0dh, 'miensamblador.blogspot','$'.codeinicio:

call imprime ;Llamada al procedimiento imprimecall imprime2

Salir: ;Etiqueta para salir del programamov ah,04chint 21h

imprime proc near ;Declaracin de el procedimiento imprime, imprime un mensaje mov ax,@data mov ds,ax mov ah,09h mov dx,offset msj int 21h ret ;regresamos el procedimiento de donde lo llamaron.imprime endp

imprime2 proc near mov ax,@data mov ds,ax mov ah,09h mov dx,offset msj2 int 21hretimprime2 endp

endProcedimientos ExternosLos procedimientos externos, a diferencia de los internos, se declaran en mdulos o programas separados al programa donde el procedimiento es llamado, en otras palabras, la llamada al procedimiento se encuentra en un programa y el procedimiento en otro.

Para poder utilizar procedimientos externos, es necesario que sean declarados como pblicos en el programa donde se encuentran y que sean llamados como externos en el programa donde sern usados. Cuenta con tres directivas de ensamble: .PUBLIC para declarar los procedimientos como pblicos, .EXTERN para indicar que el procedimiento que se va a usar est fuera del programa y .INCLUDE para enlazar el programa que Por ISC Ricardo Espinosa contiene los procedimientos con el programa que los llama. Con estas capacidades, es fcilCrear bibliotecas de procedimientos y macros que puedan ser utilizados constantemente por los dems programas, ahorrando con ello tiempo de programacin al reutilizar cdigo fuente.

Por ejemplo Este programa muestra la forma de utilizar procedimientos y datos externos en los programas por medio de las directivas de inclusin include y public.

.MODEL TINY.INCLUDE proc2.ASM ;Incluir el archivo proc2.asm;el cual contiene la variable de cadena;Cad1 y los procedimientos externos;usados en este programa..DATACad2 db 'Esta es una cadena de prueba 2...',13,10,'$'.CODEINICIO: ;Punto de entrada al programaMov Dl,20 ;X=20Mov Dh,10 ;Y=10Call GotoXY ;GotoXY 20,10Lea DX,Cad2 ;DX->Cad2 en Proc3.asmCall Imprime_Cad ;Imprime Cad2Lea DX,Cad1 ;DX->Cad1 en Proc2.asmCall Imprime_Cad ;Imprime Cad1Mov AX,04C00h ;Fin del programaInt 21h ;END INICIOENDConclusionesCon esta investigacin pude tener ms conocimiento acerca de los procedimientos que son utilizados en lenguajes de bajo nivel (ensamblador), que son perecidos a los procedimientos que son utilizados en los lenguajes de alto nivel pero aqu hay una gran diferencia debido al pace de parmetros etc. Ya que en los lenguajes de bajo nivel el programador debe de conocer todo lo necesario para poder crear y manejar un procedimiento ya que lo tiene que hacer de manera interna para poder desarrollarlo paso a paso ya que lleva funciones que intervienen con la pila de memoria con lo cual tambin se debe de conocer los tipos de registro de segmento etctera e interrupciones, para poder llevar a cabo el funcionamiento correctamente de un programa ya que se podra decir que todo esto pasa de manera invisible para los programadores de alto nivel debido a que todo esto de la pila y segmentos ya se encuentra programad facilitando ms la programacinUn procedimiento nos sirve para agilizar el programa o mdulos del programa que se van a ejecutar adems de poder ahorrar espacio en memoria.