汇编之软中断指令和协处理指令

软中断指令

  • ARM中异常中断指令主要有两条:
    • SVC(早期版本中是SWI)
    • BKPT , 用于产生软件断点,用于调试程序使用
z80 复制代码
svc{cond} #<immed_24>
z80 复制代码
svc #1 @该指令的执行会使得ARM核收到一个软中断异常

协处理器指令

  • ARM架构通过支持协处理器来扩展处理器的功能。ARM架构的处理器支持最多16个协处理器,通常称为CP0~CP15
  • CP15,提供系统控制功能,主要用于配置MMU、TLB和Cache、异常向量表的地址设置
z80 复制代码
MRC{cond} coproc, opc1, Rd, CRn, CRm{, opc2} #mov reg cooperation 协处理器寄存器内容传输到寄存器
MCR{cond} coproc, opc1, Rt, CRn, CRm{, opc2} #mov cooperation reg 寄存器内容传输到协处理器寄存器
  cond, 条件码
  coproc, 协处理器 cp1 cp2 ... cp15
  opc1, 协处理器要执行的操作码,取指范围为0~7
  Rd, 通用寄存器
  CRn, 协处理器中的寄存器
  CRm, 附加的协处理器寄存器
  opc2, 有可能出现的第二个操作码
z80 复制代码
LDR R1, =secure_vector_table_base_address
MCR P15, 0, R1, C12, C0, 0 // 初始化异常向量表地址
相关推荐
水饺编程3 天前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰3 天前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
Zevalin爱灰灰3 天前
Linux入门第二部分(ARM裸机篇) 第三章 汇编LED驱动实验
linux·汇编·arm开发
凉、介3 天前
深入理解 ARMv7-A | Generic Timer
笔记·学习·嵌入式·arm
水饺编程4 天前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
益企研究院5 天前
Arm 副总裁 Eddie Ramirez:智能体 AI 重塑数据中心,Arm 如何构建下一代算力底座?
arm
小向是个Der6 天前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
二十七日秋6 天前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
银河麒麟操作系统6 天前
两案例入选全球计算联盟年度产业应用案例汇编
大数据·汇编·人工智能
abc light6 天前
ARM 裸机开发(2)——ARM 汇编与启动代码
汇编·arm开发