笔记 4 : 彭老师课本第 4 章的 arm 的中断异常与汇编指令

(36) 接着介绍 异常,异常和中断联系在一起的。在 intel 里,这俩的区别就是是否允许嵌套,区别很小的。

在这里插入图片描述
+

在这里插入图片描述
+

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
+

在这里插入图片描述

(37) 接着介绍下 为什么快速中断就是快呢?

在这里插入图片描述

(38) 接着介绍 arm 的异常处理流程,对于 intel 是只有中断,压入中断栈帧,跳转执行中断代码。 对于 arm ,则首先保存与修正 CPSR 寄存器,切换模式,并保存返回地址于 R14 ,查询中断向量表,跳转去执行该异常模式的代码:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
+

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
+

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(39) 进入异常模式后,首先要保存寄存器中的值:

在这里插入图片描述

关于返回值的修正:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
+

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(40) 中断返回值的修正 :

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(41) 接着介绍 swi 指令的格式:

在这里插入图片描述

在这里插入图片描述
+
压栈指令如下:

在这里插入图片描述

(42) 软中断号的获取:

在这里插入图片描述

(43) 断点调试:

在这里插入图片描述

(44) lds 文件,用于编译:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(45) 接着介绍内联汇编:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
+

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(46) 混合汇编的调用标准,定义传参数标准:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(47)为什么建议在 arm 里使用结构体,这样使用的汇编指令更少,而且可以使用多寄存器传送指令,详细见 ppt:

在这里插入图片描述

(48)
谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值