Panorama general de lenguajes de programación en aplicaciones mecatrónicas
Enviado por Pablo Turmero
Agenda 1.1 Clasificación de los lenguajes de programación y su evolución. 1.2 Lenguaje ensamblador. 1
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. 2
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. 3
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. 4
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. 5
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. 6
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. 7
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. 8
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. 9
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. 10
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. 11
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.). 12
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. 13
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. 14
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 15
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 16
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 17
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 18
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 19
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. 20
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 21
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. 22
Lenguaje ensamblador ;Programa Ejemplo ensamblador .model small .stack .data Cadena1 DB 'Hola Mundo.$' .code ;inicio del código 23
Lenguaje ensamblador programa: mov ax, @data mov ds, ax mov dx, offset Cadena1 mov ah, 9 int 21h end programa 24
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. 25
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: 26
Lenguaje ensamblador ORG 0 Inicio bsf STATUS,RP0 clrf PORTB movlw 0xFF movwf PORTA bcf STATUS,RP0 Principal 27
Lenguaje ensamblador movf PORTA,W movwf Contador movf Contador,F btfsc STATUS,Z goto PuntoDecimal sublw d'9' btfss STATUS,C END 28
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. 29