Вы просто асс целочисленной арифметики ,я делал 2n-1 ,а можно 2n+1 и все упростилось.
в макросе кольцевого регистра строб записи можно не делать (сел).
на счет использования -для светового автомата ,где картинка будет задаваться числом и многих других применений ,на булевой логике давно бы сделал на 8 разрядов ,но стек не дает .