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

软中断指令

  • 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 // 初始化异常向量表地址
相关推荐
浩浩测试一下12 小时前
汇编 位运算 (逆向分析)
汇编·逆向·位运算·asm·windows编程·二进制逆向
浩浩测试一下12 小时前
汇编 高低八位寄存器数据存储方式(逆向分析)
汇编·网络安全·逆向·二进制·免杀·寄存器·windows编程
a833319620 小时前
C语言嵌入汇编详解
汇编·单片机·语言
yoyo_zzm2 天前
汇编到PHP:五大编程语言核心特性全解析
开发语言·汇编·php
黑猫学长呀2 天前
存储宝典第1篇:Nand SCA是什么
arm开发·arm·nand·存储芯片·nandflash·onfi
凉、介2 天前
Armv8-A virtualization 笔记 (二)
笔记·学习·嵌入式·arm·gic
代码讲故事3 天前
mac电脑上docker突然无法运行,不停的出现弹框,“com.docker.vmnetd”将对你的电脑造成伤害。附国内不同芯片高速下载地址,下载直接运行。
macos·docker·容器·arm·mac·intel·下载
ComputerInBook4 天前
X64 汇编 MOVSD 的两种用法
汇编·汇编指令·movsd
你刷碗4 天前
嵌入式UART printf 数据处理方法
c语言·单片机·嵌入式硬件·arm
YangWeiminPHD5 天前
金水32051编译器下的AI8051U单片机入门:从点亮LED到“你好,世界,我来了!”
c语言·汇编·51单片机·编译器