Use command line options to select various statements that include various processors. The exact syntax is in the MPASM User's Guide with MPLINK and MPLIB. Sorta like this (I almost sure the syntax is NOT right): mpasm /d=PROCESSOR1 file.asm Then inside the code: ifdef PROCESSOR1 #include PROCESSOR1.INC endif ifdef PROCESSORX #indlude PROCESSORX.INC endif etc.....-Walt... -----Original Message----- From: Martin SchŠfer [mailto:schaefer@ELEKTRONIK21.DE] Sent: Friday, May 12, 2000 3:29 AM To: PICLIST@MITVMA.MIT.EDU Subject: relocatable code for different processors Hi, my question of the day: How to create relocatable code for different processors ? First I wrote a code module for the PIC16C716. After compiling I saw that I didnt need more than 1K ROM. So I wanted to use the PIC16C712 instead. But to compile the project I got the error - different processors used in the modules - I had to recompile the relocatable objects with another include file. But after that I have started the next project with the 16C716. There I need the objects with the old processor type. I started to create one object file for each processor. But this cant be the best solution! Should I write own includes that match a certain range of controllers? martin ;********************************************** ;** name: Martin Schaefer ** ;** company: elektronik 21 GmbH, Germany ** ;** e-mail: schaefer@elektronik21.de ** ;**********************************************