Mail Archives: djgpp/1996/10/28/06:55:35
| From: | deanh AT zip DOT com DOT au (Dean) | 
| Newsgroups: | comp.os.msdos.djgpp | 
| Subject: | asm opcode speeds | 
| Date: | 28 Oct 1996 10:59:15 GMT | 
| Organization: | The Zipsters | 
| Lines: | 37 | 
| Message-ID: | <5523m3$ss5@the-fly.zip.com.au> | 
| NNTP-Posting-Host: | zap11.zip.com.au | 
| To: | djgpp AT delorie DOT com | 
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp | 
Does anyone know where I can get the speeds of different opcodes for assembly.
In particular, I'm wonder how fast my plot_pixel routine is:
void plot_pixel( int x, int y, unsigned char colour, short where ) {
  __asm__ ("
    movw %3, %%es\n
    movl $0xA0000, %%edi\n
    movw %1, %%di\n
    movw %%di, %%ax\n
    shl $8, %%di\n
    shl $6, %%ax\n
    addw %%ax, %%di\n
    addw %0, %%di\n
    movb %2, %%al\n
    stosb"
    :
    : "g" (x), "g" (y), "g" (colour), "g" (where)
  );
}
P.S. Also, is it faster to put the "stosb" at the end, or replace it 
with:
movb %%al, %%es:(%%edi)
P.P.S. do you really need all those \n's at the end of each line.  I read 
somewhere that you don't.
Thanks in advance,
-----------------------------------------------------------------------------
                               Dean Harding
                             deanh AT zip DOT com DOT au
-----------------------------------------------------------------------------
- Raw text -