The SREG is a status register of ATmega328P.
The SREG is defined in hardware/tools/avr/avr/include/avr/common.h as below.
#define SREG _SFR_IO8(0x3F)
0x3F is an I/O address of SREG. They call _SFR_IO8().
The status register is a 8bit register. The meanings of each bit are shown below.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Meanings | I | T | H | S | V | N | Z | C |
I | Global Interrupt Enable | |||||||
T | Bit Copy Storage | |||||||
H | Half Carry Flag | |||||||
S | Sign Bit | |||||||
V | Two’s Complement Overflow Flag | |||||||
N | Negative Flag | |||||||
Z | Zero Flag | |||||||
C | Carry Flag |