smart200 连续位相加
布尔量相加,并且地址是连续的。
序号 | 地址 | 符号 | 变量类型 | 数据类型 | 注释 |
---|---|---|---|---|---|
1 | IN | ||||
2 | LW0 | IN | IN_OUT | WORD | |
3 | LW2 | OUT | IN_OUT | WORD | |
4 | IN OUT | ||||
5 | OUT | ||||
6 | LW4 | WAND_IN | TEMP | WORD | 移位 与 |
7 | LW6 | INDX | TEMP | INT | 计数 |
8 | LW8 | WAND_OUT | TEMP | WORD | 与结果 |
8 | LW10 | PUP_temp | TEMP | WORD | 暂存 |
// 传送状态至中间变量并开启循环
LD SM0.0
MOVW LW0, LW4
AENO
FOR LW6, +1, 16
// 状态和1与
// 值相加
// 字右移
LD SM0.0
MOVW LW4, LW8
AENO
ANDW 2#1, LW8
AENO
+I LW8, LW10
AENO
SRW LW4, 1
// 循环结束
NEXT
// 赋值 清0
LD SM0.0
MOVW LW10, LW2
AENO
MOVW 0, LW10