Идея такая. Есть машина, в которой очень навороченная (в плане обилия шестерёнок) трасмиссия. Эта вся груда металла приводит в движениие (синхронно) кучу барабанов. И на входе этой машины контролируется наличие некого продукта, который дальше порционно движется по барабанам. В нужный момент, если есть на входе машины исходный продукт и он подошёл барабанам в то место, где ожидается, включается подача всяких комплектующих, выключается продувка барабанов и т.п. Можно было обойтись счётчиками, но у меня идея такова, чтобы ловить эхосигнал (отклик от продукта на входе) по синхроимпульсу (от датчика на трасмиссии). Т.е. эхо либо есть, либо нет на каждый синхроимпульс. Далее весь массив сдвигается. И каждое последующее устройство, которое контролирует определённый бит в массиве, вкл/выкл.подачу ингридиента в момент обнаружения/отсутствия эхосигнала в контролируемом разряде. Сдвиг массива происходит по сигналу от датчика трагсмиссии, на один шаг при перемещении продукта по барабанам на один шаг.
Такая вот ситуёвина. Изначально я представил массив как 7 регистров DWORD (т.е. массива как такового не было, была его замена на семь регистров) и их двигал, перенося биты старшего разряда предыдущих регистров в биты младших разрядов последующих регистров. А регистры сдвигал влево при этом. Далее был гемморой по выдёргиванию из этой семёрки регистров по номеру позиции нужного бита. Так-то получилось, но реализация громоздкая. Потому и обратился за помощью к знатокам. Рассмотрю все предложения). К сожалению, сам массив не двинуть. В инете смотрел, как народ на сях двигает массив. Многие тупо предлагают побитно переносить из предыдущего в последующий разряд. В общем тоже не быстрая реализация.