
一、比较指令CMP
使用CMP指令,可以对比2个字长的数据,根据比较的结果可以设置状态位。
以MELSEC FX系列PLC为例,CMP指令的格式为:
CMP 寄存器1, 寄存器2 // 比较两个 16 位寄存器
CMPA 寄存器1, 寄存器2 // 比较两个 32 位寄存器
CMPK 寄存器, 数值 // 将数值与寄存器中的数据比较
CMPK W 寄存器, 数值 // 将数值与寄存器中的字长为 16 位的数据比较
CMPKA W 寄存器, 数值 // 将数值与寄存器中的字长为 32 位的数据比较
其中,“寄存器1”和“寄存器2”为16位或32位的寄存器; “数值” 为16位或32位的常数。
比较结果会存放在KB状态位中,KB状态位判定结果会按以下关系:
比较结果 KB状态位
等于 0#
小于 1#
大于 2#
例如,将X100和X150的数据进行比较,可以使用以下指令:
CMP X100, X150
若结果为“X100小于X150”,则KB状态位会被置位1#。