代码转换指令:
5.ADD(BCD加法:SUB 19)
该指令能实现2位或4位BCD码的加法。
指令格式:
控制条件:
(a) 指定运算数据位数**(BYT)**
BYT=0:2位BCD码长度。
BYT=1:4位BCD码长度。
(b) 复位信号
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(c) 指令信号
ACT=0:不执行ADD指令,W1不改变。
ACT=1:执行ADD指令。
参数:
(a) 加数格式**(常数/地址)**
0:指定加数为常数。
1:指定加数为地址。
(b) 被加数地址
指定被加数的地址。
(c) 加数
由参数(a)指定加数的格式(常数或地址)。
(d) 运算结果地址
指定存储运算结果的地址。
错误输出**(W1)**:
W1=0:正常运算。
W1=1:异常运算。
如果加法结果超过了控制条件(a)指定的长度,那么W1被置1。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
指令示例:
R100.0=0(2位BCD数据)、R100.1=0且R100.2=1时,执行ADD指令。各情况下ADD指令执行结果如下表所示:
6.SUB(BCD减法:SUB 20)
该指令能实现2位或4位BCD码的减法。
指令格式:
控制条件:
(a) 指定运算数据位数**(BYT)**
BYT=0:2位BCD码长度。
BYT=1:4位BCD码长度。
(b) 复位信号
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(c) 指令信号
ACT=0:不执行SUB指令,W1不改变。
ACT=1:执行SUB指令。
参数:
(a) 减数格式**(常数/地址)**
0:指定减数为常数。
1:指定减数为地址。
(b) 被减数地址
指定被减数的地址。
(c) 减数
由参数(a)指定减数的格式(常数或地址)。
(d) 运算结果地址
指定存储运算结果的地址。
错误输出**(W1)**:
W1=0:正常运算。
W1=1:异常运算。
如果加法结果超过了控制条件(a)指定的长度,那么W1被置1。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
指令示例:
R100.0=0(2位BCD数据)、R100.1=0且R100.2=1时,执行SUB指令。各情况下SUB指令执行结果如下表所示:
7.MUL(BCD乘法:SUB 21)
该指令能实现2位或4位BCD码的乘法。
指令格式:
控制条件:
(a) 指定运算数据位数**(BYT)**
BYT=0:2位BCD码长度。
BYT=1:4位BCD码长度。
(b) 复位信号
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(c) 指令信号
ACT=0:不执行MUL指令,W1不改变。
ACT=1:执行MUL指令。
参数:
(a) 乘数格式**(常数/地址)**
0:指定乘数为常数。
1:指定乘数为地址。
(b) 被乘数地址
指定被乘数的地址。
(c) 乘数
由参数(a)指定乘数的格式(常数或地址)。
(d) 运算结果地址
指定存储运算结果的地址。
错误输出**(W1)**:
W1=0:正常运算。
W1=1:异常运算。
如果加法结果超过了控制条件(a)指定的长度,那么W1被置1。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
指令示例:
R100.0=0(2位BCD数据)、R100.1=0且R100.2=1时,执行MUL指令。各情况下MUL指令执行结果如下表所示:
8.DIV(BCD除法:SUB 22)
该指令能实现2位或4位BCD码的除法。余数被丢弃,不会输出到余数输出寄存器中。
指令格式:
控制条件:
(a) 指定运算数据位数**(BYT)**
BYT=0:2位BCD码长度。
BYT=1:4位BCD码长度。
(b) 复位信号
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(c) 指令信号
ACT=0:不执行DIV指令,W1不改变。
ACT=1:执行DIV指令。
参数:
(a) 除数格式**(常数/地址)**
0:指定除数为常数。
1:指定除数为地址。
(b) 被除数地址
指定被除数的地址。
(c) 除数
由参数(a)指定除数的格式(常数或地址)。
(d) 运算结果地址
指定存储运算结果的地址。
错误输出**(W1)**:
W1=0:正常运算。
W1=1:异常运算。如果除数为0,W1=1标志发生错误。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
指令示例:
R100.0=0(2位BCD数据)、R100.1=0且R100.2=1时,执行DIV指令。各情况下DIV指令执行结果如下表所示: