程序状态字寄存器 PSW
OF:overflow,判断有符号数是否溢出 SF:sign,符号 ZF:zero,是否为 0 CF:carry,判断无符号数是否产生进/借位
移位运算
- 逻辑移位:左移右移都补 0
- 算数移位:左移补 0,右移补符号位,移动后符号变了则发生溢出
判断溢出
采用一位符号位
两个同符号数操作后结果的符号变化则溢出。
溢出逻辑表达式
采用双符号位
运算结果的两个符号位相同则未溢出。 否则溢出两个符号位相同则溢出,此时最高位的符号位为真正的符号。
采用一位符号位根据数值位的进位情况判断
符号位的进位和第二位的进位相同则无溢出,否则有溢出。
加减运算电路
补码的减法将减数 转换成 然后进行加法。
- 输入端输入 后,在 MUX 多路选择器中根据 Sub 信号判断是否取反码
- 若 Sub=1,则说明是减法,则取反后的值加上 Sub,实现末位+1,从而转换成