Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas

31
1 Unidad I Unidad I Panorama Panorama general de lenguajes general de lenguajes de programación en de programación en aplicaciones aplicaciones mecatrónicas mecatrónicas M.C. Juan Carlos Olivares Rojas

description

Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas. M.C. Juan Carlos Olivares Rojas. Agenda. 1.1 Clasificación de los lenguajes de programación y su evolución. 1.2 Lenguaje ensamblador. Clasificación de los lenguajes de programación y su evolución. - PowerPoint PPT Presentation

Transcript of Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas

Page 1: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

11

Unidad I Unidad I Panorama Panorama general de lenguajes general de lenguajes de programación en de programación en

aplicaciones aplicaciones mecatrónicasmecatrónicas

M.C. Juan Carlos Olivares Rojas

Page 2: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

AgendaAgenda

1.1 Clasificación de los lenguajes de programación y su evolución.

1.2 Lenguaje ensamblador.

22

Page 3: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Un lenguaje es la forma que utilizan dos entidades llamadas emisor y receptor para comunicarse.

• Un lenguaje de programación es la forma en que un ser humano le indica a una computadora lo que debe de hacer.

33

Page 4: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Los lenguajes de programación son necesarios dado que el lenguaje que entendemos los humanos y las máquinas es totalmente distinto.

• Las computadoras entienden un lenguaje máquina de 0s y 1s.

44

Page 5: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• El lenguaje máquina es diferente entre familia de microprocesadores

• Los lenguajes de programación se clasifican de acuerdo a su objetivo en: de propósito general y propósito específico.

55

Page 6: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Los lenguajes de propósito general sirven para resolver casi cualquier problema. Ejemplos: C/C++, Java, Pascal, Ada, etc.

• Los lenguajes de propósito específico son de un dominio más específico. Ejemplo: SQL (Base de Datos), Promela (Simulación), etc.

66

Page 7: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Los lenguajes de programación también se pueden clasificar de acuerdo a su nivel de abstracción en bajo nivel y alto nivel.

• El nivel de abstracción se da desde el punto de vista humano; es decir, el de alto nivel está más cercano al lenguaje natural.

77

Page 8: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Los lenguajes de alto nivel son muy parecidos a lenguajes naturales como el inglés. Permiten un rápido desarrollo e implantación de algoritmos. Ejemplo: C++, Java, BASIC, Fortran, COBOL, etc.

88

Page 9: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Los lenguajes de bajo nivel son los que están más cercano al lenguaje máquina, permiten el desarrollo más eficiente de aplicaciones, pero la programación es más complicada. Ejemplo: lenguaje ensamblador x86, ensamblador PPC, ensamblador 68x, etc.

99

Page 10: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• ¿Cómo es posible que dos entidades con diferentes lenguajes (humanos y computadoras) puedan comunicarse entre si?

• Se puede realizar por medio de un traductor. Lo cual da otra clasificación de lenguajes de programación.

1010

Page 11: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Por la forma en que se realiza la programación, los lenguajes se clasifican en lenguajes compilados (compilador) e interpretados (intérprete).

• Los lenguajes interpretados se procesa el código fuente y se traduce línea por línea.

1111

Page 12: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Ejemplo de lenguajes interpretados está la línea de comandos (shell) de un sistema operativo, BASIC, entre otros.

• En los lenguajes compilados la traducción se realiza leyendo todo el código fuente. Ejemplo: Pascal, Delphi, C/C++, etc.

1212

Page 13: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Otra forma de clasificar los lenguajes de programación es en base al paradigma utilizado para programar.

• Existen diversos paradigmas como procedimental o estructurado (C, Pascal, etc.), orientado a objetos (Java, C++, SmallTalk, etc.).

1313

Page 14: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución

• Otros paradigmas de programación son el funcional como LISP, la programación lógica con PROLOG, programación orientada a aspectos, etc.

• Los lenguajes de programación también tienen otros fines como configurar programas.

1414

Page 15: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador

• Es totalmente dependiente de la arquitectura de la computadora.

• Utiliza instrucciones cortas llamadas mnemónicos. Las cuales se sustituyen al momento de ensamblar.

