. ARM系列处理器共有.37个寄存器。其中包括: 31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。6个状态寄存器。这些寄存器.都是32位寄存器。电影
ARM处理器共有7种不同..的处理器模式,每一种模式中都有一组相应的寄存器组。在任何时刻,可见的寄存器包括15个通用寄存器(R0-R14),一 鲜花
个或两个状.态寄存器及程序计数器(PC)。在所有的寄存器中,有些是各模式公用一个物理寄存器,有一.些寄存器各模式拥有自己独立的物理寄存器。 乙肝
ARM通用寄存器[color="#ffffff"]ttp:.//.
www.armforum.cn 美容
. 通用寄存.器分为以下三类:备份寄存器、未备份寄存器、程序计数器PC 汽车
未备份寄存.器 未备份寄存器包括R0-R7。对于每一个未备份寄存器来说,所有处理器模式.下都是使用同一个物理寄存器。未备份寄存器没有被系统用于非凡的用途,任何可采用通用寄存器的场合都.可以使用未备份寄存器。 健康
备份寄存器
对于R8-R12备份寄存器来说,每个寄存器对应两个不同的物理.寄存器。系.统为将备份寄存器用于任何的非凡用途,但是当中断处理非常简单,仅仅使用R8-R14寄.存器时,.FIQ处理程序可以不必执行保存和恢复中断现场的指令,从而可以使中断处理非常迅速。 [color="#ffffff"]M开发论坛 美容
对于R.13,R1..4备份寄存器来说,每个寄存器对应六个不同的物理寄存器,其中的一个是系统模式和用户模式共用的;另外的五个对应于其他的五种处理器模式。采用下面的记号来区分各个物理寄存器:R13_其中MODE可以是下面几种模式之一:usr,svc,.abt,und,irq,fiq .
程序计数器P.C [color="#.ffffff"]字串5(广告)
可以作为一般的通用寄存器使用,但有一些指令在使用R.15.时有一些限制。由于ARM采用了流水线处理器机制,当正确读取了PC的值时,该值为当前指(广告)
令地址值加上8个字节。也就是说,对于ARM指令集来说,PC指向.当前指令的下两.条指令的地址。由于ARM指令是字对齐的,PC值的第0位和第一位总为<性病>
0。
需要注重的是,.当使用str/stm保存R15时,保存的可能是当前指令地.址值加8个字节,也可能.保存的是当前指令地址值加12个字节。到底哪种方式取决于芯片的具体设计。对于用户来说,尽量避免使用STR/STM指令来保存R15的值。学习
当
成功的向R15写入一个数值时,.程序将跳转到该.地址执行。由于ARM指令是字对齐的,写入R15的值应满足bits[1:0]为0b00,具体要求arm 乙肝
个版本有所不同:**对.于arm3以及更低的版本,.写入R15的地址值bits[1:0]被忽略,即写入r15的地址值将与0xFFFF.
FFFC做与操作。**对于ARM4以及更高的版本.,程序必须保证写入R15.的地址值bits[1:0]为0b00,否则将产生不可预知的后果。对于 杀毒
Thumb指令集来说,指令是.班子对齐的,处理器将忽略bit[0]。 [color="#.ffffff"]字串8 电子
. 女人
. 婚庆
. 投资
. 杀毒
. 健康
本文来自ChinaUnix博客,如果查看原文请点:
http://blog.chinaunix.net/u2/70832/showart_1012164.html--------------彩票