ATmega328p
Hardware definitions
Loading...
Searching...
No Matches
atmega328p::cpu Namespace Reference

CPU register and status flag definitions. More...

Enumerations

enum class  GeneralPurposeRegister : uint8_t {
  R0 = 0 , R1 = 1 , R2 = 2 , R3 = 3 ,
  R4 = 4 , R5 = 5 , R6 = 6 , R7 = 7 ,
  R8 = 8 , R9 = 9 , R10 = 10 , R11 = 11 ,
  R12 = 12 , R13 = 13 , R14 = 14 , R15 = 15 ,
  R16 = 16 , R17 = 17 , R18 = 18 , R19 = 19 ,
  R20 = 20 , R21 = 21 , R22 = 22 , R23 = 23 ,
  R24 = 24 , R25 = 25 , R26 = 26 , R27 = 27 ,
  R28 = 28 , R29 = 29 , R30 = 30 , R31 = 31
}
 CPU general-purpose registers. More...
enum class  PointerRegister : uint8_t { X = 0 , Y = 1 , Z = 2 }
 16-bit pointer-register pairs. More...
enum class  StatusFlag : uint8_t {
  Carry = 0 , Zero = 1 , Negative = 2 , Overflow = 3 ,
  Sign = 4 , HalfCarry = 5 , Transfer = 6 , GlobalInterrupt = 7
}
 Status-register flags. More...
enum  : uint8_t {
  x_low_register = 26 , x_high_register = 27 , y_low_register = 28 , y_high_register = 29 ,
  z_low_register = 30 , z_high_register = 31
}
enum  : uint8_t {
  status_flag_carry = 0 , status_flag_zero = 1 , status_flag_negative = 2 , status_flag_overflow = 3 ,
  status_flag_sign = 4 , status_flag_half_carry = 5 , status_flag_transfer = 6 , status_flag_global_interrupt = 7
}

Detailed Description

CPU register and status flag definitions.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : uint8_t
Enumerator
status_flag_carry 

Status flag carry.

status_flag_zero 

Status flag zero.

status_flag_negative 

Status flag negative.

status_flag_overflow 

Status flag overflow.

status_flag_sign 

Status flag sign.

status_flag_half_carry 

Status flag half carry.

status_flag_transfer 

Status flag transfer.

status_flag_global_interrupt 

Status flag global interrupt.

◆ anonymous enum

anonymous enum : uint8_t
Enumerator
x_low_register 

X low register.

x_high_register 

X high register.

y_low_register 

Y low register.

y_high_register 

Y high register.

z_low_register 

Z low register.

z_high_register 

Z high register.

◆ GeneralPurposeRegister

enum class atmega328p::cpu::GeneralPurposeRegister : uint8_t
strong

CPU general-purpose registers.

Enumerator
R0 

0 - CPU register R0.

R1 

1 - CPU register R1.

R2 

2 - CPU register R2.

R3 

3 - CPU register R3.

R4 

4 - CPU register R4.

R5 

5 - CPU register R5.

R6 

6 - CPU register R6.

R7 

7 - CPU register R7.

R8 

8 - CPU register R8.

R9 

9 - CPU register R9.

R10 

10 - CPU register R10.

R11 

11 - CPU register R11.

R12 

12 - CPU register R12.

R13 

13 - CPU register R13.

R14 

14 - CPU register R14.

R15 

15 - CPU register R15.

R16 

16 - CPU register R16.

R17 

17 - CPU register R17.

R18 

18 - CPU register R18.

R19 

19 - CPU register R19.

R20 

20 - CPU register R20.

R21 

21 - CPU register R21.

R22 

22 - CPU register R22.

R23 

23 - CPU register R23.

R24 

24 - CPU register R24.

R25 

25 - CPU register R25.

R26 

26 - CPU register R26.

R27 

27 - CPU register R27.

R28 

28 - CPU register R28.

R29 

29 - CPU register R29.

R30 

30 - CPU register R30.

R31 

31 - CPU register R31.

◆ PointerRegister

enum class atmega328p::cpu::PointerRegister : uint8_t
strong

16-bit pointer-register pairs.

Enumerator
X 

0 - R27:R26 pointer pair.

Y 

1 - R29:R28 pointer pair.

Z 

2 - R31:R30 pointer pair.

◆ StatusFlag

enum class atmega328p::cpu::StatusFlag : uint8_t
strong

Status-register flags.

Enumerator
Carry 

0 - Carry flag (C).

Zero 

1 - Zero flag (Z).

Negative 

2 - Negative flag (N).

Overflow 

3 - Two's-complement overflow flag (V).

Sign 

4 - Sign flag (S).

HalfCarry 

5 - Half-carry flag (H).

Transfer 

6 - Bit-copy flag (T).

GlobalInterrupt 

7 - Global interrupt enable (I).