Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: restoring moves - saving vs. moving backwards - help (and MMX registers)

Author: Robert Hyatt

Date: 14:28:59 08/30/01

Go up one level in this thread


On August 30, 2001 at 17:18:11, Dominic C. Marcello wrote:

>    I'm trying to write a bitboard based chess engine in assembly language, and
>I'd like your thoughts as to which is a more effecient way of restoring moves.
>Is it better to store all the relevant bitboards (the 4 rotated ones, and the
>ones with the pieces from each side) in memory and restore them when the move is
>taken back, or is it better just to save the move, and play the move in reverse
>to take it back? Or is some combination of this best?
>
>Thanks for any help.
>
>Also, why the hey doesn't Intel have bsf, bsr, bt, bts, and btr instructions for
>MMX registers? It sure would make my life alot easier. They also don't have a
>normal cmp instruction for the MMX registers. So to use 64 bit integers and MMX
>registers, I end up with a hybrid of code, some parts treating quadwords as
>literal quadwords using MMX registers, and some parts treating quadwords as two
>doublewords, using the general purpose registers.  Are there any intel
>compatible processors with additional instructions to handle this problem?


It is faster to make and unmake, than it is to try to do a 'copy/make' type
of engine.  The 'copy' strains the PC's memory bandwidth beyond breaking, and
will run slower.



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.