找回密码
 注册
关于网站域名变更的通知
查看: 219|回复: 4
打印 上一主题 下一主题

中断向量表中不直接 LDR PC,"异常地址"?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-9 09:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
为什么在中断向量表中不直接 LDR PC,"异常地址"。而是使用一个标号,然有再在后面使用 DCD 定义这个标号。6 T; b3 T. b- R# j" {

该用户从未签到

5#
发表于 2022-10-9 14:06 | 只看该作者
Maskman 发表于 2022-10-9 13:03
# a. S+ V8 w$ k* S* w; T- gLDR 不是可以全空间跳转的吗?
/ J2 f/ N; f; C. c% d, J* l在ARM 微控制器基础与实战中,程序5.3就有的。!!

/ }, [( }* p& X( \# B( N2 i& LLDR 伪指令通过设置指令缓冲池,才能实现全范围跳转,而 LDR 指令则只能实现 4KB 范围跳转。
9 K" I$ E( b& R  |0 a

该用户从未签到

4#
 楼主| 发表于 2022-10-9 13:03 | 只看该作者
Terran 发表于 2022-10-9 11:06; [# d: R% s( J# B
因为LDR指令只能跳到当前PC 4kB 范围内,而 B 指令能跳转到 32MB 范围,而现在这样在 LDR PC, "xxxx"这条指 ...
/ r* k/ Q: g4 V; A
LDR 不是可以全空间跳转的吗?6 }$ A( C0 E6 C
在ARM 微控制器基础与实战中,程序5.3就有的。!!3 e  x4 G# ^2 M$ }) N+ g
- Q# S. \1 b  V& o% X

点评

LDR 伪指令通过设置指令缓冲池,才能实现全范围跳转,而 LDR 指令则只能实现 4KB 范围跳转。  详情 回复 发表于 2022-10-9 14:06

该用户从未签到

3#
发表于 2022-10-9 11:19 | 只看该作者
当中断或异常发生的时候,CPU自动将PC指向一个特定的地址,这个地址就是中断向量表。
+ i" F6 q" Q( E- c  I

该用户从未签到

2#
发表于 2022-10-9 11:06 | 只看该作者
因为LDR指令只能跳到当前PC 4kB 范围内,而 B 指令能跳转到 32MB 范围,而现在这样在 LDR PC, "xxxx"这条指令不远处,用"xxxx"DCD 定义一个字,而这个字里面存放最终异常服务程序的地址,这样可以实现4GB全范围跳转。

点评

LDR 不是可以全空间跳转的吗? 在ARM 微控制器基础与实战中,程序5.3就有的。!!  详情 回复 发表于 2022-10-9 13:03
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 17:17 , Processed in 0.171875 second(s), 25 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表