当前位置: 首页 > news >正文

12.9 专用指令

目录

         状态寄存器传送指令

读CPSR

写CPSR

软中断指令

协处理器指令

协处理器数据运算指令

协处理器存储器访问指令

协处理器寄存器传送指令

伪指令

@空指令

@LDR

指令

伪指令


状态寄存器传送指令

专门用来读写CPSR寄存器的指令

读CPSR

MRS R1,CPSR

R1 = CPSR

写CPSR

MSR CPSR, #0x10

在USER模式下不能修改CPSR,非特权模式

MSR CPSR ,#0xD3

软中断指令

异常向量表中SWI就是软中断,在SWI中写入B指令跳转到用户写的异常的地址,过程参ARM异常响应注意查看CPSR寄存器的状态

协处理器指令

ARM是一个通用的CPU核,只支持一些通用的运算指令,如加减乘

当遇到特殊的运算,如图像处理等,就需要用到协处理器来处理

协处理器种类繁多

ARM最多可以加16个协处理器

嵌入式常见协处理器

FPU:计算浮点型数据的处理器

CP15:帮助ARM对存储器进行管理,如高速缓存、异常向量表、控制MMU(存储器管理单元,管理物理内存与虚拟内存间的关系)

协处理器数据运算指令

CDP

协处理器存储器访问指令

STC 将协处理器中的数据存储到存储器中

LDC 将存储器中的数据读取到协处理器中

协处理器寄存器传送指令

MRC 将协处理器中寄存器的数据传送到ARM处理器中的寄存器

MCR 将ARM处理器寄存器中的数据传送到协处理器中的寄存器

伪指令

本身不是指令,编译器 可以将其替换成若干条指令

@空指令

NOP

@LDR

根据格式的不同可以作为指令也可以作为伪指令

指令

LDR R1, [R2]

将R2地址中的数据,读取到R1寄存器

伪指令

LDR R1, =0x12345678

@R1=0x12345678,可以将任意一个32位的数据放入寄存器中

LDR R1, =STOP

@将STOP的地址写入R1寄存器

LDR R1, STOP

@将STOP的地址中的内容写入R1寄存器

http://www.lryc.cn/news/94744.html

相关文章:

  • Jvm对象回收算法-JVM(九)
  • SpringCloud Alibaba微服务分布式架构组件演变
  • 【Linux】初步理解操作系统和进程概念
  • TypeScript 中的字面量类型和联合类型特性
  • react+jest+enzyme配置及编写前端单元测试UT
  • 自学网络安全(黑客)
  • 【unity小技巧】委托(Delegate)的基础使用和介绍
  • 【MySQL必知必会】第24章 使用游标(学习笔记)
  • rosbag回放指定话题外的其他话题的方法
  • 6.2.1 网络基本服务---域名解析系统DNS
  • 通用文字识别OCR 之实现自动化办公
  • Spring Boot 有哪些特点?
  • 10个图像处理的Python库
  • 项目里不引入外网链接的解决方法
  • Java的jdk配置成功,但是输入java -version等,命令行没有任何反应
  • MySQL select查询练习
  • Github 标星 60K,不愧是阿里巴巴内部出厂的“Java 核心面试神技”
  • git 使用教程
  • 【Vue2.0源码学习】模板编译篇-模板解析阶段(HTML解析器)
  • ARM裸机开发-串口通信
  • Dubbo分布式服务框架,springboot+dubbo+zookeeper
  • 网络:UDP out of order;SIP;CPU out-of-order 执行
  • 我心中的TOP1编程语言—JavaScript
  • CentOS环境下的Maven安装
  • 表的增删改查
  • Tauri 应用中发送 http 请求
  • 基于霍夫变换的航迹起始算法研究(Matlab代码实现)
  • 如何使用Excel公式将(d:1,a:4,c:2,b:3)快速分割成8列并按顺序排列
  • 遥控泊车系统技术规范
  • qt 线程状态机实现并发自动任务