Насколько я понимаю, SFRNEXT & SFRLAST служат для обработки прерываний. У меня же просто SFRPAGE=CONFIG_PAGE (0x0F).
Пытаюсь писать в порты сразу после инициализации всей силабсовской периферии.
В отладчике проверил все эти регистры (P5MDOUT, SFRPAGE, P5 и т.д.), все нормально,
как и должно быть:
SFRPAGE=0x0F
P5MDOUT=0xFF
P5=0
при этом на ногах все единицы (3.3В).