Panorama general de lenguajes de programación en aplicaciones mecatrónicas
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