指令说明:
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。