Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: [AVR-Chat] Re: Challenge

2005-06-09 by Ralph Hilton

On Thu, 9 Jun 2005 09:50:38 -0700 you wrote:

>Roll through carry.
>
>Jim

ok. I should have said using no other storage, flags included.

>----- Original Message ----- 
>From: "Ralph Hilton" <ralph@ralphhilton.org>
>To: <AVR-Chat@yahoogroups.com>
>Sent: Thursday, June 09, 2005 9:35 AM
>Subject: Re: [AVR-Chat] Re: Challenge
>
>
>> On Thu, 09 Jun 2005 11:21:50 -0500 you wrote:
>>
>> >
>> >>
>> >>It appears to require 6 shifts, six ANDs, and 5 ORs... seems unlikely
>> >>it would be faster than the "straightforward" implementation?  It looks
>> >>like a case of someone trying to be clever after they learned why a
>> >>quicksort is better than something like a bubble sort (what he does is
>> >>swap bits 0/1, 2/3, 4/5, 6/7... then 0-1/2-3, 4-5/6-7, and finally 0-
>> >>3/4-7).  The problem is that with only 8 bits there's not any speedup
>> >>yet that I can see -- just as smart general purpose sorting routines
>> >>will revert to something like a bubble sort of lists of less than, say,
>> >>10 items!
>> >
>> >Unless someone pops up from left field here with a new solution, I'm
>> >going to say that we have a couple of nice solutions now, and call
>> >this one "done".
>> >
>> >The table lookup is, somewhat surprisingly efficient, other than on
>> >code space, especially when the table can be located on an even page.
>> >Interestingly enough, I think it executes in the equivalent of one
>> >instruction on the PIC.  VBG!
>> >
>> >The external loopback is fun, if you have the pins available.
>> >
>> >That's the point of challenges like this, to encourage "out of the
>> >box" thinking and explore ideas.
>> >
>> >
>> >
>> >So, anyone want to propose a new little problem?
>>
>> This one is known but can prove a puzzler if one doesn't know it.
>>
>> How do you swap the contents of 2 registers without using any other
>registers or
>> stack?

--
Ralph Hilton
http://www.ralphhilton.org
C-Meter: http://www.cmeter.org
FZAOINT http://www.fzaoint.net

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.