### ENCO

指令说明：

ENCO 是 16 位连续执行型编码指令，即每个扫描周期都执行一次编码运算。是将源操作数[S]开始的 2n 个位数进行编码，其结果用目标操作数[D]的 n 位二进制数置 1 来表示。

源操作数[S]为位软元件时，n 的取值范围是 1≤n≤8；目标操作数[S]为字软元件时，n 的取值范围是 1≤n≤4，n=0 时不处理，n 在取值范围之外时运算错误标志动作。

[S]的高位为 1 时，忽略低位为 1 的状态。

操作数：

S：X,Y, M, S,T,C,D, Z,V,LV,DT

D：T,C,D, Z,V,LV,DT

n：K,H,@

指令格式：[ENCO S D n ]

编程示例：

当源地址是位软元件 M0 时，X0 闭合，ENCO 指令执行，n=K3 时，将 M0 的 2n 个位数 M7~M0 置 1 的状态进行编码后传送到 D0 的低 3 位 b2~b0 中。

例如 M7=1 时，转换成二进制数的低 3 位 111 传送到 D0 的低 3 位 b2~b0 中，D0 的 b2=1,b1=1,b0=1，D0 为 7。例如 M5=1 时，转换成二进制的低 3 位 101 传送到 D0 的低 3 位 b2~b0 中，所以 b2=1,b1=0,b0=1，D0 为 5。如果 M7 与 M5 都为 1 时，只计算高位 M7 的 ON 位。