Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: "Natural" board orientation for IA32?

Author: David Rasmussen

Date: 12:30:46 01/25/03

Go up one level in this thread


On January 25, 2003 at 13:43:53, Russell Reagan wrote:

>On January 25, 2003 at 13:20:10, David Rasmussen wrote:
>
>>Talking bitboards, what is the most natural board orientation for IA32
>>assembler? I would think that a1=0, a2=1 etc. would be unnatural, for example.
>
>The easiest for me to visualize is a1=0, b1=1...a2=8...h8=63. This seems the
>most natural to me since we are taught about the (x,y) coordinate system in
>school, and it works nicely since x increases as the file increases (a,b,c...)
>and the rank numbers obviously increase.
>

I agree with that.

>As for a 32-bit model, I think most natural would be having half the board in
>one 32-bit value, and since we always view a chess board from either white or
>black's point of view (and not from the side), it would make sense to either
>start at a1=0, b1=1, etc. or to start with h1=0, g1=1, etc., but h1=0 seems
>unnatural, to me at least. You could also start with a8=0, b8=1, etc. since that
>is how a FEN string is read in (starting at a8), but I think a1=0, b1=1... is
>the most natural.

Sure.

But let me make things clearer:

Wanting to implement common bitboard operations (FirstBit(), PopCount() etc.) on
IA32, what is the most natural orientation to choose? I think a1=0, b1=1, ... is
more natural than a8=0, a7=1, ..., in the sense that the code for, say,
FirstBit(), in IA32 assembler will be more effecient in the first than in the
latter.

/David



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.