On Tue, 1 Sep 1998, Thamm, Russell wrote:
The offending code is as follows:
asm ('call *%3' : '=a' (result) { result in eax } : 'd' (bmp), { bitmap in edx } '0' (line), { line number in eax } 'r' (bmp^.write_bank) { the bank switch routine } );
I think the problem is one of two things, one is the double-quotes (I've done many ASM routines with doubles, I haven't tried it with single quotes since double quotes are more portable to GCC). The other one could be the register usage, instead of specifying which register the inline assembler should use via "d", "=a", instead use "g" or "=g" while including the variable name and then manually load the register with the value using the form "movl %0, %%eax" for example.
See ya! Orlando Llanes
"Meine Damen und Herren, Elvis hat soeben das Gebaeude verlassen!"
"Look out fo' flyeeng feet" O__/ a010111t@bc.seflin.org /|____. O <__. /> / \ ____________|_________ http://ourworld.compuserve.com/homepages/Monkey414