no sabía que el mplab generase el archivo .cof para los proyectos en ensamblador, y en tal caso, ¿para que se utilizaría?
A ver Medusa, lo que intentan indicarte es que no vas a obtener el .cof, esa extension es solo para CCS.
Creo que ademas de la duda planteada por nuestro amigo Medusa, hay una confusion sobre el archivo objeto:
MPLAB es solo el IDE, el compilador que estes utilizando, sea C asm u otro siempre genera codigo objeto, y el formato suele ser COF (valga citar, si bien la extension es .cof o, .o en algunos casos, el nombre del formato es COFF (Common Object File Format), es un formato de microsoft, pueden ver la descripcion del formato en el archivo de ayuda llamado 'hlpCOFFfile.chm' que tambien se distribuye con mpasm y suele estar en el directorio "c:\Program Files\Microchip\MPASM Suite", esta no es una descripcion general del formato cof, sino unicamente de la implementacion de este formato para los PIC, en cuyo caso el campo f_magic de la estructura filehdr_t vale 0x1240 -este valor cambio o habia cambiado, si a alguien esta interesado en el formato debe considerarlo).
En el caso particular de "MPASM Suite", la ayuda dice esto: "The main output file generated by the MPLINK linker is the COF file (prog.cof). The linker then uses the utility MP2HEX to generate the Hex file (prog.hex),
used by simulators, emulators, debuggers and programmers. For more information on linker output files, see the MPLINK linker documenation. For more information on utilities, see the related documentation."
El cof es luego enlazado con otras librerias si es necesario (hay un dibujito explicando esto en 'hlpMPASMAsm').
Lo que dice ademas la ayuda, es que es necesario especificarle a MPASM que genere el cof: When using MPASM assembler for Windows, check the checkbox labeled "Object File." When using the command line interface,
specify the /o option. The output file will have a .o extension.
Hay mucha documentacion sobre el tema acompañando al mismo MPASM!