ARM状态寄存器CPSR SPSR

发布者:SparklingSun最新更新时间:2021-09-29 来源: eefocus关键字:ARM  状态寄存器  CPSR  SPSR 手机看文章 扫描二维码
随时随地手机看文章

订阅专栏

ARM的状态寄存器格式如上


位[31:24]为条件标志位域,用f 表示;

位[23:16]为状态位域,用s 表示;

位[15:8]为扩展位域,用x 表示;

位[7:0]为控制位域,用c 表示;

显然,常用的只有条件标志位域f和控制位域c。


如果需要操作状态寄存器,比如切换处理器模式,就需要修改控制位域中的模式位。

MRS: 程序状态寄存器到通用寄存器的数据传送指令

MSR: 通用寄存器到程序状态寄存器的数据传送指令 


附:

M控制位控制处理器模式,具体含义如下:

M[4:0] 处理器模式    可访问的寄存器

ob10000 user     pc,r14~r0,CPSR

0b10001 FIQ      PC,R14_FIQ-R8_FIQ,R7~R0,CPSR,SPSR_FIQ

0b10010 IRQ      PC,R14_IRQ-R13_IRQ,R12~R0,CPSR,SPSR_IRQ

0B10011 SUPERVISOR    PC,R14_SVC-R13_SVC,R12~R0,CPSR,SPSR_SVC

0b10111 ABORT     PC,R14_ABT-R13_ABT,R12~R0,CPSR,SPSR_ABT

0b11011 UNDEFINEED    PC,R14_UND-R8_UND,R12~R0,CPSR,SPSR_UND

0b11111 SYSTEM     PC,R14-R0,CPSR(ARM V4以及更高版本)


***条件标志位***

N——本位设置成当前指令运算结果的bit[31]的值。当两个表示的有符号整数运算时,n=1表示运算结果为负数,n=0表示结果为正书或零。


Z——z=1表示运算的结果为零;z=0表示运算的结果不为零。对于CMP指令,Z=1表示进行比较的两个数大小相等。


C——下面分四种情况讨论C的设置方法:

在加法指令中(包括比较指令CMP),当结果产生了进位,则C=1,表示无符号运算发生上溢出;其他情况C=0。

在减法指令中(包括减法指令CMP),当运算中发生错位,则C=0,表示无符号运算数发生下溢出;其他情况下C=1。

对于包含移位操作的非加减运算指令,C中包含最后一次溢出的的位的数值。对于其他非加减运算指令,C位的值通常不受影响。


V——对于加减运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号为溢出;通常其他指令不影响V位。 

关键字:ARM  状态寄存器  CPSR  SPSR 引用地址:ARM状态寄存器CPSR SPSR

上一篇:ARM(包括ARMv7 工作模式介绍)寄存器、工作模式和指令集
下一篇:ARM cpsr寄存器和spsr寄存器

推荐阅读最新更新时间:2024-11-17 10:08

ARM入门笔记(6)
RS232串口通信 串口USART0通讯实验 一.实验目的 利用串口调试软件能够正确接收到AT91SAM7S64发出的数据,AT91SAM7S64也能正确接收到调试软件发出的数据。 二.实验程序和参数设置 1 连接器选项设置和启动代码都与上个实验相同 2 C语言的代码 #i nclude AT91SAM7S64.h #i nclude Board.h unsigned char RBuff ; //定义接收缓冲区 unsigned char index; int main(void) { unsigned int i, delay; *AT91C_CKGR_MOR = 0x701; //使能主振荡器和设置起振时间
[单片机]
高通私有化能不能成事?孙正义的野心有多大?
  虽然因为特朗普政府的出手干预,让博通收购 高通 的举措最终搁浅,但 高通 并非就此高枕无忧了。事实上,近日又有传闻称, 高通 前任董事长保罗·雅各布(Paul Jacobs)正在预谋和软银孙正义合作,将高通私有化了。据悉,软银计划以 ARM 公司为依托对高通进行私有化运作,软银在2016年斥资300多亿美元将 ARM 收购。当今的智能手机和平板电脑处理器多数都采用 ARM 的技术架构,包括高通在内,也是如此。如果二者真的可以携手的话,那么孙正义的野心不可谓不小,对物联网、移动互联网、车联网都会带来巨大的改变。    私有化高通可不可行?   据悉,雅各布已经聘请两家银行和律师为其处理这笔交易。按照雅各布的计划,控制权仍将留在
