>> Does anyone know how to determine whithin a MPASM macro whether a >>parameter has been specified? > >Hello, Dwayne! > >Suggestion: use simple arythmetic to make compiler think it >performs a smart job :) > >test_parm MACRO p1 >; >; Parameter p1 is parsed here as 0 if the value >; is not supplied to the list. >; > if ( p1+0 ) == 0 ; parser with 0 default value YES YES YES Thank you, Andrew! The obvious solution that eluded me for longer than I care to admit!! As it turns out, my default and min values default to 00 if not specified so all I needed to do was add 0 to them. My current version looks like this: label EQU addr org (EEDEFAULT)+(EECNT)+(EEOFFSET) ;start addr + counter + offset retlw (default+0) org (EELOLIMIT)+(EECNT)+(EEOFFSET) retlw (min+0) org (EEHILIMIT)+(EECNT)+(EEOFFSET) if (max+0)==0 retlw 0xFF ;max limit must be >0 else retlw max endif MPASM seems to have no problem with a number expressed as (+0) so everything compiles OK (and generates appropriate code). Thanks again! Dwayne Reid Trinity Electronics Systems Ltd Edmonton, Alberta, CANADA (403) 489-3199 voice (403) 487-6397 fax