- 1、本文档共109页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运算标志 R9008:错误标志。当有操作错误发生时,R9008接通一个扫描周期,并把发生错误的地址存入DT9018中。 R9009:进位、借位或溢出标志。当运算结果溢出或由移位指令将其置1时,R9009接通一个扫描周期。 R900B:0结果标志。当比较指令中比较结果相同,或是算术运算结果为0时,R900B接通一个扫描周期。 运算规则 1) 加法指令的算法 两操作数:(D) + (S) → (D) 三操作数:(S1) + (S2) → (D) 2) 减法指令的算法 两操作数:(D) – (S) → (D) 三操作数:(S1) – (S2) → (D) 3) 乘法指令的算法 (S1) × (S2) → (D) 4) 除法指令的算法 (S1) ÷ (S2) → (D) 商数:D或(D+1, D) 余数:DT9015 或(DT9016, DT9015) 5) 加1和减1指令算法 加1指令:(D) + 1 → (D) 减1指令:(D) – 1 → (D) 1、F20(+):两个16位数相加 2、F21(D+):两个32位数相加 3、F22(+):16位数相加存放在指定区 4、F23(D+):32位数相加存放在指定区 二进制算术运算指令 9、F30(*):16位数相乘 10、F31(D*):32位数相乘 11、F32(%):16位数相除 5、F25(-):16位数相减 6、F26(D-):32位数相减 7、F27(-):16位数相减存放在指定区 8、F28(D-):32位数相减存放在指定区 BCD码算术运算指令 1、F40(B+):4位BCD数相加 2、F41(DB+):8位BCD数相加 3、F50(B*):4位BCD数相乘 4、F53( DB%):8位BCD数相除 三、数据比较指令 比较的结果用特殊内部继电器R9009、 R900A、R900B和R900C的状态来表示。 [ F60 CMP, S1, S2 ]:16位数据比较指令。 [ F61 DCMP, S1, S2 ]:32位数据比较指令。 功能:当控制触点闭合时,将S1指定数据与S2指定数据进行比较,比较的结果反映到标志位中。 标志位结果 R900A R900B R900C R9009 >标志 =标志 <标志 进位标志 有符号数比较 S1<S2 OFF OFF ON – S1=S2 OFF ON OFF OFF S1>S2 ON OFF OFF – BCD数据或 无符号数比较 S1<S2 – OFF – ON S1=S2 OFF ON OFF OFF S1>S2 – OFF – OFF 表3-14 16位数据比较指令F60(CMP) 对标志位影响 四、逻辑运算指令 1、F65(WAN): 格式:[ F65 WAN S1, S2, D ] 功能:16位数据“与”运算。 2、F66(WOR): 格式:[ F66 WOR S1, S2, D ] 功能:16位数据“或”运算。 3、F67(XOR): 格式:[ F67 XOR S1, S2, D ] 功能:16位数据“异或”运算。 4、F68(XNR): 格式:[ F68 XNR S1, S2, D ] 功能:16位数据“异或非”运算。 五、数据转换指令 F80 ~ F83:双操作数的码制变换指令 F84 ~ F88:数据计算指令 F89(EXT): 16位数据符号位扩展指令 F80(BCD): F81(BIN): F82(DBCD): F83(DBIN): F84(INV): F85(NEG): F86(DNEG): F89(EXT): 16位二进制转换为4位BCD码 4位BCD码转换为16位二进制 32位二进制转换为8位BCD码 8位BCD码转换为32位二进制 16位数据取反 16位数据求补 32位数据求补 16位数据符号位扩展指令 六、数据移位指令 1、16位数据的左/右移位指令 1) 普通(非循环)移位指令(left/right shift ) [ F100 SHR, D, n ]:寄存器D中的16位数据右移n位 [ F101 SHL, D, n ]:寄存器D中的16位数据左移n位 2) 循环移位指令(Rotate Right/left ) [ F120 ROR, D, n ]:D中的16位数据循环右移n位 [ F121 ROL, D, n ]:D中的16位数据循环左移n位 2、数据区按字左/右移位指令 [ F110 WSHR, D
文档评论(0)