该指令的助记符、指令代码、操作数范围、程序步如下表2所示。
表2比较指令素表
指令名称助记符/功能号
操作数范围
程序步[S1·][S2·]
[D·]
比较
FNC10
(D)CMP(P)K、 H KnX 、 KnY、 KnM 、 KnS T 、 C 、 D、 V 、 Z Y、 M 、 S 16位-7步
32位-13步
比较指令 CMP是将源操作数 [S1] 和 [S2]的数据进行比较,结果送到目标操作数 [D] 中。
图7比较指令基本形式
说明如图所示:在 X0 断开,即不执行 CMP 指令时, M0~M2保持 X0 断开前的状态。
数据比较是进行代数值大小比较(即带符号比较)。所有的源数据均按二进制处理。当比较指令的操作数不完整(若只指定一个或两个操作数),或者指定的操作数不符合要求(例如把 X 、 D 、 T 、 C 指定为目标操作数),或者指定的操作数的元件号超出了允许范围等情况,用比较指令就会出错。