TAK问题2

L   2
         T   #Index
A7d6: L  #Index
          L  25
          <= I
          JCN   A7d3
          L   1
          -  I
          ITD
          L   L#1
          -  D
          L   L#32
          *  D
          L  #Index
          ITD
          TAK
          T   LD  8
          TAK
          L   L#1
          -D
请问大侠,-D等于多少呢?谢谢!

问题补充:
实时监控显示,-D=0,不知道怎么算来的?

最佳答案

L  #Index
          L  25
          <= I
          JCN   A7d3//在没有跳转的情况下
          L   1
          -  I
          ITD
          L   L#1
          -  D
          L   L#32
          *  D//累加器1的值是(25-1-1)*32的结果
          L  #Index//累加器1的值是index的数据,累加器2的值是(25-1-1)*32的结果
          ITD
          TAK//累加器1和2内容互换,累加器1的值(25-1-1)*32的结果,累加器2的值是index的数据
          T   LD  8//保存的是(25-1-1)*32的结果
          TAK//累加器1和2再次交换:累加器1的值是index的数据,累加器2的值是(25-1-1)*32的结果
          L   L#1//累加器1的值装载到累加器2中,L#1装载到累加器1
          -D//累加器2减去累加器1的结果,即index-1

补充:你的这个应该是一个循环,循环到index=1时即-d=0时跳出了循环,所以你看到的是0,具体查看loop指令的说明。

提问者对于答案的评价:
是从1到25的循环,但是从1开始的,到25结束。你所说的(25-1-1)*25好像不对,希望能得到继续指导,谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc210517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月12日
下一篇 2017年11月12日

相关推荐