1515

Page 16: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador• La mayoría de los lenguajes de alto

nivel genera como código intermedio instrucciones en ensamblador.

• Por ejemplo el código máquina 10110000 01100001 (0xb061) es representado en ensamblador x86 como MOV al, 061h

1616

Page 17: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador• Una forma fácil de aprender a programar

en ensamblador es haciendo uso de la herramienta debug presente en DOS.

• Las opciones básicas de debug son:– A Ensamblar– D Mostrar el contenido de un área de memoria– E Introducir datos en memoria, iniciando en

una localidad específica1717

Page 18: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador– G correr el programa ejecutable en memoria– N nombrar un programa– P Proceder a ejecutar un conjunto de

instrucciones relacionadas– Q salir de la sesión– R mostrar el contenido de los registros– T Rastrear la ejecución del programa– U Desensamblar– W Escribir o grabar un programa a disco

1818

Page 19: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Actividad 2Actividad 2• Se deberán realizar cada una de las

siguientes actividades por parejas utilizando debug y capturando pantalla de cada una de las actividades.

• Para ver la fecha que tiene la ROM de nuestra computadora: D FFFF:5

1919

Page 20: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador• Se deberá cargar el siguiente programa en

ensamblador en memoria en la localidad de memoria de sus últimos 4 números de su matrícula, por ejemplo: A 0100

• Se deberá tener cuidado al cargarlo por que sino se deberá reescribir el programa. No dar enter hasta estar seguros

2020

Page 21: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador• Se deberá seguir la traza del

programa con la opción T hasta que se terminen las instrucciones.

• Finalmente se deberá desensamblar el código con la opción U y la dirección de memoria en donde se empezó el programa.

2121

Page 22: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador• Colocar tu número de matricula a partir de la

dirección 100 con la opción E. • Mostrar las direcciones de memoria a partir

de la localidad 100.

• Con el código del programa anterior desensamblado colocarlo directamente en memoria en la dirección cs:100

2222

Page 23: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador• Realizar programación en ensamblador

de esta forma es sumamente complicado.

• Para facilitar el proceso se utilizan editores de texto o en casos más elaborados IDEs para programar. La desventaja es que entre diferentes herramientas puede cambiar la sintaxis.

2323

Page 24: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador

;Programa Ejemplo ensamblador.model small .stack .data Cadena1 DB 'Hola Mundo.$' .code ;inicio del código

2424

Page 25: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador

programa: mov ax, @data mov ds, ax mov dx, offset Cadena1 mov ah, 9 int 21h end programa

2525

Page 26: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador• Para ensamblar el siguiente código

utilizaremos el TASM (Turbo Assembler) y para generar el ejecutable el TLINK (Turbo Linker).

• El código debe tener extension .asm en formato de texto plano. Luego se ejecuta desde línea de comandos: tasm archivo.asm.

2626

Page 27: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador• Sino ocurrió ningún error, se generó un

archivo objeto (.obj) que es el código máquina.

• Al enlazar con tlink archivo.obj se obtiene un ejecutable como tal.

• Otro ejemplo de ensamblador es el del PIC 16F84 que se muestra a continuación:

2727

Page 28: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensambladorORG 0 Inicio bsf STATUS,RP0 clrf PORTB movlw 0xFF movwf PORTA bcf STATUS,RP0 Principal

2828

Page 29: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Lenguaje ensambladorLenguaje ensamblador movf PORTA,W movwf Contador movf Contador,F btfsc STATUS,Z goto PuntoDecimal sublw d'9' btfss STATUS,C END

2929

Page 30: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

Ejercicio de ReforzamientoEjercicio de Reforzamiento• Realizar un pequeño resumen en el

cual se muestren la arquitectura básica del microprocesador Intel 8086 así como los mnemónicos básicos y ejemplos de ellos.

• Fecha de entrega, hasta el día del examen por Blackboard.

3030

Page 31: Unidad I  Panorama general de lenguajes de programación en aplicaciones  mecatrónicas

3131

¿Preguntas, dudas y ¿Preguntas, dudas y comentarios?comentarios?