Я тоже решил так делать, с чтением понятно. Но имею проблему как записывать. Например у меня 20 кнопок, каждая формирует при нажатии "функциональная кнопка" свой код команды в один и тот же PSW регистр. Подозреваю что работать это не будет, будет всегда в регистре код от последней прочитанной кнопки. Да? Тогда как? Каждую в отдельный регистр? Но как их потом объединить по ИЛИ в один регистр, отправляемый на запись? Или лучше по нажатию каждой кнопки ставить отдельный бит, а затем макросом присваивать в PSW константу кода опросом этих бит "если 1, то константа, иначе "0"? Команд будет много (до 200), только через код реально их писать в контроллер.