Mail Archives: djgpp/2003/08/08/02:28:24
One of the SVGA graphics routines I'm making has given me an inline
error message.
What I'm doing is making a routine to call the protected mode verson
of
Function 9 -Set/Get Palette Data
BL = 0 - Set Palette Data / 80H Set Palette Data During Vertical
Retrace
CX = Number of Palette Registers to Update
DX = First of the Palette Registers to Update
ES:EDI = Table of Palette Values
So, here's my routine
unsigned short PM_Palette_Data(unsigned char Flag, unsigned short
PCount, unsigned short FirstPal, unsigned short TableSeg, unsigned
long TableOff)
{
asm("movw %%ax, %%es\n\t"
"call *%0"
:
: "r" (PMPaletteData), "b" (Flag), "C" (PCount), "a"
(TableSeg), "D" (TableOff)
);
}
And here's the error I get
Error: inconsistent operand constraints in an `asm'
Referring of course, to the "movw %%ax, %%es\n\t"
I'm not sure why this is happening. movw is move word ax and es are
words, although maybe it's confusing es as esi, but then what would I
use to represent ES?
Anyway, I'm still getting use to AT&T style DJGPP extended inline
assembly, so any help is appreciated. Thanks.
- Raw text -