From: "John M. Aldrich" Newsgroups: comp.os.msdos.djgpp Subject: Re: Some Inline ASM questions Date: Thu, 17 Oct 1996 22:26:19 -0700 Organization: Three pounds of chaos and a pinch of salt Lines: 29 Message-ID: <326714FB.6C7B@cs.com> References: <326651D4 DOT 7250 AT dmu DOT ac DOT uk> Reply-To: fighteer AT cs DOT com NNTP-Posting-Host: ppp104.cs.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: khcm6sh AT dmu DOT ac DOT uk To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Simon Hammett wrote: > > Hi all, > After trawling throught the FAQ, the GNU C Preprocessor info, and the > GCC info I've decided to give up and ask for a hand... > > in a simple GFX library I'm writting, I want to be able to change what > Resolution it works in by chaning a #define statement. This obviously > makes changing the code much easier. But I can't find anyway of using a > defined macro in a inline ASM("") statement ie: > [snip] > I'd like to know how to use the #define's in the assembly code. You have to tell gcc to preprocess your asm file by naming it with a '.S' extension, as opposed to '.s'. For example, "gcc foo.s" is different than "gcc foo.S", even though the case doesn't matter to DOS. The gcc docs cover this under Invoking GCC, Overall Options. > Also, is it possible to pass values to a inline asm, ie write a function > entirly in ASM with out having to use global varibles. Use the Extended ASM feature of gas, documented in the DJGPP docs. -- --------------------------------------------------------------------- | John M. Aldrich, aka Fighteer I | fighteer AT cs DOT com | | Proud owner of what might one | http://www.cs.com/fighteer | | day be a spectacular MUD... | Plan: To make Bill Gates suffer | ---------------------------------------------------------------------