ATmega2560
Hardware definitions
Loading...
Searching...
No Matches
CPU.h
Go to the documentation of this file.
1
5
6#ifndef ATMEGA2560_DEFINITIONS_CPU_H
7#define ATMEGA2560_DEFINITIONS_CPU_H
8
9#include <stdint.h>
10#include "Config.h"
11
13namespace atmega2560
14{
16 namespace cpu
17 {
19 enum class Register : uint8_t
20 {
21 R0 = 0,
22 R1 = 1,
23 R2 = 2,
24 R3 = 3,
25 R4 = 4,
26 R5 = 5,
27 R6 = 6,
28 R7 = 7,
29 R8 = 8,
30 R9 = 9,
31 R10 = 10,
32 R11 = 11,
33 R12 = 12,
34 R13 = 13,
35 R14 = 14,
36 R15 = 15,
37 R16 = 16,
38 R17 = 17,
39 R18 = 18,
40 R19 = 19,
41 R20 = 20,
42 R21 = 21,
43 R22 = 22,
44 R23 = 23,
45 R24 = 24,
46 R25 = 25,
47 R26 = 26,
48 R27 = 27,
49 R28 = 28,
50 R29 = 29,
51 R30 = 30,
52 R31 = 31,
53 };
54
55 enum class PointerRegister : uint8_t
56 {
57 X = 0,
58 Y = 1,
59 Z = 2,
60 };
61
62 enum class StatusFlag : uint8_t
63 {
64 Carry = 0,
65 Zero = 1,
68 Sign = 4,
72 };
73
74 enum : uint8_t
75 {
82 };
83 }
84}
85
86#endif
Device, package and operating-grade selection.
Cpu definitions.
Definition CPU.h:17
StatusFlag
SREG flag positions.
Definition CPU.h:63
@ Overflow
Overflow.
Definition CPU.h:67
@ Sign
Sign.
Definition CPU.h:68
@ Transfer
Transfer.
Definition CPU.h:70
@ GlobalInterrupt
GlobalInterrupt.
Definition CPU.h:71
@ Carry
Carry.
Definition CPU.h:64
@ Zero
Zero.
Definition CPU.h:65
@ HalfCarry
HalfCarry.
Definition CPU.h:69
@ Negative
Negative.
Definition CPU.h:66
PointerRegister
16-bit pointer pairs.
Definition CPU.h:56
@ X
R27:R26.
Definition CPU.h:57
@ Z
R31:R30.
Definition CPU.h:59
@ Y
R29:R28.
Definition CPU.h:58
@ y_low_register
y low register.
Definition CPU.h:78
@ x_high_register
x high register.
Definition CPU.h:77
@ y_high_register
y high register.
Definition CPU.h:79
@ x_low_register
x low register.
Definition CPU.h:76
@ z_low_register
z low register.
Definition CPU.h:80
@ z_high_register
z high register.
Definition CPU.h:81
Register
32 general-purpose registers.
Definition CPU.h:20
@ R20
CPU register R20.
Definition CPU.h:41
@ R14
CPU register R14.
Definition CPU.h:35
@ R25
CPU register R25.
Definition CPU.h:46
@ R12
CPU register R12.
Definition CPU.h:33
@ R26
CPU register R26.
Definition CPU.h:47
@ R17
CPU register R17.
Definition CPU.h:38
@ R21
CPU register R21.
Definition CPU.h:42
@ R0
CPU register R0.
Definition CPU.h:21
@ R15
CPU register R15.
Definition CPU.h:36
@ R10
CPU register R10.
Definition CPU.h:31
@ R13
CPU register R13.
Definition CPU.h:34
@ R30
CPU register R30.
Definition CPU.h:51
@ R3
CPU register R3.
Definition CPU.h:24
@ R24
CPU register R24.
Definition CPU.h:45
@ R11
CPU register R11.
Definition CPU.h:32
@ R4
CPU register R4.
Definition CPU.h:25
@ R2
CPU register R2.
Definition CPU.h:23
@ R9
CPU register R9.
Definition CPU.h:30
@ R27
CPU register R27.
Definition CPU.h:48
@ R16
CPU register R16.
Definition CPU.h:37
@ R28
CPU register R28.
Definition CPU.h:49
@ R19
CPU register R19.
Definition CPU.h:40
@ R7
CPU register R7.
Definition CPU.h:28
@ R29
CPU register R29.
Definition CPU.h:50
@ R1
CPU register R1.
Definition CPU.h:22
@ R8
CPU register R8.
Definition CPU.h:29
@ R22
CPU register R22.
Definition CPU.h:43
@ R5
CPU register R5.
Definition CPU.h:26
@ R31
CPU register R31.
Definition CPU.h:52
@ R18
CPU register R18.
Definition CPU.h:39
@ R6
CPU register R6.
Definition CPU.h:27
@ R23
CPU register R23.
Definition CPU.h:44
ATmega2560 hardware definitions.
Definition ADC.h:15