Цитата Сообщение от AlekseyK Посмотреть сообщение
Почти хорошо. )) После перехода через максимальное значение регистра энкодера появляется один лишний такт в "С".
Это как? На каких входных данных не работает-то?

Максимальное значение регистра -- 65535. Верно?
Следующее значение -- 0. Верно?

В моём эмуляторе такое работает как и ожидается:
ottuda := 65535;
m := 0;
c := 0;
c := c + WORD_TO_INT(m - ottuda); (* оказывается равным 1 *)