程序:
L DBD0
L DBD4
+R
L DBD8
ENT
L DBD12
-R
/R
T DBD16
......
在以上每一步过程中,数据DBD0,4,8,12,16等数据如何在累加器ACCU1,ACCU2,ACCU3,ACCU4中转换?
最佳答案
L DBD0 //ACCU1=DBD0 ACCU2=0 ACCU3=0 ACCU4=0
L DBD4 //ACCU1=DBD4 ACCU2=DBD4 ACCU3=0 ACCU4=0
+R //ACCU1=DBD4+DBD2 ACCU2=0 ACCU3=0 ACCU4=0
L DBD8 //ACCU1=DBD8 ACCU2=DBD4+DBD2 ACCU3=0 ACCU4=0
ENT //ACCU1=DBD8 ACCU2=DBD4+DBD2 ACCU3=DBD4+DBD2 ACCU4=0
L DBD12 //ACCU1=DBD12 ACCU2=8 ACCU3=DBD4+DBD2 ACCU4=0
-R //ACCU1=DBD8-DBD12 ACCU2=DBD4+DBD2 ACCU3=0 ACCU4=0
/R //ACCU1=(DBD4+DBD2)/(DBD8-DBD12) ACCU2=0 ACCU3=0 ACCU4=0
T DBD16 //ACCU1=(DBD4+DBD2)/(DBD8-DBD12) ACCU2=0 ACCU3=0 ACCU4=0
这里需要注意:对于具有四个累加器的CPU,则会将累加器3的内容复制到累加器2,并将累加器4的内容复制到累加器3。累加器4的内容保持不变。因此每一次计算后,累加器都有变化。
提问者对于答案的评价:
最后DBD16 存储在ACCU1 中?
最佳答案作者回复:
ACCU1的值还是传给DBD16的时候的值,直到下一次被写入ACCU1就发生了改变。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc152953.html