Mail Archives: djgpp/1998/12/06/03:43:59
On Fri, 4 Dec 1998, Tal Lavi wrote:
> I need a FlushPage routine(macro?) for a 640x480x16bpp mode written in asm.
> Until now, I used a C(++) routine which uses _farsetsel & _farnspokel.
Why would you need to reinvent the wheel? There is already a function
called `movedata' in the library, which moves buffers with "REP MOVSL",
and my guess is you can't beat it by a large margin anyway.
The FAQ says in section 18.4 that either `movedata' or `dosmemput' are
the appropriate tools to move large buffers to or from the
conventional memory.
> > sys/farptr.h uses a byte constant
> > because early versions of Gas didn't support prefixes (I'm not sure how
> > the things are with Binutils 2.8.1).
>
> Why should you write(and know) the opcode? Isn't there an ASM
> instruction for that purpose? (movl %something, %%fs(%something))?
I thought I explained exactly that: because early versions of Gas had
bugs in assemblying such instructions.
- Raw text -