ATmega328p
Hardware definitions
Loading...
Searching...
No Matches
CPU.h File Reference

CPU registers, pointer pairs, and status flags. More...

#include <stdint.h>
#include "Config.h"
Include dependency graph for CPU.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  atmega328p
 Device-specific definitions for the ATmega328P.
namespace  atmega328p::cpu
 CPU register and status flag definitions.

Enumerations

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

Detailed Description

CPU registers, pointer pairs, and status flags.