La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

M.C. Juan Carlos Olivares Rojas

Presentaciones similares


Presentación del tema: "M.C. Juan Carlos Olivares Rojas"— Transcripción de la presentación:

1 M.C. Juan Carlos Olivares Rojas
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 (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 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?


Descargar ppt "M.C. Juan Carlos Olivares Rojas"

Presentaciones similares


Anuncios Google