冗余的指令
这是冗余的F指令。它被替换为: FP_DECODE
如果触发器EN处于ON状态,根据n的内容对s指定的16位数据的内容进行解码。解码结果存储在以d指定的16位区域开头的区域中。
输入
要解码的源16位区域或等效常量
用于指定要解码的起始位位置和位数的控制数据
输出
用于存储解码数据的起始16位区域(目标)
建议使用相应的FP7指令,来代替使用此F型指令:FP_DECODE 解码十六进制 -> 位状态FP_DECODE
n使用十六进制数据指定要解码的起始位位置和位数:
位编号0至3: 要解码的位数
位编号8至11: 要解码的起始位位置
(位编号4至编号7和编号12至编号15无效。)
例如:当n = 16#0404时,将解码以位位置四开头的四位。
位数和解码结果占用数据区域之间的关系:
要解码的位数 |
结果所需的数据区域 |
结果区域中的有效位 |
---|---|---|
1 |
1个字 |
2位* |
2 |
1个字 |
4位* |
3 |
1个字 |
8位* |
4 |
1个字 |
16位 |
5 |
2个字 |
32位 |
6 |
4个字 |
64位 |
7 |
8个字 |
128位 |
8 |
16个字 |
256位 |
*结果所需的数据区域中的无效位设置为0。
变量s、n和d必须为相同的数据类型。