历史上的今天
今天是:2024年08月26日(星期一)
2018年08月26日 | ARM寄存器中R0~R15寄存器的别名
2018-08-26 来源:eefocus
ARM中的寄存器的别名
默认的情况下,这些寄存器只是叫做r0,r1,...,r14等,而APCS 对其起了不同的别名。
使用汇编器预处理器的功能,你可以定义 R0 等名字,但在你修改其他人写的代码的时候,最好还是学习使用 APCS 名字。
一般编程过程中,最好按照其约定,使用对应的名字,这样使得程序可读性更好。
关于不同寄存器所对应的名字,见下表:
Table 3.2. ARM寄存器的别名
| 寄存器名字 | ||
|---|---|---|
| Reg# | APCS | 意义 |
| R0 | a1 | 工作寄存器 |
| R1 | a2 | " |
| R2 | a3 | " |
| R3 | a4 | " |
| R4 | v1 | 必须保护 |
| R5 | v2 | " |
| R6 | v3 | " |
| R7 | v4 | " |
| R8 | v5 | " |
| R9 | v6 | " |
| R10 | sl | 栈限制 |
| R11 | fp | 桢指针 |
| R12 | ip | 内部过程调用寄存器 |
| R13 | sp | 栈指针 |
| R14 | lr | 连接寄存器 |
| R15 | pc | 程序计数器 |
The following register names are predeclared:
r0-r15 and R0-R15
a1-a4 (argument, result, or scratch registers, synonyms for r0 to r3)
v1-v8 (variable registers, r4 to r11)
sb and SB (static base, r9)
ip and IP (intra-procedure-call scratch register, r12)
sp and SP (stack pointer, r13)
lr and LR (link register, r14)
pc and PC (program counter, r15).
史海拾趣
|
上海机房服务器托管|15900452544,上海\浙江\山东双线机房服务器托管 上海速腾数据主要经营:上海电信机房托管 上海电信主机租用 上海双线服务器托管 QQ:712296031 MSN/mail:chenxiaokai18@hotmail.com 手机:15900452544 网址:www.sutenw.com … 查看全部问答> |
|
我在上海,我的硬盘Maxtor牌子的,由于电源线当时接反了,导致硬盘磁头已经坏,我上面的数据很重要,现在请教各地的高手或者介绍有比较强的技术和单位帮助恢复数据,不知道谁能介绍这样的单位和个人能恢复我的数据?… 查看全部问答> |
|
请教个配置问题:在初始化下载链时,能找到FPGA芯片与配置芯片,可是在下载程序时,无论是下载到配置芯片,还是直接下载FPGA芯片,都遇到IDCODE 不匹配的错误(如图所示),请问高手这是什么原因造成的?(配置芯片上存有程序,且现在程序能正常运 ...… 查看全部问答> |
|
【MSP430共享】MSP-EXP430F5438试验板用户手册 The MSP-EXP430F5438 Experimenter Board is an evaluation board meant to evaluate the capabilities of the MSP430F5438A family of microcontrollers. Built to complement the MSP430\'s high degree of mixed-signal integration, the Experi ...… 查看全部问答> |
|
打开工程的配置选项(即project菜单下面的properties) 点击manage configurations 选中Flash按set active 。之后就可以看到Flash的状态是active的了。 然后就是点击OK。回到刚才工程配置的界面。 点击configuration条后面的下三角选择Flash【a ...… 查看全部问答> |




