关于mov R1,R0 这条指令执行后,R0的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于mov R1,R0 这条指令执行后,R0的值?相关的知识,希望对你有一定的参考价值。

就是执行完之后 R0是否被清空 如果清空 有木有指令实现相同效果 而不清空R0

你这条指令是不存在的,要把其中一个Rn换为它的地址是可以编辑通过而运行的,如换后就是一个传送指令,在传送完成后源地址中的数是不会变的,这的源地址就是这指令中的最右边一个也就是你这问的R0. 参考技术A R0不会被清空,这条指令的作用相当于R1复制了R0的值;据我所知,仅靠一句指令是无法达到相同效果的。追问

请问怎样可以将R0 的值清空?

参考技术B 没有mov R1,R0 ,
可以写成mov R1,@R0 寄存器间接寻址将r0地址对应中的值送给R1,但R0值是不会变的
参考技术C r0 不会清空,只是 r1=r0 参考技术D 有这条指令吗?

关于ARM PC值

PC值(Program Counter).

ARM采用流水线来提高CPU的利用效率, 对于三级流水线, 一条汇编指令的执行包括 取值,  译码, 执行三个阶段.

技术图片

当MOV指令的取指动作完毕后, 进入MOV指令的译码阶段, 同时开始ADD指令的取指动作.  由图中可以发现, 正在执行MOV指令时, 同时处于ADD的译码

阶段和SUB指令的取指阶段.

由于PC值总是指向正在"取指"的指令,  如上图, 正在执行的MOV指令时,  PC值指向正在取指的指令SUB.

这中间相隔了两条指令. 对于32位CPU来说, 一条指令占用四个字节, 所以   PC = 当前程序执行地址 + 8个字节.

以上是关于关于mov R1,R0 这条指令执行后,R0的值?的主要内容,如果未能解决你的问题,请参考以下文章

)嵌入式linux之常用汇编指令

)嵌入式linux之常用汇编指令

)嵌入式linux之常用汇编指令

linux入门汇编

004.ARM指令之LDR

“将R0的内容送到R1”的指令序列,