浮点数运算指令包括浮点数比较、四则运算、开方运算和三角函数等功能,指令编号分布在 FNC110~FNC119、FNC120~FNC129、FNC130~FNC139 之间。
(1) 二进制浮点数比较指令 ECMP(FNC110)
(D)ECMP(P) 指令的使用如图 5-58 所示,将两个源操作数进行比较,结果反映在目标操作数中。若操作数为常数则自动转换为二进制浮点值处理。源操作数可取 K、H 和 D,目标操作数可用 Y、M 和 S,为 32 位运算指令,占 17 个程序步。
(2) 二进制浮点数区间比较指令 EZCP(FNC111)
EZCP(P) 将源操作数内容与上下边界(上、下 2 点,二进制浮点值)所指定的范围比较,相应结果以 ON/OFF 反映在目标操作数中,如图 5-59 所示。为 32 位运算指令,占 17 个程序步,源操作数可取 K、H 和 D,目标操作数为 Y、M 和 S。[S1] 应小于 [S2],操作数为常数时自动转换为二进制浮点值处理。
(3) 二进制浮点数四则运算指令
浮点数四则运算指令有加法 EADD(FNC120)、减法 ESUB(FNC121)、乘法 EMUL(FNC122)和除法 EDIV(FNC123)4 条,见图 5-60。它们都将两个源操作数中的浮点数运算后送入目标操作数;除数为 0 时出现运算错误,不执行该指令。此类指令只有 32 位运算,占 13 个程序步,运算结果影响标志位 M8020(零标志)、M8021(借位标志)、M8022(进位标志)。源操作数可取 K、H 和 D,目标操作数为 D;常数参与运算时自动转化浮点数。
图 5-58 二进制浮点数比较指令的使用

图 5-59 二进制浮点数区间比较指令的使用

图 5-60 二进制浮点数四则运算指令的使用

二进制浮点运算还包括开平方、三角函数等指令,此处不再逐一说明。