[网络通信]
ARM11和DSP的3G视频安防安全帽设计方案
1.引言 为提高在高危工作场所现场作业的可控性,本文采用仿生学原理和高集成度设计实现了与人眼同视角的3G视频安全帽。本设计由视频安全帽和腰跨式数据处理终端两部分组成,采用高可靠性航空插头连接。其中图像处理采用三星公司的S3C6410ARM11处理器和TMS320DM642 DSP处理器组成。本设计结合DSP处理器在视频压缩方面的优势和运行于ARM之上的Linux操作系统在数据管理与任务调度机制方面的出色表现,由DSP完成图像处理功能,并通过高速接口把视频数据传输给嵌入式微处理系统,完成视频数据的传输、存储功能。 2.系统构成 本设计由视频安全帽和腰跨式视频终端两部分组成。视频安全帽中包含1路视频输入、1路音频输入和1路音频输出
[单片机]
<font color='red'>ARM</font>11和DSP的3G视频安防安全帽设计方案
arm 裸板程序编译过程
看过编译原理的人都知道我们一句简单的arm-linux-gcc 到达做了哪些工作。他并不是简单的把我们的原文件编译成我们可执行的二进制文件,在这个过程中他其实至少做了两部工作。 编译 和链接 当然这其中包含了很多关于编译原理的至少,由于本人才疏学浅说以也只能够简单的把他说成编译和链接了。如果需要跟深入的理解请查找相关 编译原理的书籍吧 这里我们先介绍一下常用的GCC命令. 1.arm-linux-gcc -v 查看gcc 版本号 2.arm-linux-nm 查看一个.o文件所需要的库。 3.arm-linux-ld 链接命令 3.arm-linux-gcc 编译命令 4 arm-linux-objdump -h tes
[单片机]
ARM处理器简介及RISC设计要点
第一ARM处理器简介及RISC特点 ARM处理器简介 ARM(Advanced RISC Machines)是一个32位RISC(精简指令集)处理器架构,ARM处理器则是ARM架构下的微处理器。ARM处理器广泛的使用在许多嵌入式系统。ARM处理器的特点有指令长度固定,执行效率高,低成本等。 RISC设计主要特点 1、指令集——RISC减少了指令集的种类,通常一个周期一条指令,采用固定长度的指令格式,编译器或程序员通过几条指令完成一个复杂的操作。而CISC指令集的指令长度通常不固定。 2、流水线——RISC采用单周期指令,且指令长度固定,便于流水线操作执行。 3、寄存器——RISC的处理器拥有更多的通用寄存器,寄存器操作较多。
[单片机]
<font color='red'>ARM</font>处理器简介及RISC设计要点
基于AT91 M42800A设计的LED显示系统
    最近,笔者在某工厂大型生产线上基于现场总线的物流呼叫系统项目中发现,由于所需要显示的信息流比较大,用现有的基于AT89C51芯片组成的LED显示屏控制系统,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下,得到良好的动态视觉效果。针对以上情况,在利用现有资源的基础上,重新设计和研制了一种全新的,由32位高性能ARM微处理器组成的LED显示屏控制系统,并通过RS485接口与现场总线中的上位机进行实时数据通信,实现整个系统的信息显示。 1 系统硬件结构     该系统的硬件组成框图如图1所示。图1中,微处理器是Atmel公司生产的A
[单片机]
基于AT91 M42800A设计的LED显示系统
Arm推出首款多线程处理器Arm Cortex-A65AE
新闻摘要: • Arm推出安全就绪计划(Arm Safety Ready program)的最新补充,这是一款新型“汽车增强”处理器,旨在实现下一代安全驾驶体验 • 针对7纳米进行优化:Cortex-A65AE是Arm首款集成功能安全的多线程处理器,可在车载信息娱乐系统(IVI) /驾驶舱系统中处理自动和高处理量的传感器数据 • 同步多线程针对高处理量工作负载进行优化,并提供最佳的性能效率 北京 – 2018年12月21日 – Arm宣布推出首款集成功能安全的多线程处理器Arm Cortex-A65AE,它是Arm汽车增强版IP产品组合的最新补充,旨在更高效地处理下一代车辆中产生的多种传感器数据流,安全地实现创新
[汽车电子]
10.ARM汇编的学习
ARM汇编的学习是很必要,学习ARM汇编不是要以后用汇编去写程序,而是要去看得懂,且进行修改就可以了。因为在后面的有关内核和bootloader的工程里,会有部分的代码是汇编程序编写的。在bootloader中,系统一旦上电,第一个运行的程序,需要对cpu、协处理器进行初始化,此时还没有C语言运行的环境,因为没有堆栈等条件。在内核里也是同样的道理。之所以要使用汇编,是因为它公认的高效性,在系统刚上电,或者在一个程序里需要高效的程序语言的时候,就会考虑用汇编来实现。就像C语言,它可以嵌入汇编代码,来提高运行效率。 总结:两个会使用汇编的地方 启动代码。 效率要求高的地方。 ARM汇编分类: 目前常用的ARM汇编指令有两种:
[单片机]
10.<font color='red'>ARM</font>汇编的学习
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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