8085微处理器减数转2的补码时进位标志是否补码?

Is carry flag complemented when subtrahend is converted into 2's complement in 8085 microprocessor?

我正在学习网络课程,发现了一个解释减法运算的例子。在那个例子中,

A=A5H,B=9BH

并执行了操作 SUB B

由于8085微处理器中的减法运算是将减数转化为2的补码再与被减数相加,所以得到的答案是A= (0000 1010)2 (see figure)

由于运算后明显可见进位,所以必须设置CY标志,即进位标志。但他们解释如下:

"CY位好像是'1',但是补了然后 存储。因此,CY 位存储为‘0’。”

我不明白为什么要夸carry flag?是因为减数变成了2的补码还是别的?

间接地,是的。

为了按照 808x 架构要求用 'borrow' 状态结果进行减法,您添加减数的补码,并对 ALU 的进位进行补码以获得 'borrow' 位。因此,您补进位的原因与补减减数的原因相同,但不是直接 因为 您这样做了。

一些 CPU 反而有一个 'carry/NOT borrow' 状态,它使用未补充的进位逻辑。参见 https://en.wikipedia.org/wiki/Carry_flag#Carry_flag_vs._borrow_flag