ZHCADC3B February 2019 – October 2023
DWARF3 寄存器使用寄存器名称运算符(请参阅 DWARF3 标准的第 2.6.1 节)。寄存器名称运算符的操作数是表示结构寄存器的寄存器编号。表 3-1 列出了 C28x 寄存器。表 10-1定义了从 DWARF3 寄存器编号/名称到 C28x 寄存器的映射。
DWARF 寄存器编号 | C28x ISA 寄存器 | 尺寸 | 说明 |
---|---|---|---|
0 | AL | 16 位 | ACC 累加器低半部分 |
1 | AH | 16 位 | ACC 累加器高半部分 |
2 | PL | 16 位 | P 的低半部分 |
3 | PH | 16 位 | P 的高半部分 |
4 | AR0 | 16 位 | XAR0 的低半部分 |
5 | XAR0 | 32 位 | 辅助寄存器 0 |
6 | AR1 | 16 位 | XAR1 的低半部分 |
7 | XAR1 | 32 位 | 辅助寄存器 1 |
8 | AR2 | 16 位 | XAR2 的低半部分 |
9 | XAR2 | 32 位 | 辅助寄存器 2 |
10 | AR3 | 16 位 | XAR3 的低半部分 |
11 | XAR3 | 32 位 | 辅助寄存器 3 |
12 | AR4 | 16 位 | XAR4 的低半部分 |
13 | XAR4 | 32 位 | 辅助寄存器 4 |
14 | AR5 | 16 位 | XAR5 的低半部分 |
15 | XAR5 | 32 位 | 辅助寄存器 5 |
16 | AR6 | 16 位 | XAR6 的低半部分 |
17 | XAR6 | 32 位 | 辅助寄存器 6 |
18 | AR7 | 16 位 | XAR7 的低半部分 |
19 | XAR7 | 32 位 | 辅助寄存器 7 |
20 | SP | 16 位 | 栈指针 |
21 | TL | 16 位 | XT 的低半部分 |
22 | T | 16 位 | XT 的高半部分 |
23 | ST0 | 16 位 | 状态寄存器 0 |
24 | ST1 | 16 位 | 状态寄存器 1 |
25 | PC | 22 位 | 程序计数器 0x3F FFC0 |
26 | RPC | 22 位 | 返回程序计数器 |
27 | -- | 保留供内部使用 | |
28 | FP | XAR2 帧指针 | |
29 | DP | 16 位 | 数据页指针 |
30 | SXM | 状态寄存器位 | |
31 | PM | 状态寄存器位 | |
32 | OVM | 状态寄存器位 | |
33-35、38 | 保留供内部使用 | ||
36 | IFR | 16 位 | 中断标志寄存器 |
37 | IER | 16 位 | 中断启用寄存器 |
38 | EALLOW | 保留供内部使用 |
FPU32 寄存器是 FPU64 寄存器的子集。例如,在 FPU32 上,寄存器 41 表示 32 位寄存器 R0;在 FPU64 上,它是 R0 64 位寄存器的低 32 位。同样,在 FPU32 上,寄存器 43 表示 32 位寄存器 R0H;在 FPU64 上,它是 R0 64 位寄存器的高 32 位。
DWARF 寄存器编号 | FPU32 寄存器(全 32 位) | FPU64 寄存器(64 位,除非另有说明) | 说明 |
---|---|---|---|
39-40 | STF | STF(32 位) | 浮点指针状态寄存器 |
41 | R0 | R0H:R0L | |
43 | R0H | ||
45 | R1 | R1H:R1L | |
47 | R1H | ||
49 | R2 | R2H:R2L | |
51 | R2H | ||
53 | R3 | R3H:R3L | |
55 | R3H | ||
57 | R4 | R4H:R4L | |
59 | R4H | ||
61 | R5 | R5H:R5L | |
63 | R5H | ||
65 | R6 | R6H:R6L | |
67 | R6H | ||
69 | R7 | R7H:R7L | |
71 | R7H | ||
73-74 | RB | RB(32 位) | 重复块寄存器 |
75-76 | PSEUDO | PSEUDO(32 位) | 保留供内部使用 |
所有其他 | 保留供内部使用 |