David: The PIC microcontrollers use the convention that after a subtract, the carry flag is set if there was _no_ borrow. The carry flag if clear if there was a borrow. This may seem backwards, but it turns that it is a natural consequence of implementing subtraction as the addition of the twos complement. Here is an example. Say you want to compute 10-4: In binary: 1010 - 0100 Converting to addition of the twos complement: 1010 + 1100 = Carry + 0110 Note that there was no borrow, but carry was set. Now on the other hand, say you want to compute 4-10: In binary: 0100 - 1010 Converting to addition of the twos complement: 0100 + 0110 = 1010 Note that there is a borrow, but carry was not set. Some processors contain special logic to reverse the meaning of carry for a subtract instruction, but the PICs do not. IMHO such logic is a waste of silicon. Dealing with the inversion is a simple matter for the compiler or the assembly language programmer. Bob Ammerman RAm Systems (contract development of high performance, high function, low-level software) ----- Original Message ----- From: "David Cary" To: Sent: Thursday, May 17, 2001 2:53 PM Subject: [EE]: carry result: Robin Abbott > Dear PICers, > > I've just taken over maintenance of page > http://www.piclist.com/techref/microchip/compcon.htm > . > It claims that Robin Abbott once said > >
> Mind you it would have been easier if Microchip had simply > put the logic in Hardware to "correct" the carry flag after a subtraction! >
> > What is the "correct" Carry result after a subtraction ? > I have some friends that are making tiny CPUs inside FPGAs, > and I'm sure they want to pick whatever Carry flag result > makes the software guys happy. Which would be ... ? > > -- > David Cary > > MAILER-DAEMON@eagle.mail.pipex.net on 2001-05-17 01:32:40 PM tells me that > : > This account does not exist > > -- > http://www.piclist.com hint: PICList Posts must start with ONE topic: > [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads > > -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads