状态寄存器传送指令 —— 访问(读写)CPSR寄存器

news2024/11/26 0:57:59

CPSR寄存器控制着CPU的工作模式和运算状态,出于对CPSR的保护,不允许其他指令来访问CPSR寄存器。

因此,ARM提供了读写指令来操作CPSR寄存器,这两个指令是ARM特有的指令集,因为处理器之间存在一定差异,控制状态的寄存器也可能存在差异。


目录

1、读CPSR —— MRS指令

2、写CPSR —— MSR指令

(1) 指令格式

(2) MSR指令的应用场景


1、读CPSR —— MRS指令

MRS的作用是读取CPSR寄存器的内容,并搬移到其他寄存器。

指令格式:MRS  第一操作寄存器, CPSR

MRS R1, CPSR                @ 将CPSR的内容搬移到了R1寄存器 (R1 = CPSR)

2、写CPSR —— MSR指令

(1) 指令格式

MSR指令的作用是更改CPSR寄存器的内容。

指令格式:MSR  CPSR, 第一操作数

MSR CPSR, #0x10        @ CPU的模式改为User模式,同时开启FIQ、IRQ   
MSR CPSR, #0xD3       @ 该条不会生效 

注意:第二条MSR指令不会生效,User模式比其他模式的权限都要低,出于对CPSR的保护,避免上层应用程序随意修改CPSR,切换到User模式后,无法修改CPSR寄存器。

(2) MSR指令的应用场景

这个指令一般是系统内部调用比较多。应用场景主要有两种:

a. CPU刚上电的时候

刚上电时处于SVC模式,当一切准备就绪以后,需要切换到User模式来执行应用程序,这时就会在系统内部调用这个指令。

b. 执行系统调用的时候

执行系统调用的时候,要从用户态切换到内核态,CPU的工作模式会由User模式切换到SVC模式,系统调用执行完毕返回用户态的时候,会再一次执行该指令切换到User模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/100789.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在React中组件间过渡动画如何实现?

