共2条 1/1
1
跳转至
页
那么原处于译码状态的指令(指令2不是被丢弃了吗?)
问 例子:
地址 指令 说明
0x00001000 指令1 被执行(执行后有中断)
0x00001004 指令2 被译码
0x00001008 指令3 被取指(pc=00001008)
0x0000100c 指令4
中断时LR中保存下一条指令的地址当前PC+4(即0000100c)
退出中断时将LR中的值减去偏移量后移入PC
即PC(00001008)=0000100c-4
那么原处于译码状态的指令(指令2不是被丢弃了吗?)
答 1: 是的,执行完当前正在执行的指令马上转移,顾不上后面的LR中保存下一条指令的地址当前PC+4 ?
LR 中是保存的 PC 值,而PC值为当前执行指令的前两个指令,也就是取指地址。
地址 指令 说明
0x00001000 指令1 被执行(执行后有中断)
0x00001004 指令2 被译码
0x00001008 指令3 被取指(pc=00001008)
0x0000100c 指令4
中断时LR中保存下一条指令的地址当前PC+4(即0000100c)
退出中断时将LR中的值减去偏移量后移入PC
即PC(00001008)=0000100c-4
那么原处于译码状态的指令(指令2不是被丢弃了吗?)
答 1: 是的,执行完当前正在执行的指令马上转移,顾不上后面的LR中保存下一条指令的地址当前PC+4 ?
LR 中是保存的 PC 值,而PC值为当前执行指令的前两个指令,也就是取指地址。
共2条 1/1
1
跳转至
页
回复
有奖活动 | |
---|---|
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! |