Motorola/IBM PowerPC Architecture

PowerPC General Registers ( User Level )

1 CV_PPC_GPR0
2 CV_PPC_GPR1
3 CV_PPC_GPR2
4 CV_PPC_GPR3
5 CV_PPC_GPR4
6 CV_PPC_GPR5
7 CV_PPC_GPR6
8 CV_PPC_GPR7
9 CV_PPC_GPR8
10 CV_PPC_GPR9
11 CV_PPC_GPR10
12 CV_PPC_GPR11
13 CV_PPC_GPR12
14 CV_PPC_GPR13
15 CV_PPC_GPR14
16 CV_PPC_GPR15
17 CV_PPC_GPR16
18 CV_PPC_GPR17
19 CV_PPC_GPR18
20 CV_PPC_GPR19
21 CV_PPC_GPR20
22 CV_PPC_GPR21
23 CV_PPC_GPR22
24 CV_PPC_GPR23
25 CV_PPC_GPR24
26 CV_PPC_GPR25
27 CV_PPC_GPR26
28 CV_PPC_GPR27
29 CV_PPC_GPR28
30 CV_PPC_GPR29
31 CV_PPC_GPR30
32 CV_PPC_GPR31

PowerPC Condition Register ( User Level )

33 CV_PPC_CR
34 CV_PPC_CR0
35 CV_PPC_CR1
36 CV_PPC_CR2
37 CV_PPC_CR3
38 CV_PPC_CR4
39 CV_PPC_CR5
40 CV_PPC_CR6
41 CV_PPC_CR7

PowerPC Floating Point Registers ( User Level )

42 CV_PPC_FPR0
43 CV_PPC_FPR1
44 CV_PPC_FPR2
45 CV_PPC_FPR3
46 CV_PPC_FPR4
47 CV_PPC_FPR5
48 CV_PPC_FPR6
49 CV_PPC_FPR7
50 CV_PPC_FPR8
51 CV_PPC_FPR9
52 CV_PPC_FPR10
53 CV_PPC_FPR11
54 CV_PPC_FPR12
55 CV_PPC_FPR13
56 CV_PPC_FPR14
57 CV_PPC_FPR15
58 CV_PPC_FPR16
59 CV_PPC_FPR17
60 CV_PPC_FPR18
61 CV_PPC_FPR19
62 CV_PPC_FPR20
63 CV_PPC_FPR21
64 CV_PPC_FPR22
65 CV_PPC_FPR23
66 CV_PPC_FPR24
67 CV_PPC_FPR25
68 CV_PPC_FPR26
69 CV_PPC_FPR27
70 CV_PPC_FPR28
71 CV_PPC_FPR29
72 CV_PPC_FPR30
73 CV_PPC_FPR31

PowerPC Floating Point Status and Control Register ( User Level )

74 CV_PPC_FPSCR

PowerPC Machine State Register ( Supervisor Level )

75 CV_PPC_MSR

PowerPC Segment Registers ( Supervisor Level )

76 CV_PPC_SR0
77 CV_PPC_SR1
78 CV_PPC_SR2
79 CV_PPC_SR3
80 CV_PPC_SR4
81 CV_PPC_SR5
82 CV_PPC_SR6
83 CV_PPC_SR7
84 CV_PPC_SR8
85 CV_PPC_SR9
86 CV_PPC_SR10
87 CV_PPC_SR11
88 CV_PPC_SR12
89 CV_PPC_SR13
90 CV_PPC_SR14
91 CV_PPC_SR15

For all of the special purpose registers add 100 to the SPR# that the
Motorola/IBM documentation gives with the exception of any imaginary
registers.

PowerPC Special Purpose Registers ( User Level )

99 CV_PPC_PC (imaginary register)
100 CV_PPC_MQ (MPC601)
101 CV_PPC_XER
104 CV_PPC_RTCU (MPC601)
105 CV_PPC_RTCL (MPC601)
108 CV_PPC_LR
109 CV_PPC_CTR

110 CV_PPC_COMPARE (part of XER, internal to debugger only)
111 CV_PPC_COUNT (part of XER, internal to debugger only)

PowerPC Special Purpose Registers ( Supervisor Level )

118 CV_PPC_DSISR
119 CV_PPC_DAR
122 CV_PPC_DEC
125 CV_PPC_SDR1
126 CV_PPC_SRR0
127 CV_PPC_SRR1
372 CV_PPC_SPRG0
373 CV_PPC_SPRG1
374 CV_PPC_SPRG2
375 CV_PPC_SPRG3
280 CV_PPC_ASR (64bit implementations only)
382 CV_PPC_EAR
287 CV_PPC_PVR
628 CV_PPC_BAT0U
629 CV_PPC_BAT0L
630 CV_PPC_BAT1U
631 CV_PPC_BAT1L
632 CV_PPC_BAT2U
633 CV_PPC_BAT2L
634 CV_PPC_BAT3U
635 CV_PPC_BAT3L
636 CV_PPC_DBAT0U
637 CV_PPC_DBAT0L
638 CV_PPC_DBAT1U
639 CV_PPC_DBAT1L
640 CV_PPC_DBAT2U
641 CV_PPC_DBAT2L
642 CV_PPC_DBAT3U
643 CV_PPC_DBAT3L

PowerPC Special Purpose Registers Implementation Dependent ( Supervisor Level )

Doesn't appear that IBM/Motorola has finished defining these.

1044 CV_PPC_PMR0 (MPC620)
1045 CV_PPC_PMR1 (MPC620)
1046 CV_PPC_PMR2 (MPC620)
1047 CV_PPC_PMR3 (MPC620)
1048 CV_PPC_PMR4 (MPC620)
1049 CV_PPC_PMR5 (MPC620)
1050 CV_PPC_PMR6 (MPC620)
1051 CV_PPC_PMR7 (MPC620)
1052 CV_PPC_PMR8 (MPC620)
1053 CV_PPC_PMR9 (MPC620)
1054 CV_PPC_PMR10 (MPC620)
1055 CV_PPC_PMR11 (MPC620)
1056 CV_PPC_PMR12 (MPC620)
1057 CV_PPC_PMR13 (MPC620)
1058 CV_PPC_PMR14 (MPC620)
1059 CV_PPC_PMR15 (MPC620)

1076 CV_PPC_DMISS (MPC603)
1077 CV_PPC_DCMP (MPC603)
1078 CV_PPC_HASH1 (MPC603)
1079 CV_PPC_HASH2 (MPC603)
1080 CV_PPC_IMISS (MPC603)
1081 CV_PPC_ICMP (MPC603)
1082 CV_PPC_RPA (MPC603)

1108 CV_PPC_HID0 (MPC601, MPC603, MPC620)
1109 CV_PPC_HID1 (MPC601)
1110 CV_PPC_HID2 (MPC601, MPC603, MPC620) (IABR)
1111 CV_PPC_HID3 (Not Defined)
1112 CV_PPC_HID4 (Not Defined)
1113 CV_PPC_HID5 (MPC601, MPC603, MPC620) (DABR)
1114 CV_PPC_HID6 (Not Defined)
1115 CV_PPC_HID7 (Not Defined)
1116 CV_PPC_HID8 (MPC620) (BUSCSR)
1117 CV_PPC_HID9 (MPC620) (L2CSR)
1118 CV_PPC_HID10 (Not Defined)
1119 CV_PPC_HID11 (Not Defined)
1120 CV_PPC_HID12 (Not Defined)
1121 CV_PPC_HID13 (MPC604) (HCR)
1122 CV_PPC_HID14 (Not Defined)

Symbol and Type Format for Microsoft Executables