### NEGP

指令说明：

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

程序在循环扫描时，因为 NEG 指令具有连续执行型，所以它操作的软元件的数据不断变化，所以在数据的补码运算一般用脉冲执行型的 NEGP 指令。

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

操作数：

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

指令格式：[NEGP D ]

编程示例：

在下图中，M0 不必为上升沿脉冲指令，因为 NEGP 具有脉冲执行型，假设 D0 为-45，满足 BON 指令条件，M0 闭合，执行 NEGP 指令，D0 为 45。

NEGP 指令执行后，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。