先说ADS中pc显示的不是pc的实际值?对arm7来说,pc应为显示的地址+8。
以上理解是否正确?
还有如果遇到跳转指令,pc的实际值应为多少?比如:
当前执行地址为0x400,内容为跳转指令,跳到0x200,
那此时pc的值是408还是208?
再问:当发生irq中断时,pc的值为什么先从1c到20,再到24,然后再转到irq_handler。
这是为什么?
[讨论]ADS中pc的值? 先说ADS中pc显示的不是pc的实际值?对arm7来说,pc应为显示的地址+8。 //是, pc就是显示的地址,在arm里,pc为取指指针。 pc-4为译码指针,pc-8为执行指针。 以上理解是否正确? 还有如果遇到跳转指令,pc的实际值应为多少?比如: 当前执行地址为0x400,内容为跳转指令,跳到0x200, 那此时pc的值是408还是208? //此时pc指针就是0x200,但在跳转指令处理时,会丢掉先前的pc,和pc-4(自己理解的,没看过具体资料,不知道是否正确 ,错误的话,希望高手纠正,避免误导)。 再问:当发生irq中断时,pc的值为什么先从1c到20,再到24,然后再转到irq_handler。 这是为什么? |
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |