比较指令有比较(cmp)、区域比较(zcp)两种,cmp的指令代码为fnc10,zcp的指令代码为fnc11,两者待比较的源操作数[s·]均为k、h、knx、kny、knm、kns、t、c、d、v、z,其目标操作数[d·]均为y、m、s。
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的状态保持不变。