NEG

指令说明:

       NEG16位连续执行型补码指令,是将操作数D的数据内容中的16个数据位按位取反(01,10)后再加一,运算的结果传送到原先操作数D中。

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

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

操作数:

       DKnY, KnM, KnS,T,C,D,Z,V,LV,DT

指令格式:[NEG  D ]

编程示例:

假设D0的数据为-45X0导通,BON指令执行,当D016个数据位(b0~b15)中的b151(因为D0的值是负数)时,M0ON。当M0闭合时,产生一个上升沿脉冲,使NEG指令执行一次,得到D0的绝对值,D045

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