PC是程序计数器。不属于特殊功能寄存器。它存放的是下一条要取的指令的32位存储单元地址(ARM).当取完一个字节以后,PC的值会自动+1,为取下一条指令做准备。
读指令时,PC将其中的值(地址)输出给程序存储器R15,然后程序存储器按此地址输出指令字节;同时PC中的内容自动加1,指向下一条指令在程序存储器中的地址。
所以R15保存当前指令地址(PC传给它的),PC作为指针指向下一条指令地址
是PC指向的正在执行的下一条指令,pc一次加4,一条指令是两个地址
我记得R15就是PC啊,PC指向的正在执行的下一条指令,32位不就是加8吗。
你说的不对,学号了在来回答!arm模式当前指令+8 thumb +4
PC是程序计数器。不属于特殊功能寄存器。它存放的是下一条要取的指令的32位存储单元地址(ARM),当取完一个字节以后,PC的值会自动加以,为取在下一条指令做准备。
读指令时,PC将其中的数值作为所取指令的地址输出给程序存储器R15,然后程序存储器按此地址输出指令字节,同时PC中的内容自动加1(PC值=当前执行的位置+8),指向下一条指令在程序存储器中的地址。
所以R15保存当前指令地址(PC传给它的),PC作为指针指向下一条指令地址