SlideShare una empresa de Scribd logo
1 de 27
¿QUE ES MPLAB? 	MPLAB es un entorno de desarrollo integrado que  permite escribir y codificar los microcontroladores PIC de Microchip para ejecutarlos.MPLAB incluye un editor de texto, funciones para el manejo de proyectos, un simulador interno y una variedad de herramientas que  ayudarán a mantener y ejecutar su aplicación. También provee una interfase de usuario para todos los productos con lenguaje Microchip, programadores de dispositivos, sistemas emuladores y herramientas de tercer orden.
¿COMO EMPEZAR? Cuando se pulsa el icono del MPLAB aparece una pantalla como la que se muestra en la Figura
Lo primero que haremos es seleccionar el modo de trabajo como simulador y el tipo de microcontrolador con el que queremos trabajar. Para ello se selecciona el botón de Options de la barra del control que aparece en el escritorio y del menú desplegable la opción DevelopementMode, con lo que aparece la pantalla de la Figura 9 en la que se activa el modo MPLAB-SIM simulatory el microcontrolador con el que se desea trabajar, que en nuestro caso será el PIC16F84, por último, pulsamosel botón de Resetpara aceptar loscambios.
	Los iconos que aparecen en la barra de herramientas, son funciones que se encuentran incluidas en el menú de control, pero como en todos los programas de Windows se incluyen para manejar de forma más cómoda el programa. Seguidamente comentaremos que significa cada uno de los iconos de la barra de herramientas que aparece en esta pantalla, mas adelante veremos que hay más barras de herramientas que pueden ser conmutadas
Nuestro primer proyecto Bueno, pues ya estamos en condiciones de crear nuestro primer proyecto, para ello comenzamos por activar en el menú de control la opción File> New o bien activamos el icono de crear nuevo documento en la barra de herramientas. El programa contestará con el cuadro de diálogo de la Figura 11.
Figura 11.- No hay ningún proyecto abierto ¿Quiere crear un nuevo proyecto?
	Activamos el botón de Yes y aparece un cuadro de dialogo como el de la Figura 12 en el que se nos pide el nombre del proyecto que tendrá extensión *.pjt , como este es nuestro primer proyecto le llamaremos ejer1.pjt y lo guardaremos en la carpeta de trabajo que habíamos creado anteriormente.
