Vuelvo humillado por mi error, pero sigo con las mismas ganas de cambiar de compilador...
Esto se explica de la siguiente manera: el problema que me enfurecio y me hizo abrir este hilo fue que no me activaba las pull ups, que estan en el registro WPU (0x95) de mi PIC 12F. El ASM asignaba el valor de pull ups al registro CCP1CON (0x15).
Al mirar el codigo ASM generado, como en mplab tiene la opcion de "Symbolic Disassembly" en vez de mostrar el numero de registro, te muestra el nombre del registro directamente, para que sea mas facil de entender. Como creo que ya os estais imaginando, CCP1CON y WPU son registros "paralelos" en diferentes bancos. Es decir que el registro 0x95 realmente es el registro 0x15 del segundo banco. Y el compilador no mostraba ninguna instruccion de cambio de banco porque ya se encontraba en el varias instrucciones mas atras.
Esta vez le doy la razon, pero no quita que otras veces haya pasado muchas horas hasta que descubro que es un error del compilador. Mi intencion es pasarme a XC8. Habitualmente no suelo usar librerias, excepto para memorias EEPROM I2C o pantallas LCD. Es un problema muy grande encontrar o portar librerias desde CCS?
Me alegra saber que no estoy solo en mi decepcion con CCS.
Salu2