Yes, that's wrong - ... I'm a poor little boy just forgot that addc affects borrow flag differently. NOw bug fixed, but the code seems not to be optimal.
I'll add some optimization tomorrow to gcc .-current. ~d On Tue, 17 Sep 2002 08:51:20 -0500 "Bill Knight" <[email protected]> wrote: > I'm a little hesitant in posting this... I've been known to > be wrong on occasion (quite a few, if you ask my wife). > However, here goes anyway. Given the following code fragment: > > unsigned long count = 0; > unsigned long bar = 0; > > void foo(void) > { > if (++count == 0) > bar++; > } > > 'bar' will be increment once for each increment of 'count' for > as long as the upper byte of 'count' is zero. > > I have followed this code at the assembly level using the > simulator. It doesn't look like the fault is with the simulator. > The code appears to be checking ONLY if the upper byte of 'count' > is zero. > > -Bill Knight > R O SoftWare > > > > > ------------------------------------------------------- > Sponsored by: AMD - Your access to the experts on Hammer Technology! > Open Source & Linux Developers, register now for the AMD Developer > Symposium. Code: EX8664 http://www.developwithamd.com/developerlab > _______________________________________________ > Mspgcc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mspgcc-users > > /******************************************************************** ("`-''-/").___..--''"`-._ (\ Dimmy the Wild UA1ACZ `6_ 6 ) `-. ( ).`-.__.`) Enterprise Information Sys (_Y_.)' ._ ) `._ `. ``-..-' Nevsky prospekt, 20 / 44 _..`--'_..-_/ /--'_.' ,' Saint Petersburg, Russia (il),-'' (li),' ((!.-' +7 (812) 3468202, 5585314 ********************************************************************/
