03.Programación en ensamblador

2,294 views

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,294
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

03.Programación en ensamblador

  1. 1. Sistemas Basados en MicroprocesadoresProgramación en Ensamblador
  2. 2. Lenguaje ensamblador Laprogramación en ensamblador es el modo de programación de más bajo nivel.  Las instrucciones se traducen literalmente a código máquina sin un compilado previo.  Es especifico de cada plataforma. Características:  Más difícil de aprender que los lenguajes de alto nivel  Dificulta el mantenimiento y recude la productividad del programador.  Mayor velocidad y eficiencia de ejecución http://paginaspersonales.deusto.es/jonathan.garibay/
  3. 3. Ensamblador (assembler) Es un programa que genera código máquina (llamado también código objeto) traduciendo instrucciones de un programa fuente escrito en ensamblador a códigos ejecutables.  Interpreta los nombres simbólicos para direcciones de memoria y otras elementos. http://paginaspersonales.deusto.es/jonathan.garibay/
  4. 4. Estructura de programa list p=18f4520 Fichero de include "p18f4520.inc“ Directivas etiquetas config WDT=OFF, OSC=XT, PBADEN=OFF Palabra de Dirección deconfiguración temp equ 0x005 la memoria de datosEtiqueta de org 0x0000 ;Vector de reset datos bra inicio Dirección de la memoria org 0x0020 de programaEtiqueta de inicio clrf TRISB ;PuertaB salida dirección setf TRISC ;PuertaC entrada bucle movf PORTC,W Operando movwf tempInstrucciones Parámetro movf temp,W movwf LATB bra bucle Comentario Fin del programaº end ;Fin de programahttp://paginaspersonales.deusto.es/jonathan.garibay/
  5. 5. Elementos básicos Etiquetas: es una palabra utilizada para designa alguna línea o sección del programa, se pueden utilizar para saltar de una parte hacia esa etiqueta.  Las etiquetas deben empezar con una letra o con un guión bajo “_”. Instrucciones: son las operaciones que realiza el microcontrolador, de forma que ya están definidas para cada familia de PIC. Operandos: son los elementos que emplea la instrucción que se está ejecutando. Normalmente, son registros o constantes.  Algunos operandos configuran algunos detalles de las instrucciones. http://paginaspersonales.deusto.es/jonathan.garibay/
  6. 6. Elementos básicos (continuación…) Directivas: son similares a las instrucciones, pero a diferencia de estas son propias del lenguaje ensamblador e independientes del microcontrolador que se utilice.  Se utilizan para especificar al la configuración del procesador utilizado o para asignar localizaciones de memoria, entre otras cosas. Comentarios: son las palabras y frases que se escriben en el código para hacer el programa más legible.  Los comentarios se pueden escribir en cualquier parte del código pero siempre deben empezar con punto y coma ”;”. http://paginaspersonales.deusto.es/jonathan.garibay/
  7. 7. Elementos básicos (continuación…) Directivas  ”list“ sirve para especificar el PIC seleccionado, en este caso un PIC 18F4520.  “include” se utiliza para incluir un archivo externo en el programa.  “config” establece la configuración del PIC: el tipo de reloj, la configuración del watchdog, el reset interno…  ”org“ define la dirección de memoria a partir de la cual el programa se guarda.  ”end“ es la directiva que marca el final del programa. http://paginaspersonales.deusto.es/jonathan.garibay/
  8. 8. Juego de Instrucciones Operandos típicos  Registro “f”  indica el registro que será utilizado por la instrucción.  El destino del resultado “d”  es un bit que indica donde se almacena el resultado de una operación:  Si es “0” o “w”, el resultado se guardará en el registro de trabajo.  Si es “1” o “f”, el resultado se guardará en el mismo registro.  El parámetro “a”  es también un bit que indica el tipo de acceso a memoria de datos:  Si es “0” o se omite, se utilizará el banco de acceso.  Si es “1”, la instrucción utilizará direccionamiento directo. http://paginaspersonales.deusto.es/jonathan.garibay/
  9. 9. Juego de Instrucciones (continuación…) Operadores típicos (continuación…)  Literal “k”  una constante que será utilizada por la instrucción.  Dirección de programa “n”  utilizada en las operaciones de control, indica una dirección para un salto condicional o incondicional. Ejemplos:  addfw 0x34, 0, 0   movlw 0x19   goto 0x0456  http://paginaspersonales.deusto.es/jonathan.garibay/
  10. 10. Programación estructurada Esuna forma de escribir programas de forma clara haciendo uso de únicamente 3 estructuras:  Secuencia: se ejecuta una instrucción tras otra de forma secuencial.  Selección: permite la realización de una instrucción u otra según un criterio (solo una de estas instrucciones se ejecutara).  if, then, else  Iteración: se repiten un conjunto de instrucciones mientras se cumpla una condición (el número de iteraciones no tiene porque estar determinado).  while, do…while, for http://paginaspersonales.deusto.es/jonathan.garibay/
  11. 11. Programación estructurada (continuación…) Anidamiento de estructuras  El cuerpo de cualquier estructura puede ser una instrucción simple u otra estructura, que a su vez puede anidar a otra. Funciones ¿Paso de parámetros?  Es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. http://paginaspersonales.deusto.es/jonathan.garibay/
  12. 12. Diagramas de flujo Tambiénconocidos como organigramas, son una representación gráfica de un algoritmo.  Utilizan símbolos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin. Simbología básica  Círculo: inicio y término del diagrama.  Rectángulo: representa la ejecución de una o más actividades o procedimientos.  Rombo: formula una pregunta o cuestión, y ejecuta una salida u otra. http://paginaspersonales.deusto.es/jonathan.garibay/
  13. 13. Diagramas de flujo (continuación…) http://paginaspersonales.deusto.es/jonathan.garibay/
  14. 14. Estrategia de diseño Top-Down En el modelo Top-Down se crea un resumen del sistema, sin especificar detalles. Cada parte del sistema se refina con mayor detalle y se realizan tantas iteraciones como sean necesarias.  El enfoque Top-Down enfatiza la planificación y conocimiento completo del sistema.  La codificación no puede comenzar hasta que no se haya alcanzado un nivel de detalle suficiente Enel diseño Bottom-Up se diseñan en detalle las partes individuales y después se enlazan para formar componentes más grandes. http://paginaspersonales.deusto.es/jonathan.garibay/
  15. 15. Estrategia de diseño Top-Down (continuación…) Se define la estructura de la función main y de las rutinas de interrupción Se estudian todas aquellas funciones de alto nivel que surgen del paso anterior Se repite el proceso anterior hasta definir el funcionamiento de todas las funciones Se complementan las funciones con detalles relevantes para la programación final http://paginaspersonales.deusto.es/jonathan.garibay/

×