码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 异常处理流程


    1.什么是异常源?

            引发处理器进入对应的异常模式

    2.异常源和异常模式的对应关系

    1.五种异常模式,七种异常源 ;

    2.根据不同的异常源,引发处理器进入不同的异常模式,执行异常处理函数

    3.异常源具有优先级,复位的优先级最高
     

    3.异常处理流程

    保存现场:

    恢复现场:

    4.为什么引入异常向量表

    5.swi软中断指令

    例子:

    1. .text
    2. .global _start
    3. _start:
    4. @1.构建异常向量表
    5. b reset
    6. b undef_interrupt
    7. b software_interrupt
    8. b prefetch_dataabort
    9. b data_abort
    10. b .
    11. b irq
    12. b fiq
    13. reset:
    14. @2.系统一上电,程序运行在SVC模式
    15. @1> 初始化SVC模式下,栈指针
    16. ldr sp,=0x40000800
    17. @3.从SVC模式切换到user模式
    18. msr cpsr,#0xD0
    19. @4.user模式下代码
    20. @1> 初始化user模式下,栈指针
    21. ldr sp,=0x40000700
    22. mov r0,#0x1
    23. mov r1,#0x2
    24. @4.执行软中断指令 ===> 保存现场(四大步三小步)
    25. swi 2
    26. add r0,r0,r1 @ r0 = 0x3
    27. b stop
    28. undef_interrupt:
    29. software_interrupt:
    30. @压栈保存现场
    31. stmfd sp!,{r0-r12,lr}
    32. mov r0,#0x3
    33. mov r1,#0x4
    34. add r0,r0,r1 @ r0 = 0x7
    35. @出栈恢复现场
    36. ldmfd sp!,{r0-r12,pc}^
    37. @^:将SPSR_<MODE>寄存器中的值,给到CPSR寄存器中
    38. prefetch_dataabort:
    39. data_abort:
    40. irq:
    41. fiq:
    42. stop:
    43. b stop
    44. .end

  • 相关阅读:
    03.Pandas数据结构
    探究Socks5代理和代理IP在技术领域的多重应用
    9.16总结
    猿人学第一题
    Vue 使用vue-pdf 显示pdf文件 切换页面 缩放 全屏 自动播放等
    LeetCode160:相交链表
    力扣 -- 1218. 最长定差子序列
    Acwing 154. 滑动窗口
    【FPGA教程案例71】基础操作1——Xilinx原语学习及应用1
    C# GC机制
  • 原文地址:https://blog.csdn.net/m0_72852022/article/details/134250512
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号