A subtract with carry instruction consumes the no-borrow carry flag. Its arithmetic is . Hence a low-limb subs followed immediately by a high-limb sbcs propagates exactly the low subtraction's borrow.
For example, with the same limb assignment as in (c):
subs r0, r0, r2
sbcs r1, r1, r3
It uses an ordinary 32-bit adder by complementing every bit of the subtrahend and adding the incoming arithmetic carry. For , the unreduced adder sum is
If this is , rearrangement gives . Thus both the result and outgoing no-borrow flag have the required meanings. With incoming arithmetic carry one this becomes ordinary subtraction.[ref]

Articles by others on the same topic (0)

There are currently no matching articles.