Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Assembler question

Author: James Robertson

Date: 09:04:55 01/24/99

Go up one level in this thread


On January 24, 1999 at 01:48:13, Larry Griffiths wrote:

>On January 23, 1999 at 16:30:24, James Robertson wrote:
>
>>In my prog I have written:
>>
>>void Func(int **i) {
>>  __asm {
>>    mov        eax,i
>>    mov        ebx,[eax]
>>  }
>>}
>>
>
>If the code shown above is exactly as you have it in your program,
>and your compiler supports inline functions, may I suggest that
>you try:
>
>inline void Func(int **i) {
>
>You may have to check your compiler options to see if something has to
>be turned on to use inline functions.  Compilers may not honor
>the inline keyword if the function has assembly code or for loops, while
>loops etc.  I use inline to eliminate the overhead of call and return.
>I started using macros after looking at Robert Hyatt's Crafty program
>as this also eliminates call and return overhead.
>Just some ideas...
>
>Larry.

Actually, it already is inline. I forgot to mention it.

James

>
>
>
>
>
>
>>I am hoping there is some assembler instruction that combines both operations
>>into one.
>>
>>Later on in the function I have:
>>
>>void Func(int **i){
>>  __asm {
>>    mov        eax,i
>>    mov        ebx,something_useful
>>    mov        [eax],ebx
>>  }
>>}
>>
>>Is there any way to shorten this? Mr. Nalimov mentioned that Intel has a file
>>somewhere with all the assembler instuctions explianed, but I downloaded it in
>>Acrobat format, and I am too lazy to download Acrobat. Figured it would probably
>>be a little easier to post here. :)
>>
>>James



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.