Author: Andrew Dados
Date: 10:52:57 05/18/02
Go up one level in this thread
On May 18, 2002 at 13:38:02, Matthias Gemuh wrote:
>
>Hi Experts,
>I want to speed up my chess engine and need assembler versions of these
>functions. These below seem to be pentium-specific. I need something general
>and don't understand assembler.
>
>int FirstBit(BITBOARD a)
>{
> __asm {
> bsr edx, dword ptr a+4
> mov eax, 31
> jnz l6
> bsr edx, dword ptr a
> mov eax, 63
> jnz l6
> mov edx, -1
> l6: sub eax, edx
> }
>}
>
>int LastBit(BITBOARD a)
>{
> __asm {
> bsf edx, dword ptr a
> mov eax, 63
> jnz l7
> bsf edx, dword ptr a+4
> mov eax, 31
> jnz l7
> mov edx, -33
> l7: sub eax, edx
> }
>}
>
>Please, help me.
>
>Thanks,
>Matthias.
Those functions will work on all i386 - compatible processors. They are as
general as assembler can get.
-Andrew-
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.