A89: Re: (C language) Macro Expansion


[Prev][Next][Index][Thread]

A89: Re: (C language) Macro Expansion




Oops, typo.  It should be MY_MACRO("myByte") not MY_MACRO(myByte)


----- Original Message -----
From: Mark Leverentz <MarkLeverentz@hotmail.com>
To: <assembly-89@lists.ticalc.org>
Sent: Sunday, August 29, 1999 2:29 PM
Subject: A89: (C language) Macro Expansion


>
> Since there is no group for C programming on the 89/92+, I assume this is
> probably the most appropriate place to post this message.
>
> I would like to create macros which are assembly statements, but the trick
> is that I want to be able to change what the assembly statement is.
>
> For instance, I know it is possible to do this:
>
> #define MY_MACRO(x) asm("\n" x ": .byte 0\n");
>
> MY_MACRO(MyByte)
>
> But things get more complicated.  I would like to be able to pass numbers
as
> parameters, and have them included in the string.  For example:
>
> #define DECLARE_POINT(x,y) asm("\nMyRect: .long " x ", " y "\n");
>
> This will work only if x and y are literal strings, f.x.
> DECLARE_POINT("3","4")
>
> Is there any way to do this without passing literal strings, f.x.
> DECLARE_POINT(3,4) ?
>
> I know you're going to say that I'd be better off just declaring my
> variables in the normal C syntax, but I've already tried that, and if I
can
> get this to work it would make my code a _lot_ more readable (believe it
or
> not).
>
> Thanks,
> Mark Leverentz
>
>


References: