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

Post on 19-Mar-2016

39 views 0 download

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

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

AgendaAgenda

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

1.2 Lenguaje ensamblador.

22

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lenguaje ensambladorLenguaje ensamblador

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

2424

Lenguaje ensambladorLenguaje ensamblador

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

2525

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

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

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

2828

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

2929

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

3131

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