ARCHIVO DE REGISTRO DE PROPÓSITO GENERAL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
La siguiente figura muestra la estructura de los 32 registros de trabajo de propósito general en la CPU. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Figura. Registros de trabajo de propósito general de la CPU de un AVR |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Todas las instrucciones de operaciones de registro tienen en el set de instrucciones acceso directo y acceso de un simple ciclo a todos los registros. La única excepción son las cinco constantes aritméticas y las instrucciones lógicas SBCI, SUBI, CPI, ANDI y ORI entre una constante y un registro, y la instrucción de LDI para carga de datos constantes inmediatos. Estas instrucciones se aplican a la segunda mitad de los registros en el archivo del registro (R16..R31). Las operaciones generales SBC, SUB, CP, AND y OR, y todas las otras operaciones entre dos registros o en un solo registro, se aplica al archivo de registro entero. Como se muestra en la figura anterior, cada registro tiene asignada una dirección de memoria de datos y los traza directamente en las primeras 32 posiciones del espacio de datos de usuario. Aunque no estén físicamente implementadas como direcciones de SRAM, esta organización de memoria proporciona gran flexibilidad en el acceso a los registros, como los registros X, Y y Z para apuntar a cualquier registro en el archivo. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Registros -X, -Y y -Z | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Los registros R26..R31 tienen algunas funciones agregadas a su uso de propósito general. Estos registros son punteros de dirección para direccionamiento indirecto del espacio de datos. Los tres registros de direccionamiento indirecto X, Y y Z se definen como: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
figura. Registros -X, -Y y -Z |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
En los diferentes modos de direccionamiento estos registros de dirección tienen funciones como desplazamiento fijo, incremento automático y decremento (vea las descripciones para las diferentes instrucciones). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||