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

【嵌入式汇编基础】-ARM架构基础(二)

ARM架构基础(二)

文章目录

  • ARM架构基础(二)
    • 5、异常级别变化
    • 6、Armv8-A 执行状态
    • 7、AArch64 执行状态
      • 7.1 A64 指令集
      • 7.2 AArch64 寄存器

5、异常级别变化

在给定执行级别运行的程序会持续在该级别运行,直到处理器遇到“异常”。异常类型可以分为两类:同步异常和异步异常。同步异常可能由于程序错误而发生,例如执行无效指令或尝试访问内存中未对齐的地址。这些异常也可能由针对不同异常级别的异常生成指令引起,这些指令用于实现系统调用接口,以便较低特权级别的代码能够从较高特权级别请求服务,如图 5.1 所示。这些指令包括管理程序调用 (SVC)、虚拟机管理程序调用 (HVC) 和安全监视器调用 (SMC) 指令。异步异常可能由物理或虚拟中断引起,并处于待处理状态。这意味着这些异常与当前指令流不同步,因此被称为异步异常。当发生异常时,将调用目标异常级别的向量表中的异常向量。异常向量是异常的地址,它是相对于图 5.1:各自异常级别中的 SVC、HVC 和 SMC 调用的说明中定义的向量基地址的偏移量。

在这里插入图片描述

图5.1:TrustZone 扩展提供的“安全”状态和“非安全”状态分离说明了异常级别

异步异常可能由物理或虚拟中断引起,并处于待处理状态。这意味着这些异常与当前指令流不同步,因此被称为异步异常。

当发生异常时,将调用目标异常级别的向量表中的异常向量。异常向量是异常的地址,该地址是相对于与异常级别 VBAR_ELn 关联的向量基地址寄存器(V

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

相关文章:

  • 从0到1:初创企业适合做企业架构吗?TOGAF 能带来什么?
  • 小架构step系列25:错误码
  • Haproxy七层代理及配置
  • 数据结构2-集合类ArrayList与洗牌算法
  • 在Word和WPS文字中添加的拼音放到文字右边
  • JS与Go:编程语言双星的碰撞与共生
  • 初识opencv04——图像预处理3
  • ModelWhale+数据分析 消费者行为数据分析实战
  • 判断子序列-leetcode
  • 广州 VR 安全用电技术:工作原理、特性及优势探析​
  • CTF-Web题解:“require_once(‘flag.php‘); assert(“$i == $u“);”
  • Linux系统基本配置以及认识文件作用
  • 双非上岸985!专业课140分经验!信号与系统考研专业课140+上岸中南大学,通信考研小马哥
  • 20分钟学会TypeScript
  • 本地内网IP映射到公网访问如何实现?内网端口映射外网工具有哪些?
  • VUE2 学习笔记6 vue数据监测原理
  • 局域网 IP地址
  • Linux tcpdump 抓取udp 报文
  • 开源语音TTS与ASR大模型选型指南(2025最新版)(疯聊AI提供)
  • 动态规划:从入门到精通
  • 中国开源Qwen3 Coder与Kimi K2哪个最适合编程
  • 电子电子架构 --- 软件项目的开端:裁剪
  • 【IDEA】IDEA中如何通过分支/master提交git?
  • Hadoop 之 Yarn
  • 【软件工程】构建软件合规防护网:双阶段检查机制的实践之道
  • 【AJAX】Promise详解
  • HashMap的线程安全性 vs ConcurrentHashMap
  • 机器学习中knn的详细知识点
  • 基于springboot的候鸟监测管理系统
  • 100条常用SQL语句大全