加法和减法指令

根据目标操作数的值,溢出标志位,符号标志位,零标志位,辅助进位标志位,进位标志位和奇偶标志位会发生变化

1.INC 和 DEC 指令

INC(增加) DEC(减少)指令分别表示寄存器/内存当中的操作数+1/-1

INC mem/reg
DEC mem/reg

二者不会影响进位标志位

2.ADD指令

将长度相同的源操作数和目的操作数相加,存放在目的操作数当中

ADD dest , source

3.SUB指令

长度相同的源操作数和目的操作数,从目的操作数中减去源操作数

SUB dest, source

4.NEG指令

非指令 把操作数转化为其二进制补码,将操作数的符号取反
也就是取反+1

NEG mem
NEG reg

5.加减法影响的标志位

①进位标志位代表着无符号数溢出,就是当最高位向更高位有进位或者借位时,就溢出
②溢出标志位代表着有符号的溢出,当最高位进位状态异或次高位进位状态是1的时候,就产生溢出
③零标志位意味着 操作结果是0
④符号标志位意味着操作产生的结果是 负数。 如果目的操作数的最高有效位(MSB)是1,那么该位置1
⑤奇偶校验位这个就不用了解释了吧
⑥辅助进位标志位 意味着目的操作数最低有效字节中位3有进位,通常是对BCD码算数运算的调整

为了设计一个电子四则运算器并完成Y = 20X / 35 - 8的计算,你需要熟练掌握FX2N系列PLC的加法减法指令。首先,确保你已经阅读了《PLC应用技术:电子四则运算器设计与功能指令解析》以及相关课件项目文件,这将为你提供必需的理论基础示例代码。 参考资源链接:[PLC应用技术:电子四则运算器设计与功能指令解析](https://wenku.youkuaiyun.com/doc/11oc0mfz0e) 在设计过程中,你需要注意以下步骤: 1. **输入处理**:由于PLC处理的是二进制数,因此首先需要将X转换为二进制数。例如,如果X是十进制数12,则需要将其转换为对应的二进制形式。 2. **乘法模拟**:由于PLC直接不支持乘法指令,可以通过连续加法来实现。例如,将X的值加20次,或者使用计数器来重复加法操作20次。 3. **除法模拟**:同样,PLC不支持直接的除法指令,可以通过减法计数来模拟。将乘法得到的结果减去35次,直到结果为零,计数器的值即为商,余数则用于下一步操作。 4. **减法操作**:在得到除法的商后,使用减法指令将其与8相减,得到最终的Y值。 5. **输出处理**:将计算得到的二进制Y值转换回十进制,并输出到KnY中。 在编程时,确保合理使用标志位来判断运算状态,以便在出现溢出或运算结果不正确时,能够及时进行错误处理。同时,考虑到PLC的硬件限制,确保运算器设计能够在实际PLC系统中稳定运行。 完成上述步骤后,你将能够利用FX2N系列PLC的加法减法指令,设计并实现所需的电子四则运算器。进一步深入学习除法乘法模拟的方法,以及如何处理二进制数标志位,可以参考《PLC应用技术:电子四则运算器设计与功能指令解析》中的详细讲解实例分析,以提升你的PLC应用技术水平。 参考资源链接:[PLC应用技术:电子四则运算器设计与功能指令解析](https://wenku.youkuaiyun.com/doc/11oc0mfz0e)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值