用transition 只能作一些最简单的动画,如果稍微复杂一点就做不出来了,这时候就可以用CSS3中的keyframes 像下面这样通过css实现动画: .show {animation:show-item 2s ease-in forwards; } .hide {animation:hide-item 2s ease-in forwards; }@keyframes hide-item{

STM32F051——USART

我在大二学32的时候曾经写过一篇博客,现在看了一个韩老师的专题课后再来完善一下32串口方面的知识。所有的知识都可在官方手册中找到,目前我认为学习一个新的芯片,最全最细的就是官方手册了,英文看不懂可以看中文的,不…

Nessus破解教程

Nessus 最新版破解教程0x01 Nessus 简介0x02 Nessus 下载0x03 Nessus 安装0x04 更新漏洞库0x05 Nessus 破解0x06 Nessus 使用0x07 注意事项参考文章0x01 Nessus 简介 Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用 Nessus 作为扫描该机…

跟着 gma 学 Python:矢量面文件的空间绘图

得益于 gdal 的强大功能,gma 继承了其对各类栅格/矢量(目前支持超过80种矢量文件格式)文件的读取支持,并在其基础上进行简化、优化等改造,以便其符合 gma 的整体建库逻辑。   本文基于 gma 定义的矢量读取逻辑和方式…

26 CPP运算符重载

#include <iostream>using namespace std;//非成员函数重载 - class Person { public:Person() {m_score 0;m_name.clear();}void show() {cout << m_name << " " << m_score << endl;}int m_score;string m_name; };//全局重载号 vo…

毕业设计 - 基于SSH码头船只出行及配套货柜码放 管理系统【源码 + 论文】

文章目录前言一、项目设计1. 模块设计2. 实现效果二、部分源码项目源码前言 今天学长向大家分享一个 java web设计项目: 基于SSH码头船只出行及配套货柜码放 管理系统 一、项目设计 1. 模块设计 对于码头日常管理来说&#xff0c;主要是码头船只的管理&#xff0c;码头信息的…

【leetcode.15】三树枝和

题目描述如上 要点分析&#xff1a; 遍历出所有的情况不难&#xff0c;难的是如果和处理重复的结果 纯暴力&#xff0b;检索的话复杂度为n3&#xff0c;最后面的三个测试点会超时 所以这里使用双指针法进行处理&#xff0c;复杂度会变为n2 算法分析&#xff1a; 为了避免…

Java+SSM家庭理财管理系统(含源码+论文+答辩PPT等)

项目功能简介: 该项目采用技术&#xff1a;SSM框架MySQL数据库Tomcat服务器&#xff0c;项目含有源码、文档、配套开发软件、软件安装教程、项目发布教程等 项目功能介绍&#xff1a; 用户分为系统管理员和普通用户两个角色&#xff0c;普通用户可自行注册登录&#xff0c;系统…

【图像处理】Hough变换人眼虹膜定位【含Matlab源码 387期】

⛄一、数字图像处理简介 图像处理基础教程链接 1 【基础教程】基于matlab图像处理&#xff08;表示方法数据结构基本格式类型转换读取点运算代数运算&#xff09;【含Matlab源码 834期】 2 【基础教程】基于matlab图像处理&#xff08;读写显示运算转换变换增强滤波分析统计&a…

计算机毕设Python+Vue学生宿舍管理系统 (程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【遥感科学】第二章 电磁辐射和地物光谱特性

第二章 电磁辐射与地物光谱特征 一、电磁波谱与电磁辐射 1.1 磁波谱 我们说波谱波谱&#xff0c;那么什么是波&#xff0c;什么是谱呢&#xff1f;注意看&#xff0c;这个男人叫小帅 振动的传播称为波&#xff0c;那电磁波又是啥&#xff1f;啥叫电磁振动&#xff1f; 当电…

docker常用命令记录

1.docker加载镜像 sudo docker load --input rknn-toolkit-1.7.3-docker.tar.gz 2.查看镜像 sudo docker images 3.进入docker容器 sudo docker run -t -i --privileged rknn-toolkit:1.7.3 /bin/bash 4.退出容器 eixt 5.查看所有容器 sudo docker ps -a 6.开启容…

截止12.19--之前的再说,就先说一下今天的事

12/19 错怪colab 软链接实现永久 试一下我在ssh传上文件以后&#xff0c;1080卡还能不能看见了&#xff1a;能&#xff0c;得传到data里。可以在ssh上加上 ln -s 找不到GPU是镜像问题 出现找不到显卡的问题 需要换个镜像 所以速速自学docker吧&#xff0c;太被动了 加号做连…

基于AD Event日志识别黄金票据攻击

01、简介黄金票据(Golden Ticket)是基于Kerberos认证的一种攻击方式&#xff0c;常用来做域控权限维持。当攻击者获取到域内krbtgt帐户的SID和HASH&#xff0c;就可以随意伪造域内管理员用户&#xff0c;再加上域帐户krbtgt的密码基本不会更改&#xff0c;即使域管修改了密码&a…

汇编循环指令(汇编统计正负数汇编语言1到100的求和汇编求一组数最大值)

目录 LOOP指令&#xff08;重点掌握&#xff09; LOOPZ/LOOPE指令 LOOPNZ/LOOPNE指令 例题 一&#xff1a;读程序写结果 二&#xff1a;阅读程序段回答问题 三&#xff1a;读程序写结果 四:求100内的数累和 五&#xff1a;统计正数负数零 六&#xff1a;求字节单元中…

03---后端框架搭建

1、创建项目 打开Ider&#xff0c;创建springboot项目。创建页面勾选需要的依赖&#xff0c;自定义包名、存储位置等&#xff0c;然后创建项目pom依赖如下 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>…

jenkins开发相关

1、jenkins 处理系统配置中publish over ssh中的密码 主机信息数据存储在&#xff5e;/.jenkins/jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml文件中。 java后端如果要加密可以通过以下方法实现。 String Password "xxxx" String passwd "pr…

中科方德服务器操作系统虚拟机安装过程记录

没啥技术含量&#xff0c;就是过程中踩了一些坑&#xff0c;我做个记录&#xff0c;方便后续查阅以及其他人参考什么的。 1、新建虚拟机向导---选择典型配置 2、选择&#xff1a;稍后安装客户机操作系统 3、选择客户机操作 系统以及版本&#xff0c;中科方德服务器系统为在安装…

【LeetCode每日一题】——338.比特位计数

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【题目进阶】九【时间频度】十【代码实现】十一【提交结果】一【题目类别】 动态规划 二【题目难度】 简单 三【题目编号】 338.比特位计数 四【题目描述…

IPv4 ACL访问列表简介、ACL的3种主要分类介绍与配置、以大白话介绍ACL通配符、ACL动作、定义方向、Rule序号。

3.0.0 IPv4 ACL列表&#xff08;简介、ACL分类、ACL配置、通配符&#xff09; ACL访问控制列表简介ACL的分类(华为设备)1、基本/标准ACL基本ACL编号&#xff1a;2000~2999基本ACL的作用&#xff1a;基于数据流的源地址进行匹配2、高级ACL高级ACL编号&#xff1a;3000~3999高级A…