Subtraction has a carry too, running the other way: the borrow. When a column cannot subtract — 5−8 in one digit — it borrows from the next column up. In hardware there is no separate subtractor: a−b is computed as a + (¬b) + 1 — add the two's complement — and the carry-out of that addition is the borrow, inverted. So the same adder does both: feed it b and it adds, feed it ¬b with a carry-in of 1 and it subtracts. The borrow is the carry, seen from subtraction's side of the mirror.
The demo subtracts 5−8 via two's-complement addition — the borrow is set (5<8): live demo
“A chip needs a subtractor.” — it needs an adder: a−b = a + (¬b) + 1, and the carry-out is the borrow. One circuit, both operations. cited
The column that comes up short takes from the next; in silicon, that is the adder run on a complement. The carry, mirrored. the borrow
On the canonical compiler, 5−8 via 5+(256−8)=253 (i.e. −3 in a byte) — the borrow is set because 5<8: