ARM指令中PC指针取址问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM指令中PC指针取址问题相关的知识,希望对你有一定的参考价值。
那位牛人帮忙细致的解释一下,为什么说PC指针寄存器中的值是当前执行指令地址+8,我能这样理解吗:CPU正在执行A指令,这时候PC寄存器正在取A指令地址值+8那个地址处的指令,并且pc的作用就是用来取指令用的,所以R15中存的都是刚去来的指令的地址值!我这样想对吗?各位牛人们,帮忙指正一下,万谢!
ARM是32位的,所有寄存器都占四个字节,每条指令占四个字节,指令执行的过程:取址---->译码------->执行。这三步都是需要消耗时间的。指令在内存中一块连续内存空间中执行,所有指令像流水线一样执行,假如有多条指令按顺序执行。流水线:1.第一条指令进行取址。2.第一条指令译码,为了节约时间,在第一条指令译码的同时,第二条指令取址,地址为第一条指令地址加4. 3.第一条指令执行,同时第二条指令译码,第三条指令取址,地址等于第一条地址加8. 总结:这里的第一条指令等同于你说的A指令,它执行的时候,第三条指令正在取址,地址等于A指令地址加8. 参考技术A 运行--msconfig--启动,把不需要开机自动运行的程序前面的勾去掉---确定。360安全卫士也可以,高级---启动项状态---把不需要开机自动运行的程序禁用。追问
想知道百度知道中回答问题者中除了广大网友,难道还有机器自动回答?不太智能啊
以上是关于ARM指令中PC指针取址问题的主要内容,如果未能解决你的问题,请参考以下文章