对新人的宝贵指南 PLC工作经验总结 (对新人的宝贵祝福)

ABCDEFGHIJ是一串地址
LDSM0.0MOVD&AAC1‘
将A的地址给AC1
MOVD&BAC2‘
将B的地址给AC2
LDSM0.0FORVW01,9‘
外圈的循环
LDSM0.0FORVW41,9‘
内圈的循环
LDD>AC1,AC2‘
用>=比较AC1和AC2的内容
JMP1‘
若是大于则跳转到标号1,否则不跳
LDD<AC1,AC2’
用<比较
MOVDAC1,X
MOVDAC2,AC1
MOVDX,AC2‘
若<,则交换
LBL1’
不用比较的位置
LDSM0.0+D4,AC1+D4,AC2‘
比较完成将AC1和AC2指向下一个位置
NEXT‘
进行内部循环
LDSM0.0MOVD&A,AC1
MOVD&B,AC2’
完成一次内部循环后从新给AC1和AC2赋值
NEXT‘
进行外部循环

代码注释

  • ABCDEFGHIJ是一串地址,代表了从A到J这10个变量的地址。
  • LDSM0.0MOVD&AAC1‘将A的地址给AC1
  • MOVD&BAC2‘将B的地址给AC2
  • LDSM0.0FORVW01,9‘外圈的循环,循环次数为9
  • LDSM0.0FORVW41,9‘内圈的循环,循环次数为9
  • LDD>AC1,AC2‘用>=比较AC1和AC2的内容
  • JMP1‘若是大于则跳转到标号1,否则不跳
  • LDD<AC1,AC2’用<比较
  • MOVDAC1,X
  • MOVDAC2,AC1
  • MOVDX,AC2‘若<,则交换
  • LBL1‘不用比较的位置
  • LDSM0.0+D4,AC1+D4,AC2‘比较完成将AC1和AC2指向下一个位置
  • NEXT‘进行内部循环
  • LDSM0.0MOVD&A,AC1
  • MOVD&B,AC2’完成一次内部循环后从新给AC1和AC2赋值
  • NEXT‘进行外部循环

代码功能

这段代码的功能是将ABCDEFGHIJ这10个变量按从小到大排序。 代码设置两个指针AC1和AC2,分别指向A和B的地址。代码进入两个循环。外圈循环遍历ABCDEFGHIJ这10个变量,内圈循环遍历每个变量的各个元素。 在内圈循环中,代码比较AC1和AC2所指的两个元素的大小。如果AC1所指的元素大于AC2所指的元素,则代码跳转到标号1。否则,代码继续执行。 在标号1处,代码交换AC1和AC2所指的两个元素。代码将AC1和AC2指向下一个位置,并继续执行内圈循环。 当内圈循环执行完毕后,代码将AC1和AC2指向下一个变量的地址,并继续执行外圈循环。 当外圈循环执行完毕后,ABCDEFGHIJ这10个变量就被按从小到大排序了。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论