создаёте в озу масив . с состояниями вашего порта, по прерыванию грузите состояние из таблицы увеличиваете адрес /LD r16,X+/out portC,r16/ по достижению последнего адреса тупо обнуляете адресный регистр X (тоесть записываете в него начальный адрес вашего массива) фсё..можно и во флешь забить но увеличится время доступа , такчто решайте что вам нужнее озу или скорость