Figura 12.- Creación de un nuevo proyecto
El programa devuelve el cuadro de diálogo de la Figura
Activamos el botón de OK y estamos en condiciones de empezar a escribir nuestro primer proyecto al aparecer una pantalla como la de la Figura 14
Figura 14.- Apertura del documento para comenzar a escribir nuestro proyecto
EL EDITOR Comencemos por lo tanto a escribir en lenguaje ensamblador nuestro primer programa que llamaremos ejer1.asm y que se muestra en la Figura 15. El programa realiza la suma en binario de dos números (7+8 =15) y para escribirlo usamos el editor de textos. La extensión *.asm es la que deben llevar todos los programas escritos en ensamblador. Deberemos de tener en cuenta que la primera columna del editor está reservada para las etiquetas que son expresionesalfanuméricas escogidas por el usuario que definen valores de posiciones de memoria. Estas deben empezar siempre por una letra. Además se debe de tener en cuenta que no pueden usarse expresiones que ya utiliza el ensamblador tales como:
Instrucciones Directivas del propio ensamblador § Nombres de registros especiales (SFR) § Nombre de cada uno de los bit de los registros especiales
En las siguientes columnas, se puede comenzar a escribir el nemónico de la instrucción o las directivas del ensamblador. Por último hay que decir que se pueden y se deben añadir comentarios que son elementos indispensables en muchos casos para seguir el razonamiento de los programas sin perderse, para ello cuando el MPLAB encuentra un “;”(punto y coma) no se genera código máquina.
En todos estos campos los espacios en blanco no son significativos y las líneas en blanco tampoco. Para una mejor legibilidad del programa, se recomienda acceder a cada campo utilizando el tabulador. El uso de mayúsculas y minúsculas en los programas obedece a una serie de reglas o normas de estilo, comunes entre los programadores en ensamblador, que si bien no son obligatorias, facilitan la lectura del código fuente.
Estas reglas son: § Las directivas del ensamblador se escriben en mayúsculas § Los nombres de las variables se escriben en mayúsculas. § Los nemónicos de las instrucciones se escriben en minúsculas § El programa se escribe utilizando los tabuladores para definir las distintas columnas, tales como etiquetas, comienzo de líneas de programa y columna donde empiezan los comentarios separados por un “;” (punto y coma).
FIG 15
Cuando terminemos de escribir el programa seleccionamos File>Savecon lo que aparece el cuadro de diálogo de la Figura 16, donde le damos elnombrea nuestro programa ejer1.asm ,dentro de nuestra carpeta Trabajo.
	El siguiente paso será volver a editar nuestro proyecto seleccionando en el menú de control project>editproject, lo que provoca que aparezca el menú de la Figura 17.
	Pulsamos sobre ejer1[.hex], y se activa el botón de NodeProperties, que hasta el momento aparecía de color gris, si lo activamos aparece el cuadro de diálogo de la Figura 19, donde están reflejadas todas las propiedades del nodo actual. Sin modificar ninguna de estas propiedades se pulsa el botón de OK para continuar, lo que nos lleva de nuevo a la pantalla de la Figura 17. Ahora seleccionamos el botón AddNode (añadir elementos al nodo), lo que provoca que aparezca un nuevo cuadro de diálogo como el de la Figura 18, en el que seleccionaremos el archivo ejer1.asm
FIG 18
Pulsamos el botón de Aceptar y se vuelve a la pantalla de la Figura 17 en la que ha aparecido el fichero ejer1[.asm] junto al fichero ejer1[.hex] que aparecía antes en el campo de Project files. Seguidamente pulsamos el botón de OK, lo que nos llevará de vuelta a la pantalla de la Figura 15. Para ensamblar el programa seleccionamos en el menú de control la opción Project>BuildAll (también podríamos haber pulsado el botón correspondiente de la barra de herramientas del simulador ,    como luego veremos ), y si no se han cometido errores al introducir los códigos, aparece una pantalla como la de La Figura 20, lo que nos indica que el programa se ha ensamblado con éxito y ya estamos en condiciones de iniciar la simulación del programa.
Si por el contrario, se han detectado errores, en dicha pantalla será mostrado el error; si se hace doble clic sobre la línea que muestra el error, el cursor saltará directamente a la línea de código donde se encuentra el error. Una vez subsanados los errores habrá que volver a compilar el programa.
Figura 20.- Pantalla del MPLAB una vez ensamblado correctamente el programa fuente

Más contenido relacionado

La actualidad más candente

Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
Carlos Pastorino
 
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
SANTIAGO PABLO ALBERTO
 
codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolar
thejp
 
Grafica iv del diodo de silicio (practica)
Grafica iv del diodo de silicio (practica)Grafica iv del diodo de silicio (practica)
Grafica iv del diodo de silicio (practica)
Miguel Angel Peña
 
Modulación
ModulaciónModulación
Modulación
ivan
 

La actualidad más candente (20)

Informe 1 Electronica I Laboratorio
Informe 1 Electronica I  LaboratorioInforme 1 Electronica I  Laboratorio
Informe 1 Electronica I Laboratorio
 
Modulación AM - PM - FM
Modulación AM - PM - FMModulación AM - PM - FM
Modulación AM - PM - FM
 
El diodo, curva caracteristica del diodo
El diodo, curva caracteristica del diodoEl diodo, curva caracteristica del diodo
El diodo, curva caracteristica del diodo
 
Amplificador operacional
Amplificador operacionalAmplificador operacional
Amplificador operacional
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
 
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
 
codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolar
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
Registro status PIC16F84A
Registro status PIC16F84ARegistro status PIC16F84A
Registro status PIC16F84A
 
Practica0,1,2,3,4
Practica0,1,2,3,4Practica0,1,2,3,4
Practica0,1,2,3,4
 
Grafica iv del diodo de silicio (practica)
Grafica iv del diodo de silicio (practica)Grafica iv del diodo de silicio (practica)
Grafica iv del diodo de silicio (practica)
 
Detector sincrono
Detector sincronoDetector sincrono
Detector sincrono
 
Modulación
ModulaciónModulación
Modulación
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.
 
El diodo como sujetador
El diodo como sujetadorEl diodo como sujetador
El diodo como sujetador
 
Transistores mosfet configuracion y polarizacion
Transistores mosfet configuracion y polarizacionTransistores mosfet configuracion y polarizacion
Transistores mosfet configuracion y polarizacion
 
Transistor UJT
Transistor UJTTransistor UJT
Transistor UJT
 
Tarjeta de adquisición de datos
Tarjeta de adquisición de datosTarjeta de adquisición de datos
Tarjeta de adquisición de datos
 

Destacado

Introduccion a los microcontroladores pic y programacion de una matriz de led's
Introduccion a los microcontroladores pic y programacion de una matriz de led'sIntroduccion a los microcontroladores pic y programacion de una matriz de led's
Introduccion a los microcontroladores pic y programacion de una matriz de led's
Ruderocker Billy
 
159285037 puesta-a-tierra-de-instalaciones-electricas-pdf
159285037 puesta-a-tierra-de-instalaciones-electricas-pdf159285037 puesta-a-tierra-de-instalaciones-electricas-pdf
159285037 puesta-a-tierra-de-instalaciones-electricas-pdf
Leandro Marin
 
Suma, resta y multiplicación de números binarios
Suma, resta y multiplicación de números binariosSuma, resta y multiplicación de números binarios
Suma, resta y multiplicación de números binarios
Dieguinmc
 
Suma,resta y multiplicacion de numeros binarios
Suma,resta y multiplicacion de numeros binariosSuma,resta y multiplicacion de numeros binarios
Suma,resta y multiplicacion de numeros binarios
Liz Ocampo
 

Destacado (15)

Tutorial mplab 6x[1]
Tutorial mplab 6x[1]Tutorial mplab 6x[1]
Tutorial mplab 6x[1]
 
Uso Mplab
Uso MplabUso Mplab
Uso Mplab
 
Uso básico de MPLAB
Uso básico de MPLABUso básico de MPLAB
Uso básico de MPLAB
 
Mplab
Mplab Mplab
Mplab
 
Como Escribir Un Programa Y Compilarlo Con Mplab
Como Escribir Un Programa Y Compilarlo Con MplabComo Escribir Un Programa Y Compilarlo Con Mplab
Como Escribir Un Programa Y Compilarlo Con Mplab
 
Introduccion a los microcontroladores pic y programacion de una matriz de led's
Introduccion a los microcontroladores pic y programacion de una matriz de led'sIntroduccion a los microcontroladores pic y programacion de una matriz de led's
Introduccion a los microcontroladores pic y programacion de una matriz de led's
 
Simulador En Mplab
Simulador En MplabSimulador En Mplab
Simulador En Mplab
 
Mplab Inicio Rapido
Mplab Inicio RapidoMplab Inicio Rapido
Mplab Inicio Rapido
 
Tecnicas procesos
Tecnicas procesosTecnicas procesos
Tecnicas procesos
 
Introduction to MPLAB IDE
Introduction to MPLAB IDEIntroduction to MPLAB IDE
Introduction to MPLAB IDE
 
159285037 puesta-a-tierra-de-instalaciones-electricas-pdf
159285037 puesta-a-tierra-de-instalaciones-electricas-pdf159285037 puesta-a-tierra-de-instalaciones-electricas-pdf
159285037 puesta-a-tierra-de-instalaciones-electricas-pdf
 
