您的位置 首页 发布

ARM寄存器总结

ARM有16个32位的寄存器(r0到r15)。r15充当程序寄存器PC,r14(linkregister)存储子程序的返回地址,r13存储的是堆栈地址。ARM有一个当…

ARM有16个32位的寄存器(r0到r15)。

r15充任程序寄存器PC,r14(link register)存储子程序的回来地址,r13存储的是仓库地址。

ARM有一个当时程序状况寄存器:CPSR。

一些寄存器(r13,r14)在反常产生时会产生新的instances,比方IRQ处理器形式,这时处理器运用r13_irq和r14_irq

ARM的子程序调用是很快的,由于子程序的回来地址不需求寄存在仓库中。

1、ARM处理器共有37个寄存器,其间包含:

i. 31个通用寄存器,包含程序计数器(PC)在内。都是32位寄存器

ii. 6个状况寄存器,都是32位寄存器,但现在只运用了其间12位

2、ARM处理器有7种不同的处理器形式,在每一种处理器形式中有一组相应的寄存器组。恣意时间(也便是恣意的处理器形式下),可见的寄存器包含15个通用寄存器(R0~R14)、一个或两个状况寄存器及程序计数器(PC)。在所有的寄存器中,有些是各形式共用的同一个物理寄存器,有些是各形式自己具有的独立的物理寄存器。

3、通用寄存器能够分为3类:未备份寄存器(R0~R7)、备份寄存器(R8~R14)和程序计数器PC(R15)。关于每一个未备份寄存器来说,在所有的处理器形式下指的都是同一个物理寄存器。对应备份寄存器R8~R12来说,每个寄存器对应两个不同的物理寄存器,这使得中止处理十分简略。例如,只是运用R8~R14寄存器时,FIQ处理程序能够不用碑文保存和康复中止现场的指令,从而使中止处理进程十分敏捷。关于备份寄存器R13和R14来说,每个寄存器对应6个不同的物理寄存器,其间的一个是用户形式和系统形式共用的,别的的5个对应于其他5种处理器形式。

4、每一种反常形式具有自己的物理的R13。应用程序初始化该R13,使其指向该反常形式专用的栈地址。当进入反常形式时,能够将需求运用的寄存器保存在R13所指的栈中;当退出反常处理程序时,将保存在R13所指的栈中的寄存器值弹出。这样就使反常处理程序不会损坏被其间断程序的运转现场。

5、寄存器R14又被称为衔接寄存器(Link Register,LR),在ARM系统中具有下面两种殊的效果:

i.每一种处理器形式自己的物理R14中寄存当时子程序的回来地址。当经过BL或BLX指令调用子程序时,R14被设置成该子程序的回来地址。在子程序中,当把R14的值复制到程序计数器PC中时,子程序即回来。

ii.当反常中止产生时,该反常形式特定的物理R14被设置成该反常形式酿制回来的地址,关于有些反常形式,R14的值可能与将回来的地址有一个常数的偏移量。详细的回来方法与子程序回来方法根本相同。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/264472.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部