您尚未登录。

楼主 # 2021-05-24 22:49:19

奔跑的孩子
会员
注册时间: 2021-01-28
已发帖子: 51
积分: 31.5

请教一个 MDK 汇编基础问题, 为什么这里是 LDR R0, [PC, #0x0C]

QQ截图20210524224611.png

请教一个 MDK 汇编基础问题, 为什么这里是 LDR R0, [PC, #0x0C],

明明偏移是 0x14

不应该是 LDR R0, [PC, #0x14] 吗?

离线

楼主 #1 2021-05-24 22:53:11

奔跑的孩子
会员
注册时间: 2021-01-28
已发帖子: 51
积分: 31.5

Re: 请教一个 MDK 汇编基础问题, 为什么这里是 LDR R0, [PC, #0x0C]

https://www.cnblogs.com/lifexy/p/7117345.html

LDR r1,[r2,#16]     //将(r2+16)地址中的内容存到r1中

离线

楼主 #2 2021-05-24 22:58:27

奔跑的孩子
会员
注册时间: 2021-01-28
已发帖子: 51
积分: 31.5

Re: 请教一个 MDK 汇编基础问题, 为什么这里是 LDR R0, [PC, #0x0C]

1182576-20170706114226284-525942207.png

https://www.cnblogs.com/lifexy/p/7117345.html

注:ARM9是3级流水线,也就是PC处理时正在执行第1条指令的同时对第2条指令进行译码,并将第3条指令从存储器中取出,如下图所示,PC总是指向第3条指令取值的地方。

离线

楼主 #3 2021-05-24 23:00:47

奔跑的孩子
会员
注册时间: 2021-01-28
已发帖子: 51
积分: 31.5

Re: 请教一个 MDK 汇编基础问题, 为什么这里是 LDR R0, [PC, #0x0C]

这样算下来, 0x08 + 0x0C = 0x14


原来如此, 安心睡觉, 以为 PC = 0 或 4, 

哪知道居然等于 8

离线

楼主 #4 2021-05-25 07:06:05

奔跑的孩子
会员
注册时间: 2021-01-28
已发帖子: 51
积分: 31.5

Re: 请教一个 MDK 汇编基础问题, 为什么这里是 LDR R0, [PC, #0x0C]

QQ图片20210525070521.png


单步验证了一下, 确实 +8

离线

楼主 #5 2021-05-25 22:53:43

奔跑的孩子
会员
注册时间: 2021-01-28
已发帖子: 51
积分: 31.5

Re: 请教一个 MDK 汇编基础问题, 为什么这里是 LDR R0, [PC, #0x0C]

QQ图片20210525225251.png

F1C100s + JLINK 调试也是如此!

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn