Background
If the Carry (C) flag holds a value that you want to put into a register, the naïve way is to do something like this:
    mov  al, 1
    jc   NotZero
    mov  al, 0
NotZero:
Use 'sbb'
A more direct way, avoiding the jump, is to use "Subtract with Borrow":
    sbb  al,a...