感谢以上朋友的赐教!我的问题解决了,真是对不起大家,都怪我没把问题说清楚:其实问题是这样的,
输入数 a 与校验数 b 比较,如果b中bit0----bit7有一个或多个是零,a中只要相同位置出现1就是错误
比如:a=2#1010_0000 ; b中bit0,bit1,bit2,bit3,bit4,bit5,有一个或多个1就输出假,不论bit5,bit7是0或1。
验证过的程序如下:VB0=b,VB200=a ,实现BYTE与BYTE中的同位置位比较,
LD I0.0
EU
LPS
MOVB VB0, VB100
AENO
INVB VB100 //把校验值中为0的位转为1,成为陷井位
LPP
LD V100.0 //同位者为真,校验错误!
A V200.0
LD V100.1
A V200.1
OLD
LD V100.2
A V200.2
OLD
LD V100.3
A V200.3
OLD
LD V100.4
A V200.4
OLD
LD V100.5
A V200.5
OLD
LD V100.6
A V200.6
OLD
LD V100.7
A V200.7
OLD
ALD
= M0.0
只是这个程序输入值与校验值是WORD或DWOR类型,程序就会很长很长,看着很不舒服,还需要改进