请教大家下,我在看间接寻址和循环资料里的一个例子,我在使用PLCSIM仿真时发现仿真不了,例子如下
【将DB100中的1-11数据字,传送到MW1-11中】
L L#1 //初始化循环指针。这里循环指针就是我们要修改的寻址指针
T MD 102
M2: L MD 102
T #COUNTER_D
OPN DB100
L DBW [MD 102]
T MW [MD 102]
L #COUNTER_D
L L#2 // +2,是因为数据字的偏移基准是字节。
+D
T MD 102 //自加减循环指针,这是动态修改了寻址指针的关键
L L#11 //循环次数=n-1。n=6。这是因为,首次进入循环是无条件的,
但已事实上执行了一次操作。
<=D
JC M2
我在PLCSIM里将CPU打至RUN时就报错,查看了CPU的诊断缓冲区,里面提示是写入时发生对齐错误!!,接着我点击事件帮助,显示的出错原因是为字节、字、双字访问指定了一个位地址(位0 - 2)。
我想了想,难道是在对非位的区域进行寻址时,必须确保其0-2bit为全0!,我试了下对MD102使用双字左移3位指令,可是还是报错,请问到底是哪里出错了呢