despues de renegar varios días con esto, llegar a pensar cualquier delirio, hice una rutina mínima en asm que no podía fallar, pero sin embargo no me andaba. Hasta que me di cuenta cual era la burrada que estaba haciendo, para probar las salidas estaba conectando a los puertos unos led, sin resistencia, por lo que el led se encendía cuando ponía en 1 el bit correspondiente pero cuando metía ese bit en un IF lo leía como que estaba en cero, y que la tensión del puerto era la del led. Les puse una resistencia y problema solucionado.
Saludos.
Guillermo.