Subestaciones
SubestacionesSubestaciones
Subestaciones
 
Suma, resta y multiplicación de números binarios
Suma, resta y multiplicación de números binariosSuma, resta y multiplicación de números binarios
Suma, resta y multiplicación de números binarios
 
Presentacion1
Presentacion1Presentacion1
Presentacion1
 
Suma,resta y multiplicacion de numeros binarios
Suma,resta y multiplicacion de numeros binariosSuma,resta y multiplicacion de numeros binarios
Suma,resta y multiplicacion de numeros binarios
 

Similar a Introduccion mplab

1+ +introduccion+al+code warrior+para+hcs08
1+ +introduccion+al+code warrior+para+hcs081+ +introduccion+al+code warrior+para+hcs08
1+ +introduccion+al+code warrior+para+hcs08
Dario Klug
 
Ejercicios_Basicos_de_netbeans (1).doc
Ejercicios_Basicos_de_netbeans (1).docEjercicios_Basicos_de_netbeans (1).doc
Ejercicios_Basicos_de_netbeans (1).doc
AnaLpez275
 
Ejercicios_Basicos_de_netbeans.doc
Ejercicios_Basicos_de_netbeans.docEjercicios_Basicos_de_netbeans.doc
Ejercicios_Basicos_de_netbeans.doc
AnaLpez275
 
Ejercicios_Basicos_de_netbeans (2).doc
Ejercicios_Basicos_de_netbeans (2).docEjercicios_Basicos_de_netbeans (2).doc
Ejercicios_Basicos_de_netbeans (2).doc
AnaLpez275
 
Ejercicios_Basicos_de_netbeans (3).doc
Ejercicios_Basicos_de_netbeans (3).docEjercicios_Basicos_de_netbeans (3).doc
Ejercicios_Basicos_de_netbeans (3).doc
AnaLpez275
 

Similar a Introduccion mplab (20)

1+ +introduccion+al+code warrior+para+hcs08
1+ +introduccion+al+code warrior+para+hcs081+ +introduccion+al+code warrior+para+hcs08
1+ +introduccion+al+code warrior+para+hcs08
 
Desarrollo de aplicaciones en visual basic 6.0
Desarrollo de aplicaciones en visual basic 6.0Desarrollo de aplicaciones en visual basic 6.0
Desarrollo de aplicaciones en visual basic 6.0
 
Programa2 eclipse
Programa2 eclipsePrograma2 eclipse
Programa2 eclipse
 
Programa 2
Programa 2Programa 2
Programa 2
 
Programa2
Programa2 Programa2
Programa2
 
Guia para programar_vba_excel
Guia para programar_vba_excelGuia para programar_vba_excel
Guia para programar_vba_excel
 
Manual p se int
Manual p se intManual p se int
Manual p se int
 
Manual p se int
Manual p se intManual p se int
Manual p se int
 
Manual p se int (1)
Manual p se int (1)Manual p se int (1)
Manual p se int (1)
 
Programa 11 Ciclo For
Programa 11 Ciclo ForPrograma 11 Ciclo For
Programa 11 Ciclo For
 
Pg11
Pg11Pg11
Pg11
 
Sesión5 applets
Sesión5 appletsSesión5 applets
Sesión5 applets
 
Menú de Programas
Menú de ProgramasMenú de Programas
Menú de Programas
 
MANUAL CALCULADORA VOYAGE Capitulo 4(8)
MANUAL CALCULADORA VOYAGE Capitulo 4(8)MANUAL CALCULADORA VOYAGE Capitulo 4(8)
MANUAL CALCULADORA VOYAGE Capitulo 4(8)
 
Instructivo para utilizar_c_
Instructivo para utilizar_c_Instructivo para utilizar_c_
Instructivo para utilizar_c_
 
Instructivo para utilizar_c++
Instructivo para utilizar_c++Instructivo para utilizar_c++
Instructivo para utilizar_c++
 
