From: "Andrew Davidson" Newsgroups: comp.os.msdos.djgpp Subject: Fixed or forbidden register spilled error (bloody inline asm cocking up again) Date: Mon, 29 Mar 1999 11:31:33 +0100 Organization: Customer of Planet Online Lines: 34 Message-ID: <7dnkt6$fis$1@news4.svr.pol.co.uk> NNTP-Posting-Host: modem-13.praseodymium.dialup.pol.co.uk X-Trace: news4.svr.pol.co.uk 922703590 15964 62.136.29.13 (29 Mar 1999 10:33:10 GMT) NNTP-Posting-Date: 29 Mar 1999 10:33:10 GMT X-Complaints-To: abuse AT theplanet DOT net X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2014.211 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I'm having a neat little problem with a teeny little bit of inline assembler. The line goes like this: asm ( "call %%esi\n" : "=a" (regpcaf), "=b" (regiyhl), "=c" (regixbc), "=d" (regspde) : "a" (regpcaf),"b" (regiyhl), "c" (regixbc), "d" (regspde), "S" (cpuid->scratchmem), "D" (cpuid->cpumem) : "%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi" ); (all the reg...s are #defines but fear not, they all work perfectly). Now that USED to compile... however, after a bit of code tweaking I get the following error message: Error: fixed or forbidden register was spilled. This may be due to a compiler bug or to impossible asm statements or clauses. Which is frankly crap. If I remove ANY of the arguments on the 'inputs' line of the asm statements it compiles (and executes) fine. So what am I doing wrong? Is this really a bug in DJGPP? I'm pretty sure it's all my fault as I really haven't got the hang of the asm() function. Thanks for any help, Andrew