例题:
19.减法指令 “sub R1, R2, R3”的功能为 “(R1)-( R2)→ R3 ”,该指令执行后将生成进位 /借位标志 CF 和溢出标志 OF。若( R1)= FFFF FFFFH ,(R2) = FFFF FFF0H ,则该减法指令执行后, CF 与 OF 分别为(A)
A. CF=0, OF=0 B. CF=1, OF=0
C. CF=0, OF=1 D. CF=1, OF=1
在加法运算时,CF=C⊕0,减法运算时CF=C⊕1,
加法器的结构如下图所示,在获取到命令为减法时,多路选择器会选择1作为输出,并与Cin进行异或后输出
这是为了平衡补码运算时将减数替换为补码做加法的措施,如果AX-BX减的开,那么在计算机中就会替换为AX+(-BX)补码,会发生借位(进位),而如果AX-BX减不开,那么计算机替换为AX+(-BX)的补码会变为负数(假设为正数,负数逻辑类似),不会借位
例如一位符号位三位数据位
6-3 = 3 即 0110 + 1101 = 1 0011,发生进位(实际不该进)
3-6 = -3 即 0011 + 1010 = 0 1101,未发生进位(实际该进)