[A83] Re: Macros


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

[A83] Re: Macros




Damn, that was a fast response.  Thanks for the info.


--- Kirk Meyer <kirk.meyer@colorado.edu> wrote:
> 
> #define LD_HL_DE ld h,d\ ld l,e
> #define LD_HL(x,y) ld hl,((x)<<8)+(y)
> 
> The first one is the type with no paramaters. It is
> replaced literally. Note
> the \ means a linebreak. The second one is with
> paramaters. You name the
> parameters whatever you want. You can have 1, 2, etc
> (or none obviously). In
> the expression then, wherever the parameter names
> are, the macro values are
> replaced. Example:
> 
> "LD_HL(3,5)" is replaced with "ld hl,((3)<<8)+(5)"
> 
> This macro is often useful for the text display
> routines, where you need to
> combine coordinates into a register pair. Note the (
> ) around the x and y
> that seem to have no purpose -- they are necessary
> to make the macro always
> work properly. Otherwise the order of operations can
> sometimes get mixed up.
> 
> Kirk
> 
> -----Original Message-----
> From: assembly-83-bounce@lists.ticalc.org
> [mailto:assembly-83-bounce@lists.ticalc.org]On
> Behalf Of Jeff Ruud
> Sent: Sunday, July 01, 2001 9:16 PM
> To: assembly-83@lists.ticalc.org
> Subject: [A83] Macros
> 
> 
> 
> Can someone please explain to me how to use macros,
> and how to write routines with them?
> 
> __________________________________________________
> Do You Yahoo!?
> Get personalized email addresses from Yahoo! Mail
> http://personal.mail.yahoo.com/
> 
> 
> 


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/



References: