> but these will: > > s_out 5 > s_out 'a' > s_out (5+3)/2 > Maybe on your machine :) The second example: s_out 'a' is exactly what I was using to "call" it. The actual macro (before stripping it down to nothingness for diagnostic testing) was like so: s_out macro thebyte movlw thebyte call sendbyte endm then invoke it like this: s_out 'G' s_out 'o' s_out 'o' s_out 'd' s_out ' ' s_out 'd' s_out 'o' s_out 'g' s_out 'g' s_out 'y' s_out H'0d' s_out H'0a' If I follow what you're saying, then it works for you, but not for me. I'm using MPLAB 4.12 - could that be a problem here? It's sure a mystery, but if it doesn't work, then so be it. It's not a big deal - just frustrating that something I've used for years (in other assembly languages) doesn't work as expected and especially maddening that the help file doesn't...help. My instincts tell me it's one of those really obvious things that I'm missing, but I just don't see it. No doubt it'll hit me one day when I least expect it. Thanks for the help thus far. JB > -----Original Message----- > From: pic microcontroller discussion list > [mailto:PICLIST@MITVMA.MIT.EDU]On Behalf Of Andrew Warren > Sent: Tuesday, March 28, 2000 8:11 PM > To: PICLIST@MITVMA.MIT.EDU > Subject: Re: 16f84 macro error > > > JB wrote: > > > s_out macro somebyte > > movlw somebyte > > endm > > > > Given that macro, can someone tell me why I get this error: > > > > Error[124] C:\PROGRA~1\MPLAB\SEROUT.ASM 20 : Illegal argument > > (expected single character) > > and Plunkett, Dennis replied: > > > The term "somebyte" is to be a single character > > which JB misunderstood: > > > I have tried (as you suggested): > > > > s_out macro s > > movlw s > > endm > > JB: > > What Dennis meant is that when you USE the macro, you have to give it > a single character. It doesn't matter whether the macro variable is > called "s" or "somebyte"; the important thing is that DOWN BELOW, > when you say "s_out x", the "x" has to be a single character. > > In other words, this won't work: > > s_out "hello" > > but these will: > > s_out 5 > s_out 'a' > s_out (5+3)/2 > > -Andy >