### DNEGP

指令说明：

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

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

处理的数值范围：-2147483648 ~ +2147483647

操作数：

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

指令格式：[DNEGP D ]

编程示例：

满足条件后，D1D0 的数据为 50000，注意此时的 X0 不是上升沿脉冲触发触点，因为 DNEGP 具有脉冲执行型，当 X0 闭合时，D1D0 的数据也只进行一次补码运算，运算后的数据传送到 D1D0，此时 D1D0 为-50000。

D1D0=50000 时，执行 DNEGP 指令，D1D0 的数据位变化

D1 的16个数据为高位 | D0 的16个数据为低位
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0

D1D0 的数据按位取反，它们的数据变化

D1 的16个数据为高位 | D0 的16个数据为低位
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1

D1D0 取反后的数据再加一，它们的数据变化

D1 的16个数据为高位 | D0 的16个数据为低位
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0

D1D0 的数据经过取反加一运算后，D1D0= -50000。