### NEG

指令说明：

NEG 为 16 位连续执行型补码指令，是将操作数 D 的数据内容中的 16 个数据位按位取反（0→1,1→0）后再加一，运算的结果传送到原先操作数 D 中。

因为连续执行型指令则在每一个扫描周期都执行运算，必须要脉冲指令触发条件下使用 NEG 指令，务必引起注意。

处理的数值范围：-32768 ~ +32767

操作数：

D：KnY, KnM, KnS,T,C,D,Z,V,LV,DT

指令格式：[NEG D ]

编程示例：

假设 D0 的数据为-45，X0 导通，BON 指令执行，当 D0 的 16 个数据位（b0~b15）中的 b15 为 1（因为 D0 的值是负数）时，M0 为 ON。当 M0 闭合时，产生一个上升沿脉冲，使 NEG 指令执行一次，得到 D0 的绝对值，D0 为 45。

NEG 指令执行后，D0 数据的变化如下。

D0= -45 时，它的 16 个数据位：

软元件 | b15 | b14 | b13 | b12 | b11 | b10 | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0
D0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1

按位取反后，它的 16 个数据位：

软元件 | b15 | b14 | b13 | b12 | b11 | b10 | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0
D0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0

加一后，它的 16 个数据位：

软元件 | b15 | b14 | b13 | b12 | b11 | b10 | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0
D0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1

此时，D0=45。