CMP用于16位数据比较,比较的数据范围是-32768到+32767,比较数据类型可以是常熟K,H等,可以是数据寄存器D,也可以是计数器C,可以是时间继电器T,还可以是连续的位址(如K1X0,K2Y0,K3M0,K2S0等)。
指令用法如下:
CMP D0 D2 M0
该指令为比较指令,将比较的结果<,=,>三种结果分别告知给M0,M1,M2。
如果D0>D2,M0=1
如果D0=D2,M1=1
如果D0<D2,M2=1
所以使用这个指令会连续占用以M0为首的三个连续的位地址。
另外,若比较数据范围大于65535,请使用DCMP,这个是双字比较指令,用法和CMP一样,只不过比较的数据都是双字32位数据,所以使用时不要出现
DCMP D0 D1 M0
这种情况是不对的,因为比较数据D0已经占用了D1和D0,所以这样写是错误的。
指令用法如下:
CMP D0 D2 M0
该指令为比较指令,将比较的结果<,=,>三种结果分别告知给M0,M1,M2。
如果D0>D2,M0=1
如果D0=D2,M1=1
如果D0<D2,M2=1
所以使用这个指令会连续占用以M0为首的三个连续的位地址。
另外,若比较数据范围大于65535,请使用DCMP,这个是双字比较指令,用法和CMP一样,只不过比较的数据都是双字32位数据,所以使用时不要出现
DCMP D0 D1 M0
这种情况是不对的,因为比较数据D0已经占用了D1和D0,所以这样写是错误的。