Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Programmer challenge

Author: Reinhard Scharnagl

Date: 00:51:55 02/20/03

Go up one level in this thread


> in ASM I have this:

>        mov     BL,1		    // work variable
>        mov	 EDX,...            // pointer to move list table
>        mov	 ESI,-1             // pointer to highest value
>
> loop:  mov     CL,move_value[EDX] // CL = move_value[x]
>        inc     EDX                // x++
>
>        cmp     CL,BL              // if (move_value[x] <= value)
>        jbe     loop
>
>        cmp     CL,0FFh            // if (move_value[x]==255)
>        je      done
>
>        mov     BL,CL              // value=move_value[x]
>        mov     ESI,EDX            // y=x
>
>        jmp     loop

How about:

        mov     BL,1		   // work variable
        mov	EDX,...            // pointer to move list table
        mov	ESI,-1             // pointer to highest value

        jmp     loop

 loop0: mov     BL,CL              // value=move_value[x]
        mov     ESI,EDX            // y=x

 loop:  mov     CL,move_value[EDX] // CL = move_value[x]
        inc     EDX                // x++

        cmp     CL,BL              // if (move_value[x] <= value)
        jbe     loop

        cmp     CL,0FFh            // if (move_value[x]==255)
        jne     loop0

        jmp     done

Regards, Reinhard




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.