datasheet

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

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  汇编指令  工作模式  寄存器

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/article_2016062427253.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

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

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

ARM投资ARM服务器芯片的厂商Ampere

基于ARM的服务器产品当中,有一些公司正在争夺尽可能多的市场,这些公司不仅要吸引x86客户,而且他们还有相互竞争以获得客户。他们中的大多数通过拥有高度专注和利基产品来针对一些关键的特定市场。Ampere是其中之一,现在该公司的投资者阵容中出现了非常稳固强大的成员ARM。Ampere由前英特尔总裁RenéeJames创立,由凯雷集团资助,自2018年10月开始提供eMAG系列处理器。该公司于2018年初购买了AppliedMicro的基于X-Gene ARM的服务器资产,并提供定制的基于ARM v8.0架构的32核芯片,采用TSMC 台积电16FF +工艺构建,运行频率为3.3 GHz。该芯片基于X-Gene II平台并进行了优化
发表于 2019-04-17
ARM投资ARM服务器芯片的厂商Ampere

ARM启动代码中_main 与用户主程序main()的区别

STM32启动代码主要是分配堆栈及设置向量表,然后跳转到__main函数。跳转具体到代码段部分如下:Reset_Handler   PROC                  EXPORT  Reset_Handler             [WEAK]                  IMPORT  __main 
发表于 2019-04-16

安谋科技结合中国市场需求自主研发基于ARM技术的IP与标准

2018年,ARM中国业务完成拆分,成立了由中方控股51%的合资公司。作为ARM公司在中国IP业务的总部,安谋科技(中国)有限公司将向总部设在中国的合作伙伴开展集成电路知识产权(IP)的授权与技术服务;并结合中国市场需求自主研发基于ARM技术的IP与标准,赋能中国智能科技创新。 ARM公司继2018年9月推出汽车安全强化处理器Cortex-A76AE之后,12月又推出了一款新的自动驾驶汽车芯片——Cortex-A65AE。它也是面向汽车电子市场的,主要针对7nm优化,其最大特点就是支持了SMT多线程,性能吞吐率比前代高3.5倍,预计2020年上市。 2019第四届ADAS与自动驾驶论坛于3月21-22日在上
发表于 2019-04-03
安谋科技结合中国市场需求自主研发基于ARM技术的IP与标准

Arm Pelion 物联网平台为全面部署物联网公共设施奠定基础

 Arm提供端到端物联网安全机制,以满足水电、天然气和水计量中从设备到数据的应用需求。  Arm 与各大智能电表以及先进仪表基础设施(Advance Meter Infrastructure;AMI)厂商合作,联手在Mbed OS 与Pelion 物联网平台的基础上为公共设施提供完备的物联网解决方案。 EDMI 运用Pelion物联网平台进行连接、管理、以及扩展各种智能仪表解决方案。 Arm宣布与EDMI合作,将Mbed OS 与Pelion 物联网平台整合到先进的智能仪表解决方案中,实现安全的设备连接、管理、固件升级,并为未来物联网公共设施的应用打下基础。 随着智能公共事业的快速
发表于 2019-04-01

Arm 力助联咏科技推进数字电视芯片

Arm宣布基于台积公司22纳米ULP技术的Arm POP IP受联咏科技(Novatek)采用,结合Arm big.LITTLE架构的核心优势,为数字电视市场的芯片发展开创全新局面。 当前,电视系统正迈入革命性的新时代。更高分辨率的视频、全面扩展的服务以及全新的AI驱动功能,将带动用户需求的提升与设备数量的增长。这让终端消费者为之振奋,但同时也为SoC芯片设计人员带来巨大的挑战。要在电视系统中增加上述功能,意味着芯片的复杂度也随之增加,因此工程团队不仅要努力在成本与功能之间找到平衡点,还需提供出色的用户体验,并缩短产品的上市时间。 Arm的合作伙伴联咏科技致力于提供种类众多的显示驱动IC以及多媒体SoC
发表于 2019-03-27

STM32与ARM启动代码比较分析

从ARM转到STM开发,开发工具也由ADS转到了Keil。借助STM的固件库,使得开发效率更加高效,比如你可以不用关心启动代码的具体实现,只需要专注于具体的应用代码,嵌入式开发也变得越来越“傻瓜”。此事好坏,暂且不论,来看看STM启动代码的特点,或者说相对于ARM的区别。通常的启动代码结构:1.  首先是中断向量表的定义.Ø         ARMARM代码在这块的代码为跳转语句,因为指令长度的限制,4个字节也就能放个跳转语就差不多了。通常两种实现方式:1.       B   
发表于 2019-03-24

小广播

何立民专栏

单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved