我想问下,在cla中,程序运行,一般都是执行三条指令后,才执行运算结果吗
比如
MMOV32 MR0,@_ClatoCpuVar.A
MNOP
MNOP
MNOP
MNOP---是不是程序执行到了这一步后,_ClatoCpuVar.A才能赋值给MR0啊?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我想问下,在cla中,程序运行,一般都是执行三条指令后,才执行运算结果吗
比如
MMOV32 MR0,@_ClatoCpuVar.A
MNOP
MNOP
MNOP
MNOP---是不是程序执行到了这一步后,_ClatoCpuVar.A才能赋值给MR0啊?
不是,应该是第一步就赋值了,后面三部空延时,有相应的作用,不可以少。
具体的内容看看这个参考。
希望可以帮到你。
是这样的,个人觉得你的问题主要出在对汇编这东西不了解,或者了解太少。
首先,急着找符合你要求的CLA汇编指令集,我觉得不能解决问题。
可以找一本基础的单片机汇编原理方面的书籍,或者微机原理上的书,把基本的汇编指令和原理都搞清楚。
然后还是要看你用到的手册,根据实际问题再考虑时序和具体的指令。
这样可能需要时间,如果着急的话,还是找身边懂的人,会快一点。
希望可以帮到你!
谢谢你的耐心解答,我在ccs单步调试时,即MDEBUGSTOP,确实是在程序运行到第四个NOP时, MR0的值才被 @_ClatoCpuVar.A更新。这是为何呢