Está en la página 1de 6

Punteros

Registro de trabajo y Punteros


X,Y,Z
• Todos los microcontroladores AVR de 8 bits, desde los ATtiny, ATmega y
ATxmega tienen 32 registros de trabajo que van desde R0 a R31. Los
Registros de Trabajo tienen la función de alojar los datos más inmediatos
que el CPU procesa.
• A continuación se puede notar, los registros de trabajo. Estos estan
divididos de 16 en 16. La diferencia se encuentra en que los 16 primeros
(R0-R15) no permiten el uso de la instrucción LDI, que sirve para cargar
constantes al registro. Los registros (R16-31), si admiten el LDI, y por
general son los más utilizados por este motivo.
• Los registros (R26-R31) pueden adicionalmente funcionar como punteros
de 16 bits cada uno.
• El puntero X esta formado por los registros R26,R27.
• El puntero Y esta formado por los registros R28,R29.
• El puntero Z esta formado por los registros R30,R31.
Punteros para mover conjuntos de
datos (arreglos)
• Los punteros pueden apuntar a (contener la dirección de) cualquier
locación del espacio de RAM. Esto junto con las instrucciones
adecuadas conforman el direccionamiento indirecto más potente,
muy útil por ejemplo para mover grandes bloques de datos.
Almacén de una palabra (tamaño de
una dirección en la memoria)
• El AVR tiene los tres últimos pares de
registros internos del procesador son
usados como punteros de 16 bits al
espacio de memoria externa, bajo los
nombres X, Y y Z. Esto es un compromiso
que se hace en arquitecturas de 8 bits
desde los tiempos de Intel 8008.
• Una palabra(word) esta formada por 16
bits.
Puntero Z
• El puntero Z es el único que puede
apuntar a la memoria FLASH
utilizando la instrucción LPM Y SPM.
En este ejemplo se muestra la
memoria flash de un Atmega 32.

También podría gustarte