您的位置 首页 硬件

ARM汇编指令ARM作业形式、寄存器

1、ARM工作模式从编程的角度来看,ARM微处理器的工作状态一般有两种,并可在两种工作状态之间进行切换:△:第一种为ARM状态,此时处理器执

1、ARM作业形式

从编程的视点来看,ARM微处理器的作业状况一般有两种,并可在两种作业状况之间进行切换:

△:第一种为ARM状况,此刻处理器履行32位的的字对齐的ARM指令。

△:第二种为Thumb状况,此刻处理器履行16位的、半字对齐的Thumb指令。

当ARM微处理器履行32位的ARM指令集时,作业在ARM状况;

当ARM微处理器履行16位的Thumb指令集时,作业在Thumb状况。

在程序的履行过程中,微处理器能够随时在两种作业状况之间切换,而且,处理器作业状况

的改动并不影响处理器的作业形式和相应寄存器中的内容。

1)存储器格局

ARM体系结构将存储器看作是从零地址开端的字节的线性组合。

从零字节到三字节地址放置地一个存储的字(32位)数据,从第四个字节到第七个字节

放置第二个存取器的子数据,顺次排序。

作为32位的微处理器,ARM体系结构所支撑的最大寻址空间为4GB。

ARM体系结构能够用两种办法存储字数据,称之为大端格局和小端格局。

△:大端格局:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

△:小端格局:与大端格局正好相反。

2)作业形式

ARM微处理器支撑7种作业形式,分别为:

a、用户形式(usr)用于正常履行程序

b、快速间断形式(fiq)用于高速数据传输

c、外部间断形式(irq)用于一般的间断处理

d、管理形式(svc)操作体系运用的维护形式

e、数据拜访停止形式(abt)当数据或许指令预取停止时进入该形式,可用于虚拟存储及存储维护。

f、体系形式(sys)运转具有特权的操作体系使命

g、未定义指令间断形式(und)当未定义的指令履行时进入该形式,可用于支撑硬件

留意:

ARM微处理器的运转形式能够经过软件改动,也能够经过外部间断或许反常处理改动。

应用程序运转在用户形式下,当处理器运转在用户形式下时,某些被3维护的体系资源是不能被拜访的。

除用户形式外,其他的6种形式称为非用户形式或许特权形式(Privileged Modes);

其间出去用户形式和体系形式以外以外的5种又称为反常形式(Exception Modes),常用语处理间断或许反常,以及要拜访受维护的体系资源等状况。

2、ARM寄存器(根据ARM状况)

先贴张图片,一看就理解了:

1)通用寄存器

△:不分组寄存器(The unbanked registers)

R0-R7

这意味着在所有处理形式下,拜访的都是同一个物理寄存器。未分组寄存器没有被体系用于特别的用处,

任何可采用通用寄存器的场合都能够运用为分组寄存器。

△:分组寄存器:

R8-R14

关于R8-R12:FIQ形式分组寄存器R8-R12以及FIQ以外的分组寄存器R8-R12

关于R13-R14:寄存器R13一般用于仓库指针SP

寄存器R14用作子程序衔接寄存器(Link Register-LR),也成为LR,指向函数的回来地址。

△:程序计数器

R15(PC)

寄存器R15也被用作程序计数器,也成为PC。其值等于当时正在履行的指令的地址+8。

由于在取址和履行之间多了一个译码的阶段(这个我也不是很懂,便是知道要加两个字)~~

△:状况寄存器

CPSR、SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq、SPSR_fiq

3、ARM寄存器(根据Thumb状况)

仍是直接上图,这个是跟ARM状况相比较的:

4、CPSR/SPSR

一张图片搞定:

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部