1 / 31

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

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.

noam
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Agenda 1.1 Clasificación de los lenguajes de programación y su evolución. 1.2 Lenguaje ensamblador.

  3. Clasificación de los lenguajes de programació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.

  4. Clasificación de los lenguajes de programació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.

  5. Clasificación de los lenguajes de programació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.

  6. Clasificación de los lenguajes de programació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.

  7. Clasificación de los lenguajes de programació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.

  8. Clasificación de los lenguajes de programació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.

  9. Clasificación de los lenguajes de programació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.

  10. Clasificación de los lenguajes de programació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.

  11. Clasificación de los lenguajes de programació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.

  12. Clasificación de los lenguajes de programació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.

  13. Clasificación de los lenguajes de programació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.).

  14. Clasificación de los lenguajes de programació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.

  15. Lenguaje ensamblador • Es totalmente dependiente de la arquitectura de la computadora. • Utiliza instrucciones cortas llamadas mnemónicos. Las cuales se sustituyen al momento de ensamblar.

  16. Lenguaje 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

  17. Lenguaje 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ífica

  18. Lenguaje 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

  19. Actividad 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

  20. Lenguaje 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

  21. Lenguaje 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.

  22. Lenguaje 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

  23. Lenguaje 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.

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

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

  26. Lenguaje 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.

  27. Lenguaje 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:

  28. Lenguaje ensamblador ORG 0 Inicio bsf STATUS,RP0 clrf PORTB movlw 0xFF movwf PORTA bcf STATUS,RP0 Principal

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

  30. Ejercicio 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.

  31. ¿Preguntas, dudas y comentarios?

More Related