![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
MODOS DE DIRECCIONAMIENTO DE PROGRAMA Y DATOS |
Los microcontroladores AVR RISC AT90S8515 soportan modos de direccionamiento poderosos y eficaces para el acceso a la memoria de programa (FLASH) y memoria de datos (SRAM, archivo de Registro y memoria de I/O). Esta sección describe los diferentes modos de direccionamiento soportados por la arquitectura AVR. En las figuras, OP es el código de funcionamiento de la palabra (word) de la instrucción. Para simplificar, no todas las figuras muestran la situación exacta de los bits de direccionamiento. |
Registro Directo, Registro simple RD |
Figura. Direccionamiento directo de registro simple |
El operando está contenido en el registro d (Rd). |
Registro Directo, dos registros Rd y Rr |
Figura. Direccionamiento de registro directo, dos registros |
Los operandos están contenidos en los registros r (Rr) y d (Rd). El resultado es almacenado en el registro d (Rd). |
I/O Directo |
Figura. Direccionamiento directo de I/O |
La dirección del operando está contenida en seis bits de la palabra (word) de la instrucción. n es el destino o dirección de registro fuente. |
Dato directo |
Figura. Direccionamiento directo de datos |
Una dirección de datos de 16 bit está contenida en los 16 LSBs de una instrucción de 2-word. Rd/Rr especifican el destino o registro fuente. |
Dato indirecto con desplazamiento |
Figura. Dato indirecto con desplazamiento |
La dirección del operando es el resultado del contenido de los registros Y o Z sumada a la dirección contenida en seis bits de la palabra (word) de la instrucción. |
Dato indirecto |
Figura. Direccionamiento indirecto de datos |
La dirección del operando es el contenido del registro X, Y o del Z. |
Dato indirecto con pre-decremento |
Figura. Direccionamiento indirecto de datos con pre-decremento |
El registro X, Y o el Z es decrementado antes de la operación. La dirección del operando es el contenido decrementado del registro X, Y o Z. |
Dato indirecto con post-incremento |
Figura. Direccionamiento indirecto de datos con post-incremento |
El registro X, Y o el Z se incrementa después de la operación. La dirección del operando es el contenido del registro X, Y o Z previo al incremento. |
Direccionamiento de una Constante usando la Instrucción LPM |
Figura. Direccionamiento de una constante de memoria código |
La dirección del byte constante está especificada por el contenido del registro Z. Los 15 MSBs seleccionan la dirección de la palabra (0 - 4K), el LSB selecciona el byte bajo si está borrado (LSB = 0) o el byte alto si está a set (LSB = 1). |
Direccionamiento de programa indirecto, IJMP e ICALL |
Figura. Direccionamiento de memoria de programa indirecto |
La ejecución del programa continúa en la dirección contenida por el registro Z (es decir, el PC está cargado con el contenido del registro Z). |
Direccionamiento de memoria relativo, RJMP y RCALL |
Figura. Direccionamiento de memoria de programa relativo |
La ejecución del programa continúa en la dirección PC + k + 1. La dirección relativa k va de -2048 a 2047. |