经常看到找答案里有些人要统计固定长度数据区内2进制1的个数的问题,
自己觉得有意思,写了个相应的程序,不知大家有没有更简单的方法,希望大家讨论
问题:输入点闭合数量多少决定输出多少我有32个输入点,当闭合的数量等于12时,Q0.0输出,当闭合数量等于20时,Q0.1输出,当闭合数量等于28时,Q0.2输出。
程序如下
LD M0.4
MOVD ID0, VD4 //32个输入点
MOVD 0, VD8 //计算用暂存区
MOVW 0, VW100 //计数用
LD M0.5
EU
FOR VW0, 1, 32
MOVD VD4, VD8
RLD VD8, 1
LD SM1.1
+I 1, VW100
LD SM0.0
MOVD VD8, VD4
NEXT
LD SM0.0
LPS
AW= VW100, 12
= Q0.0
LRD
AW= VW100, 20
= Q0.1
LPP
AW= VW100, 28
= Q0
找答案的里的对应连接
http://www.ad.siemens.com.cn/service/answer/tobe_solution.aspx?Q_ID=115366&cid=1028