首页支持常见问题解答(常见问题)

常见问题解答(常见问题)

管理编号 [FAQ-00007]
我不明白双精度运算。

型号:全部



 
指定应用指令(21种)包含2个字节或更多(字节指令),

[说明]

(1) 双倍长度运算目标指令
双倍长度运算的应用指令如下。
·F-10、F-10w、F-10d---寄存器之间的加法
·Fc10、Fc10w、Fc10d---寄存器和BCD常数相加
·F-11、F-11w、F-11d——寄存器之间的减法
·Fc11、Fc11w、Fc11d---寄存器与BCD常数相减
·F-12、F-12w、F-12d---寄存器之间的比较
·Fc12、Fc12w、Fc12d---寄存器和八进制数的比较
·Fx12、Fx12w、Fx12d---寄存器与十六进制数的比较


(2) 双倍长度运算程序
双精度运算是一种将低位运算产生的进位和进位信号自动反映到下一位运算的功能。要创建双长度计算的程序,请按照如下所示的计算执行条件从低位开始创建程序。

示例 1)

 
[参考] 如果按如下方式编程,则不会是双精度运算。 (必须在同一电路中。)


示例2) 3字节或更多字节的双倍长度操作也可以以相同的方式进行。



(3) 双长操作期间的内部处理
1. 计算运算执行条件后首先编程的双倍长度运算目标指令(21 种),不包括先前的标志状态。
F-10、F-10w、F-10d、Fc10、Fc10w、Fc10d添加之前的进位标志状态。
F-11、F-11w、F-11d、Fc11、Fc11w、Fc11d减去之前的进位标志状态。
F-12、F-12w、F-12d、Fc12、Fc12w、Fc12d、Fx12、Fx12w、Fx12d减去之前的进位标志状态。

2. 在普通运算执行条件下,如果下一个是任何双倍长度运算目标指令,则将执行如下所示的运算。
1. 执行包括先前进位标志状态的操作。
2. 零标志是通过对“前一个零标志状态”和“相关指令操作产生的零标志状态”进行 AND 运算并且当两者都为 1 时设置的。


(4) 双精度运算注意事项
1. 当在通用操作条件下编程支持双倍长度操作(21 种)的指令时,即使在不同类型的指令中也可以执行包含标志的指令。

2. 即使在双长运算兼容指令之间存在不影响标志的指令,也会将其作为双长运算执行。

3. 如果双倍长度运算目标指令之间存在影响标志的指令,则将执行包含该指令的标志的运算。

4. 如果在 F-10(w, d)、Fc10(w, d)、F-11(w, d)、Fc11(w, d) 中使用 BCD 代码以外的任何内容,则错误标志将变为 ON,并且不会执行后续的双倍长度运算。

[相关事项]


首页支持常见问题解答(常见问题解答)
返回上一页返回页面顶部