Ejercicios_Basicos_de_netbeans (1).doc
Ejercicios_Basicos_de_netbeans (1).docEjercicios_Basicos_de_netbeans (1).doc
Ejercicios_Basicos_de_netbeans (1).doc
 
Ejercicios_Basicos_de_netbeans.doc
Ejercicios_Basicos_de_netbeans.docEjercicios_Basicos_de_netbeans.doc
Ejercicios_Basicos_de_netbeans.doc
 
Ejercicios_Basicos_de_netbeans (2).doc
Ejercicios_Basicos_de_netbeans (2).docEjercicios_Basicos_de_netbeans (2).doc
Ejercicios_Basicos_de_netbeans (2).doc
 
Ejercicios_Basicos_de_netbeans (3).doc
Ejercicios_Basicos_de_netbeans (3).docEjercicios_Basicos_de_netbeans (3).doc
Ejercicios_Basicos_de_netbeans (3).doc
 

Introduccion mplab

  • 1. ¿QUE ES MPLAB? MPLAB es un entorno de desarrollo integrado que permite escribir y codificar los microcontroladores PIC de Microchip para ejecutarlos.MPLAB incluye un editor de texto, funciones para el manejo de proyectos, un simulador interno y una variedad de herramientas que ayudarán a mantener y ejecutar su aplicación. También provee una interfase de usuario para todos los productos con lenguaje Microchip, programadores de dispositivos, sistemas emuladores y herramientas de tercer orden.
  • 2. ¿COMO EMPEZAR? Cuando se pulsa el icono del MPLAB aparece una pantalla como la que se muestra en la Figura
  • 3. Lo primero que haremos es seleccionar el modo de trabajo como simulador y el tipo de microcontrolador con el que queremos trabajar. Para ello se selecciona el botón de Options de la barra del control que aparece en el escritorio y del menú desplegable la opción DevelopementMode, con lo que aparece la pantalla de la Figura 9 en la que se activa el modo MPLAB-SIM simulatory el microcontrolador con el que se desea trabajar, que en nuestro caso será el PIC16F84, por último, pulsamosel botón de Resetpara aceptar loscambios.
  • 4.
  • 5. Los iconos que aparecen en la barra de herramientas, son funciones que se encuentran incluidas en el menú de control, pero como en todos los programas de Windows se incluyen para manejar de forma más cómoda el programa. Seguidamente comentaremos que significa cada uno de los iconos de la barra de herramientas que aparece en esta pantalla, mas adelante veremos que hay más barras de herramientas que pueden ser conmutadas
  • 6.
  • 7. Nuestro primer proyecto Bueno, pues ya estamos en condiciones de crear nuestro primer proyecto, para ello comenzamos por activar en el menú de control la opción File> New o bien activamos el icono de crear nuevo documento en la barra de herramientas. El programa contestará con el cuadro de diálogo de la Figura 11.
  • 8. Figura 11.- No hay ningún proyecto abierto ¿Quiere crear un nuevo proyecto?
  • 9. Activamos el botón de Yes y aparece un cuadro de dialogo como el de la Figura 12 en el que se nos pide el nombre del proyecto que tendrá extensión *.pjt , como este es nuestro primer proyecto le llamaremos ejer1.pjt y lo guardaremos en la carpeta de trabajo que habíamos creado anteriormente.
  • 10. Figura 12.- Creación de un nuevo proyecto
  • 11. El programa devuelve el cuadro de diálogo de la Figura
  • 12. Activamos el botón de OK y estamos en condiciones de empezar a escribir nuestro primer proyecto al aparecer una pantalla como la de la Figura 14
  • 13. Figura 14.- Apertura del documento para comenzar a escribir nuestro proyecto
  • 14. EL EDITOR Comencemos por lo tanto a escribir en lenguaje ensamblador nuestro primer programa que llamaremos ejer1.asm y que se muestra en la Figura 15. El programa realiza la suma en binario de dos números (7+8 =15) y para escribirlo usamos el editor de textos. La extensión *.asm es la que deben llevar todos los programas escritos en ensamblador. Deberemos de tener en cuenta que la primera columna del editor está reservada para las etiquetas que son expresionesalfanuméricas escogidas por el usuario que definen valores de posiciones de memoria. Estas deben empezar siempre por una letra. Además se debe de tener en cuenta que no pueden usarse expresiones que ya utiliza el ensamblador tales como:
  • 15. Instrucciones Directivas del propio ensamblador § Nombres de registros especiales (SFR) § Nombre de cada uno de los bit de los registros especiales
  • 16. En las siguientes columnas, se puede comenzar a escribir el nemónico de la instrucción o las directivas del ensamblador. Por último hay que decir que se pueden y se deben añadir comentarios que son elementos indispensables en muchos casos para seguir el razonamiento de los programas sin perderse, para ello cuando el MPLAB encuentra un “;”(punto y coma) no se genera código máquina.
  • 17. En todos estos campos los espacios en blanco no son significativos y las líneas en blanco tampoco. Para una mejor legibilidad del programa, se recomienda acceder a cada campo utilizando el tabulador. El uso de mayúsculas y minúsculas en los programas obedece a una serie de reglas o normas de estilo, comunes entre los programadores en ensamblador, que si bien no son obligatorias, facilitan la lectura del código fuente.
  • 18. Estas reglas son: § Las directivas del ensamblador se escriben en mayúsculas § Los nombres de las variables se escriben en mayúsculas. § Los nemónicos de las instrucciones se escriben en minúsculas § El programa se escribe utilizando los tabuladores para definir las distintas columnas, tales como etiquetas, comienzo de líneas de programa y columna donde empiezan los comentarios separados por un “;” (punto y coma).
  • 20. Cuando terminemos de escribir el programa seleccionamos File>Savecon lo que aparece el cuadro de diálogo de la Figura 16, donde le damos elnombrea nuestro programa ejer1.asm ,dentro de nuestra carpeta Trabajo.
  • 21. El siguiente paso será volver a editar nuestro proyecto seleccionando en el menú de control project>editproject, lo que provoca que aparezca el menú de la Figura 17.
  • 22. Pulsamos sobre ejer1[.hex], y se activa el botón de NodeProperties, que hasta el momento aparecía de color gris, si lo activamos aparece el cuadro de diálogo de la Figura 19, donde están reflejadas todas las propiedades del nodo actual. Sin modificar ninguna de estas propiedades se pulsa el botón de OK para continuar, lo que nos lleva de nuevo a la pantalla de la Figura 17. Ahora seleccionamos el botón AddNode (añadir elementos al nodo), lo que provoca que aparezca un nuevo cuadro de diálogo como el de la Figura 18, en el que seleccionaremos el archivo ejer1.asm
  • 24.
  • 25. Pulsamos el botón de Aceptar y se vuelve a la pantalla de la Figura 17 en la que ha aparecido el fichero ejer1[.asm] junto al fichero ejer1[.hex] que aparecía antes en el campo de Project files. Seguidamente pulsamos el botón de OK, lo que nos llevará de vuelta a la pantalla de la Figura 15. Para ensamblar el programa seleccionamos en el menú de control la opción Project>BuildAll (también podríamos haber pulsado el botón correspondiente de la barra de herramientas del simulador , como luego veremos ), y si no se han cometido errores al introducir los códigos, aparece una pantalla como la de La Figura 20, lo que nos indica que el programa se ha ensamblado con éxito y ya estamos en condiciones de iniciar la simulación del programa.
  • 26. Si por el contrario, se han detectado errores, en dicha pantalla será mostrado el error; si se hace doble clic sobre la línea que muestra el error, el cursor saltará directamente a la línea de código donde se encuentra el error. Una vez subsanados los errores habrá que volver a compilar el programa.
  • 27. Figura 20.- Pantalla del MPLAB una vez ensamblado correctamente el programa fuente