La qe te pario

Solo disponible en BuenasTareas
  • Páginas : 9 (2178 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de junio de 2011
Leer documento completo
Vista previa del texto
DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA

Introducción a AVR-STUDIO
Enunciados de Prácticas de Laboratorio Estructura de Computadores

1.Introducción y objetivos
Los objetivos de la sesión de laboratorio son los siguientes: ▪Introducir el entorno de programación y depuración de microcontroladores de ATMEL llamado AVR-STUDIO. ▪Realizar lassimulaciones de programas escritos en lenguaje ensamblador para el microcontrolador ATMEGA328P. ▪Depuración de programas con el AVR Simulator. En esta sesión de laboratorio se utilizará el entorno de desarrollo AVR-STUDIO para editar, depurar y simular código para el núcleo AVR8 de Atmel. AVR-STUDIO puede descargarse gratuitamente desde las páginas del fabricante de ATMEL en http://www.atmel.com.Durante la sesión de laboratorio se debe disponer de los ficheros indicados en la tabla 1. Estos ficheros deben ser completados en el estudio teórico.

Nombre del fichero suma.asm producto.asm

Contenido Programa para calcular la suma de 2 números de 32 bits. Programa para calcular el producto de 2 números de 16 bits.

Descripción Debe completarlo el alumno antes de asistir a la sesión delaboratorio. Debe completarlo el alumno antes de asistir a la sesión de laboratorio.

Tabla 1. Ficheros necesarios durante la sesión de laboratorio.

Es obligatorio traer los programas preparados para utilizarlos durante el desarrollo de la sesión de laboratorio.

Estructura de Computadores

2

2.Estudio teórico
Se deben realizar dos programas en lenguaje ensamblador. A continuación sedetallan los programas: 1.Programa SUMA: Realice una subrutina suma32 en ensamblador del AVR que permita sumar dos números sin signo de 32 bits. Los 2 sumandos están en la posición de memoria apuntada por Y e Y+4. El resultado de la suma se debe almacenar a partir de Z. Se recuerda que los datos se almacenan en memoria en little-endian, es decir la parte más significativa del dato en la dirección devalor mayor. Complete la siguiente plantilla del fichero suma.asm, en él se deben dar valores para sumar y llamar a la subrutina que ha creado para poder comprobar finalmente el resultado.

.include "m328Pdef.inc"

// Incluye definiciones de registros, entrada-salida, bits, etc...

// Opcionalmente defina aquí las variables que necesite ......... // Segmento de código .cseg .org 0 //Laprimera instrucción se guarda en la dirección 0 jmp main .org $100 main: call iniciaSuma ......... call suma32 fin: jmp fin // inicialización antes de llamar a la subrutina // llamada a la subrutina

iniciaSuma: // Escriba aquí la parte de inicialización antes de llamar a la subrutina, cargando los valores en memoria, etc... suma32: // Escriba aquí la subrutina suma32. …........ ret // Segmento dedatos .dseg .org $100 // Reservamos 12 bytes para los datos y el resultado datos: .byte 8 result: .byte 4

Código 1. Plantilla para el fichero suma.asm

2.Programa PRODUCTO: Realice una subrutina mulw en ensamblador del AVR que permita multiplicar dos números sin signo de 16 bits, dando como resultado un número sin signo de 32 bits. Los 2 operandos están en la posición de memoria apuntada por Yy Y+2, mientras que el resultado de la multiplicación se debe almacenar en Z. NO se debe usar el algoritmo de sumas sucesivas, sino las instrucciones de multiplicación del AVR (en varios pasos). Por ello, se recomienda utilizar la subrutina suma32 creada anteriormente para el último paso de la multiplicación. Complete la plantilla del fichero producto.asm que se muestra a continuación; en él sedeben dar valores para multiplicar y llamar a la subrutina que ha creado para poder comprobar finalmente el resultado.

.include "m328Pdef.inc"

// Incluye definiciones de registros, entrada-salida, bits, etc...

// Opcionalmente defina aquí las variables que necesite .........

Estructura de Computadores

3

// Segmento de código .cseg .org 0 //La primera instrucción se guarda en la...
tracking img