[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help with confirmation on a small bit of assembly?



Michael J. Mahon <mjmahon@aol.com> wrote:

> David Empson wrote:
> 
> > The 6502's carry flag is "backwards" for a subtract: CLC, SBC will
> > subtract one more, while SEC, SBC will not. This also affects the logic
> > of compare-and-branch sequences: BCC is "branch if less than" (unsigned)
> > on a 6502, but it is "branch if greater than or equal" on other
> > processors.
> 
> I see it as *more* consistent, in that Carry = NOT Borrow.
> 
> In the hardware, it means that SBC need only 1's complement its operand
> and add, since the carry being set will add 1 for the 2's complement.

I wasn't suggesting that it was illogical, it is just different from
what someone might be used to on another processor.

It simplifies the 6502's ALU, since it only needs to implement a single
add operation with alternative inputs.

-- 
David Empson
dempson@actrix.gen.nz