SBC教学有什么用?

时间:2018-03-26 14:15:47

标签: arm

我理解ARM中的SBC指令是如何工作的。

但是,我似乎并不了解它将如何有用,因为预期答案总是少于1

示例:

MOV r1, #0x88
MOV r2, #0x44
SUB r3, r1, r2
SBC r4, r1, r2

此操作后,r3有0x44(正确),r4有0x43(不正确)。

我不知道在哪种情况下SBC是比SUB更相关的操作。

感谢。

1 个答案:

答案 0 :(得分:0)

此操作是将结果(PSTATE.C)添加到结果的子站:

r4 = r1 - r2 - (1-CPSR.C)

CPSR.NZCV已由先前设置标志的操作设置(例如CMPADDS)。

此类操作可用于大整数添加。

例如,在Aarch32中,如果要计算64位加法,则添加32位底部位(ADDS),然后使用ADDC进行前32位加法传播。