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

软中断指令

  • 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 // 初始化异常向量表地址
相关推荐
枷锁—sha1 天前
【CTFshow-pwn系列】03_栈溢出【pwn 072】详解:无字符串环境下的多级 Ret2Syscall 与 BSS 段注入
服务器·网络·汇编·笔记·安全·网络安全
同勉共进2 天前
并发编程系列(二)—— store, load 与 RMW
c++·arm·并发编程·x86·store·load·rmw
iCxhust4 天前
8088汇编测试程序 (MASM/TASM) — 显示 “HELLO 8088!“ + “LCD1602 OK“
汇编·单片机·嵌入式硬件·51单片机·微机原理
lhbian4 天前
AI编程革命:Codex让脚本开发提速10倍
开发语言·汇编·jvm·c#
誰能久伴不乏5 天前
SPI总线通信协议基础与ICM20607传感器驱动开发指南
arm开发·c++·驱动开发·嵌入式硬件·arm
Mike_detailing5 天前
资源分享:VMware-Fusion-25H2u1 和 arm版本win11
macos·arm·虚拟机
wechatbot8886 天前
企业微信全场景消息发送接口开发实现及接口调用
java·汇编·微信·企业微信
wechatbot8886 天前
企业微信 iPad 协议接口全功能开发实战
汇编·人工智能·ios·微信·企业微信·ipad
techdashen6 天前
Rust 1.88 终于稳定了裸函数:写汇编不再需要那堆样板代码
汇编·rust
So_shine8 天前
stm32f103汇编-1:LED点灯
汇编·stm32·单片机·led