LS, I want to create a macro that dumps some variables in EEPROM so that i can read them out. For that reason i am using some code: [code] movf FLAGS,w movwf EEDATA0 movlw EE_OUT2+1 call SetParm ; save FLAGS register movf DATA1,w movwf EEDATA0 movlw EE_OUT2+2 call SetParm ; save Data1 register movf DATA2,w movwf EEDATA0 movlw EE_OUT2+3 call SetParm ; save Data2 register [/code] Also declared several EEPROM location to be used: EE_OUT1 to EE_OUT4 all some plces from each other. I want to use this on sevral places. On thing i could do is copieeng all the code to a other place en adjust the EE_OUTx value. Therefore i tryed to contruct a MACRO as here: [code] Dump_Data MACRO location local location if(location < 5) then movf FLAGS,w movwf EEDATA0 movlw EE_OUT"location" call SetParm ; save FLAGS register movf DATA1,w movwf EEDATA0 movlw EE_OUT"location"+1 call SetParm ; save Data1 register movf DATA2,w movwf EEDATA0 movlw EE_OUT"location"+2 call SetParm ; save Data2 register endif ENDM [/code] And then calling it as Data_Dump D'4' i get on every row with EE_OUT the message Illegal argument (expected single character). Can someone tell me what is wrong and how to solve it? Thanks, Harry -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist