ARM汇编指令ARM工作模式、寄存器

发布者:Haifeeng最新更新时间:2016-06-24 来源: eefocus关键字: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状态)

先贴张图片,一看就明白了:

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状态相比较的:

ARM汇编指令ARM工作模式、寄存器

4、CPSR/SPSR

一张图片搞定:

ARM汇编指令ARM工作模式、寄存器

 
关键字:ARM  汇编指令  工作模式  寄存器 引用地址:ARM汇编指令ARM工作模式、寄存器

上一篇:ARM的工作模式和寄存器
下一篇:影响CPSR状态寄存器的ARM汇编指令总结

推荐阅读最新更新时间:2024-03-16 14:58

一种基于ARM及FPGA的新型智能化航迹仪的设计
航迹仪是舰船导航系统中的主要配套设备之一,它能根据陀螺罗经、计程仪提供的航向航程信息或其他导航设备提供的定位信息,在海图上自动连续地绘制出船舶航行的航迹与标记。航迹仪具备的绘制航线导航功能,可使航海人员非常直观的了解到己船位置、偏航程度及未来海域的安全程度。 随着计算机技术的发展,智能化航迹仪的发展趋势是进一步拓宽功能、缩小体积、降低功耗、减少成本、提高可靠性,而传统的航迹仪系统不完全具备上述功能,存在局限性。 1 航迹仪工作原理 航迹仪的工作过程是在计算机控制下进行的。首先,使键盘处于开放状态,通过移笔键和自检键简单检查绘图功能;然后,由综导显控台装海图并向航迹仪发出装海图命令,由此航迹仪自动进入跟踪状态。船
[单片机]
一种基于<font color='red'>ARM</font>及FPGA的新型智能化航迹仪的设计
MCS-51系列单片机串行接口控制寄存器SCON
MCS-51系列 单片机 串行口控制寄存器SCON是一个特殊功能寄存器,地址为98H,具有位寻址功能。SCON的格式如下:   各位功能说明如下:      1.SM0、SM1:串行口的工作方式选择位。      2.SM2:多机通信控制位。      对于于方式2和方式3,如SM2置为1,则只有接收到的第9位数据(RB8)为“1”,才激活接收中断标志位RI;而当SM2置为0时,则不论第9位数据为“0”还是为“1”,都将前8位数据装入SBUF中,并置位RI产生中断请求。对于方式1,如SM2=1,则只有接收到有效的停止位才会激活RI。对于方式0,SM2应该为0。      3.REN:允许串行接收位。      REN位
[单片机]
MCS-51系列单片机串行接口控制<font color='red'>寄存器</font>SCON
s3c2440 ARM9 裸机驱动第一篇-GPIO驱动(C)
此文为对于LED驱动的补充: 废话不说,先上代码。 start.s .text .global _start _start: ldr r0 ,= 0x53000000 @WATCHDOG ADD mov r1 ,#0x0 str r1 , @r1 的数据写入r0 关看门狗 ldr sp ,=1024*4 @设置栈 bl main @跳转到main执行 halt: b halt led.c #define GPFCON (*(volatile unsigned long *)0x56000050) #define
[单片机]
ATmega 16单片机I/O相关的寄存器(一)
1.特殊功能寄存器SFIOR ADTS2 ADTS1 ADTS0 --- ACME PUD PSR2 PSR10 位2 PUD为上拉电阻禁止位 置位时即使DDRXN和PORTXN配置为使能上拉电阻,I/O端口的上拉电阻也会被禁止。 2.端口A数据寄存器PORTA PORTA7 PORTA6 PORTA5 PORTA4 PORTA3 PORTA2 PORTA1 PORTA0 3.端口A方向寄存器DDRA DDA7 DDA6 DDA5 DDA4 DDA3 DDA2 DDA1 DDA0 4.端口A输入引脚PINA PINA7 PINA6 P
[单片机]
ARM可能制造低功率PC处理器 全面反击Intel
据英国金融时报报道,由于Intel近期宣称Atom处理器将大举进军手机和其他掌上设备市场,业界普遍担心ARM在该市场中的地位将被动遥。对此,ARM公司首席执行官WarrenEast日前表示,他们丝毫不会惧怕Intel进军手机市场,相反认为ARM能够在更大的市场中打败Intel。 WarrenEast称,只要用户需求更加节能的处理器,ARM有可能制造PC用处理器,和Intel展开正面竞争,“谁会说情况一定会是Intel抢夺了ARM的市场份额,为什么不能是反过来呢?Intel的特长在于提高处理器速度,而ARM则可以造出功耗更低的。我们在这方面仍然遥遥领先。” 由于全球环保意识的逐渐提高,各大IT厂商都希望自己的产品更
[其他]
吴雄昂:人才是Arm在中国的核心赋能方向之一
近日,由中国电子信息产业发展研究院,工信部软件与集成电路促进中心,《中国集成电路产业人才白皮书》编委会合作发布了中国集成电路产业人才白皮书(2017-2018年版)。 Arm中国区总裁吴雄昂发表了针对Arm与人才关系的主题演讲,分享了Arm在新环境、新结构下的开放创新。 吴雄昂说道,根据软银的预测,未来全球将会有万亿互联网设备,如果按照每个设备30美元来计算,将会有30万亿美元的市场规模,其中中国市场会占到三分之一。 吴雄昂表示,到今天为止,在智能手机、穿戴式、汽车互联网设备、智能互联等领域,Arm架构芯片超过了90%的市场份额,是全球最大的生态系统。这样的生态系统是唯一能够承载万亿级设备的生态系统,Arm预计今后四年
[半导体设计/制造]
芯原与ARM扩展合作关系,进一步满足消费和网络应用先进片上系统设计的需求
进一步增强芯原为关键的垂直市场提供的片上系统应用平台       中国上海,2007年5月9日 ——芯原股份有限公司(芯原)和ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)今天宣布,芯原获得ARM926EJ-STM处理器的授权。ARM不仅将向芯原提供ARM922TTM 处理器和ARM7TDMI处理器,通过这一授权协议,芯原还将作为ARM授权设计中心,拓展目前基于ARM926EJ-S软核处理器的解决方案,打造具有综合功能、可配置的缓冲存储系统,还将增强芯原针对音频/视频、语音和多媒体等消费电子应用提供ASIC交钥匙设计的实力。     通过这一授权协议,芯原将能够直接为客户提供适用于任何代工工厂或加工点的基于ARM技术的设
[焦点新闻]
基于ARM的粉料自动仓库智能控制节点开发
0.引言 本文设计了粉末自动化仓库,其目的是为了实现多种粉末状物料的存储以及自动输送。区别于一般分散物料的自动化仓库,粉体物料的存取过程不是以货格为单位进行操作,而是以一定数目的储罐来保存物料,每次取货操作只取一个储罐中指定量的物料;存货过程现采用人工将空罐用装满物料的罐替代的方式。在这种工作模式下,将只需要AGV而省略堆垛系统,但是粉末的输出系统将必须具有计量的功能,同时,储罐的更换过程也要求简单快捷 。 本文中,使用一套2自由度的下料机构来实现粉末的计量,使用丝杆提升机构来实现储罐的升降以方便加料操作。控制系统采用基于现场总线的分布式控制系统,以智能节点为控制单元来实现所需动作。本文设计了一种基于ARM微处理器的
[单片机]
基于<font color='red'>ARM</font>的粉料自动仓库智能控制节点开发
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved