INICIO WEB

        
Registro de estado - SREG
         

El registro de estado de los AVR (SREG) en la posición del espacio de I/O $3F ($5F) se define como:

 
Bit 7 6 5 4 3 2 1 0
$3F ($5F) I T H S V N Z C SREG
Read/Write R/W R/W R/W R/W R/W R/W R/W R/W
Initial Value 0 0 0 0 0 0 0 0
  
 
vortex.gif (320 bytes) Bit 7 – I: Habilitación de Interrupción global

El bit de habilitación de interrupción global debe estar a set (uno) para que las interrupciones estén habilitadas. El control de habilitación de interrupción individual se realiza entonces en registros de control separados. Si el bit de habilitación de interrupción global es borrado (cero), ninguna de las interrupciones se habilita, independientemente de las interrupciones individuales habilitadas. El bit I es borrado por hardware después de que haya ocurrido una interrupción y se pone a set por la instrucción RETI para habilitar interrupciones posteriores.

vortex.gif (320 bytes) Bit 6 – T: Almacenamiento de Copia de bit

Las instrucciones de copia de bit BLD (Bit LoaD) y BST (Bit STore) usan el bit T como fuente y destino para el bit operado. Un bit de un registro en el archivo de registro puede copiarse en T por la instrucción BST y un bit en T puede copiarse en un bit de un registro en el archivo de registro por la instrucción BLD.

vortex.gif (320 bytes) Bit 5 – H: Flag de Half-carry

El flag de half-carry H indica un carry intermedio en algunas operaciones aritméticas.

vortex.gif (320 bytes) Bit 4 – S: Bit de signo, S = N Å V

El bit S siempre es una OR exclusiva entre el flag negativo N y el flag V de desbordamiento de complemento a dos.

vortex.gif (320 bytes) Bit 3 – V: Flag de desbordamiento de complemento a dos

El flag V de desbordamiento de complemento a dos soporta la aritmética del complemento a dos.

vortex.gif (320 bytes) Bit 2 – N: Flag Negativo

El flag N indica un resultado negativo después de las diferentes operaciones lógicas y aritméticas.

vortex.gif (320 bytes) Bit 1 – Z: Flag Cero

El flag Z indica un resultado de cero después de las diferentes operaciones lógicas y aritméticas.

vortex.gif (320 bytes) Bit 0 – C: Flag de carry

El flag de carry C indica una llevada en una operación aritmética o lógica.

Observe que el Registro de Estado no se guarda automáticamente al entrar en una rutina de interrupción y se restaura al volver de una rutina de interrupción. Debe ser manipulado por software.

         

Puntero de pila – SP

            

El puntero de pila general de los AVR de 16-bit se construye eficazmente con dos registros de 8 bit en las posiciones del espacio de I/O $3E ($5E) y $3D ($5D). Como los AT90S8515 soportan 64 Kb de SRAM externa, los 16 bits son usados.

 
Bit 15 14 13 12 11 10 9 8
$3E ($5E) SP15 SP14 SP13 SP12 SP11 SP10 SP9 SP8 SPH
$3D ($5D) SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0 SPL
7 6 5 4 3 2 1 0
Read/Write R/W R/W R/W R/W R/W R/W R/W R/W
R/W R/W R/W R/W R/W R/W R/W R/W
Initial Value 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
                

El puntero de Pila apunta al área de pila de la SRAM de datos donde se localizan la pila de interrupción y de subrutina. Este espacio de la pila en la SRAM de datos debe ser definido por el programa antes de que se ejecute cualquier llamada a subrutina o se habiliten interrupciones. El puntero de pila debe estar a set para apuntar por encima de $60. El puntero de pila es decrementado en 1 cuando los datos se introducen en la pila con la instrucción PUSH y es decrementado en 2 cuando una dirección se introduce en la pila con llamadas a subrutinas e interrupciones. El puntero de pila es incrementado en 1 cuando el dato se saca de la pila con la instrucción POP y es incrementado en 2 cuando una dirección se saca de la pila con retorno de subrutina RET o retorno de interrupción RETI.

            
                                         

ARRIBA