比较指令有比较(CMP)、区域比较(ZCP)两种,CMP的指令代码为FNC10,ZCP的指令代码为FNC11,两者待比较的源操作数[S·]均为K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其目标操作数[D·]均为Y、M、S。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
CMP指令的功能是将源操作数[S1·]和[S2·]的数据进行比较,结果送到目标操作元件[D·]中。在图13-3中,当X0为ON时,将十进制数100与计数器C2的当前值比较,比较结果送到M0~M2中,若100>C2的当前值时,M0为ON,若100=C2的当前值时,M1为ON,
若100<C2的当前值时,M2为ON。当X0为OFF时,不进行比较,M0~M2的状态保持不变。
ZCP指令的功能是将一个源操作数[S·]的数值与另两个源操作数[S1·]和[S2·]的数据进行比较,结果送到目标操作元件[D·]中,源数据[S1·]不能大于[S2·]。在图13-4中,当X1为ON时,执行ZCP指令,将T2的当前值与10和150比较,比较结果送到M0~M2中,若10>T2的当前值时,M0为ON,若10≤T2的当前值≤150时,M1为ON,若150<T2的当前值时,M2为ON。当X1为OFF时,ZCP指令不执行,M0~M2的状态保持不变。