From: jbs30000 AT aol DOT com (Joel) Newsgroups: comp.os.msdos.djgpp Subject: Inline assembly error Date: 7 Aug 2003 22:40:34 -0700 Organization: http://groups.google.com/ Lines: 31 Message-ID: <84e4e2a9.0308072140.47872db2@posting.google.com> NNTP-Posting-Host: 172.156.91.5 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1060321235 13584 127.0.0.1 (8 Aug 2003 05:40:35 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: 8 Aug 2003 05:40:35 GMT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com 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.