1、 MRS指令
MRS指令的格式为:
MRS{条件} 通用寄存器,程序状态寄存器(CPSR或SPSR)
MRS指令用于将程序状态寄存器的内容传送到通用寄存器中。该指令一般用在以下两种情况:
Ⅰ.当需要改变程序状态寄存器的内容时,可用MRS将程序状态寄存器的内容读入通用寄存器,修改后再写回程序状态寄存器。
Ⅱ.当在异常处理或进程切换时,需要保存程序状态寄存器的值,可先用该指令读出程序状态寄存器的值,然后保存。
指令示例:
MRS R0,CPSR ;传送CPSR的内容到R0
MRS R0,SPSR ;传送SPSR的内容到R0
2、 MSR指令
MSR指令的格式为:
MSR{条件} 程序状态寄存器(CPSR或SPSR)_<域>,操作数
MSR指令用于将操作数的内容传送到程序状态寄存器的特定域中。其中,操作数可以为通用寄存器或立即数。<域>用于设置程序状态寄存器中需要操作的位,32位的程序状态寄存器可分为4个域:
位[31:24]为条件标志位域,用f表示;
位[23:16]为状态位域,用s表示;
位[15:8]为扩展位域,用x表示;
位[7:0]为控制位域,用c表示;
该指令通常用于恢复或改变程序状态寄存器的内容,在使用时,一般要在MSR指令中指明将要操作的域。
指令示例:
MSR CPSR,R0 ;传送R0的内容到CPSR
MSR SPSR,R0 ;传送R0的内容到SPSR
MSR CPSR_c,R0 ;传送R0的内容到SPSR,但仅仅修改CPSR中的控制位域
关键字:ARM 汇编指令集 程序状态寄存器 访问指令
引用地址:
ARM汇编指令集之六——程序状态寄存器访问指令
推荐阅读最新更新时间:2024-03-16 14:59
ARM Cortex-M 分支指令编码
B cond . qualifier lable -- Branch causes a branch to a target address if ConditionPassed(cond) then { EncodingSpecificOperations(PC, lable); BranchWritePC(PC + imm32); } // All versions of the Thumb instruction set T1 : B cond lable : not allowed in IT block T2 : B cond lable : outside or last in IT block // Al
[单片机]
软银调整Arm上市计划 同时登陆英国美国
北京时间6月15日消息,知情人士透露说,软银集团准备将Arm公司部分持股在在伦敦股票交易所上市,之前软银只打算在美国上市。 软银集团调整了上市计划,它会将Arm持股的大部分在美国上市,还有一部分持股在伦敦上市,目前仍不清楚上市的融资规模及时间,计划仍然存在变数。 2016年软银收购Arm,如果Arm只在美国上市,对于英国政府和英国资本市场来说无疑是一记重拳。 本周早些时候,英国科技大臣克里斯。菲尔普(Chris Philp)曾表示,政府会与Arm合作确保它在故国上市。 软银创始人孙正义曾说,在明年3月财年结束之前寻求出售部分Arm。 据报道,软银为Arm寻求的估值至少达到600亿美元。本来软银准备将Ar
[半导体设计/制造]
CMake设置arm-linux-gcc交叉编译器
主机:Ubuntu10.04 交叉编译器:EABI-4.3.3 CMake在ubuntu系统下默认使用系统的gcc、g++编译器,编译arm下的程序要使用arm-linux-gcc,需要对CMake进行设置(通过在CMakeLists.txt中指定交叉编译器的方法)。 在CMakeLists.txt一开始加入相关设置: #告知当前使用的是交叉编译方式,必须配置 SET(CMAKE_SYSTEM_NAME Linux) #指定C交叉编译器,必须配置 #或交叉编译器使用绝对地址 SET(CMAKE_C_COMPILER arm-linux-gcc ) #指定C++交叉编译器 SET(CMAKE_CXX_COMP
[单片机]
ARM入门篇之(二)工具
(1) 交叉工具链,可以理解为交叉工具集 交叉,指在宿主机上编写编译好代码,生成目标机能够运行的格式文件,通过数据线连接宿主机与目标机,从宿主机上下载程序到目标机内 工具链,就是交叉编译器(arm-linux-gcc),交叉连接器(arm-linux-ld),交叉转换器(arm-linux-objcopy),交叉ELF文件阅读器(arm-linux-readelf),交叉反汇编器(arm-linux-objdump)等工具的集合 (2)Makefile管理 makefile,描述了整个程序的编译,链接等的规则 包括:什么样的源文件需要编译,链接;使用什么工具编译,链接;编译,链接时依赖哪些文
[单片机]
带高速USB2.0 OTG的最低价ARM9微控制器
恩智浦半导体(NXP Semiconductors,由飞利浦创建的独立半导体公司)近日宣布推出LPC3130和LPC3131,它们是具有高速(480Mbps)USB2.0 On-The-Go (OTG)接口的业界最低价的ARM9微控制器。 恩智浦LPC3130集成了一个高速USB2.0 OTG,包括PHY, 特定的PLL、180MHz ARM926EJ核、96KB SRAM、NAND闪存控制器、灵活的外部总线接口、四通道10位 A/D,以及众多串行和并行接口于一颗单芯片上,针对消费、工业、医疗以及通讯等应用市场。LPC3130带一个非常灵活的时钟产生单元(CGU),能够提供运态时钟门控,级化优化系统以降低功耗。 恩智浦半导体微处
[单片机]
嵌入式系统架构之ARM处理器
ARM公司于1991年成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术智能财产(IP)核心的处理器,即我们通常所说的ARM 处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的处理器应用约占据了32位RISC微处理器 75%以上的市场,ARM技术不止逐步渗入到我们生活的各个方面,我们甚至可以说,ARM于人类的生活环境中,已经是不可或缺的一环。 目前市面上常见的ARM处理器架构,可分为ARM7、ARM9以及ARM11,新推出的Cortex系列尚在进行开发验证,市面上还未有相关产品推出。ARM也是嵌入式处理器中首先推出多核心架构的厂商。 ARM首个多核心架构为AR
[单片机]
基于ARM的车载GPS定位终端的设计
1 引言 车载GPS定位终端在过去十年内已经成为汽车工业发展的焦点。在欧美国家和日本,车载GPS定位终端在最近几年内得以广泛的应用。车载GPS定位终端是融全球卫星定位技术(GPS)和现代无线通信技术于一体的高科技系统。该终端的主要功能是通过GPS模块从卫星获取GPS数据,将移动车辆的动态位置(经度、纬度、时间、速度)等信息实时地通过无线通信链路上传至监控中心,同时接收监控中心发送的控制命令。目前的车辆监控系统中大多采用GSM通信网以短信息的方式进行通信,不能充分满足实际应用的需要。而GPRS(General Packet Radio Service)通用分组无线业务是一种以分组交换技术为基础,采用IP数据网络协议的高效数据传输网
[单片机]
Nordic Semiconductor 与 Arm 扩展合作关系
签署最新低功耗处理器设计、软件平台和安全 IP 许可协议 Nordic签署 Arm Total Access 授权许可协议,确保其现有和未来的多协议、Wi-Fi、蜂窝物联网和DECT NR+ 产品具备业界领先的处理器和安全技术 挪威奥斯陆 – 2024年2月20日 – Nordic Semiconductor宣布与世界领先的半导体设计和软件平台企业Arm签署一项多年期Arm Total Access (ATA)授权许可协议 。ATA 保证为Nordic当前和未来的产品 (包括多协议、Wi-Fi、蜂窝物联网和 DECT NR+ 解决方案) 提供广泛的Arm® IP、工具、支持和培训。 两家企业的合作始于 2012
[物联网]