指令说明:
DAND是32位连续执行型逻辑与运算指令,是将源操作数[S1+1,S1]与源操作数[S2+1,S2]的数据内容以位为单位进行逻辑与运算后,传送到[D+1,D]中。
[S1+1,S1]与[S2+1,S2]中指定常数(K)时,会自动地进行BIN转换。
逻辑与运算以位为单位,如下表中(1&1=1、0&1=0、1&0=0、0&0=0)所示变化。
表中:1=ON,0=OFF
|
DAND |
[S1+1,S1] |
[S2+1,S2] |
[D+1,D] |
|
位单位的逻辑与运算 |
1 |
1 |
1 |
|
0 |
1 |
0 | |
|
1 |
0 |
0 | |
|
0 |
0 |
0 |
操作数:
S1:KnX, KnY, KnM, KnS,T,C,D,K,H,Z,V,LV,DT,@
S2:KnX, KnY, KnM, KnS,T,C,D,K,H,Z,V,LV,DT,@
D:KnY, KnM, KnS, T,C,D,Z,V, LV,DT
指令格式:[DAND S1 S2 D ]
编程示例:
假设D1D0的数据为42012,D3D2为48521,当X0闭合后,执行DAND指令,D1D0的32个数据位对应D3D2的32个数据位进行逻辑与运算,运算后的值传送到D5D4。D5D4为41992。


D1D0、D3D2、D5D4的32位数据位如下表所示:
|
软元件 |
b15 |
b14 |
b13 |
b12 |
b11 |
b10 |
b9 |
b8 |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 |
值 |
|
D0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
42012 |
|
D1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
D2 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
48521 |
|
D3 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
D4 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
41992 |
|
D5 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|