Mail Archives: djgpp/1997/10/28/10:03:55
Hi, all.
Got a quick question that I'm sure somebody can help me out with.
I have implemented some graphics (mode 13h) functions using AT&T asm, an
example being a pixel plot function.
To calculate the offset of the pixel to be drawn, the maths needed is along
the lines of :
Offset = (Y * 320) + X
The bit I'm interested in here is the (Y * 320) part of the equation.
Which of the outlined partial implementations would prove the fastest in
terms of execution ?
Using multiply....
movl _Y_Pos, %eax
imull $320, %eax
...or using shift...
movl _YPos, %eax
movl %eax, %ebx
shl $6, %ebx
shl $8, %eax
addl %ebx, %eax
I would like to know which is the quicker as I believe the mul and div are
slow on the Intel Pentium processors.
Any help appreciated.
Regards,
Andy
- Raw text -