Сдвиг битовой последовательности влево и дополнение

32-хprocedure LastBitDisplase ( Zn: byte );
16-тиprocedure LastBitDisplase ( Zn: byte );

Zn   - бит дополнения битовой последовательности.

Процедура осуществляет вставку бита дополнения в последнюю позицию битовой последовательности, все остальные биты последовательности сдвигаются на 1 бит влево. Первый бит последовательности удаляется, поэтому операция не изменяет размер обрабатываемой битовой строки. Принцип функционирования процедуры поясняет рисунок:

12N-1N
    
2N-1NZn

Принцип работы подпрограммы LastBitDisplase

Например, переменная BitStr   содержит битовую последовательность вида (11010011011). После выполнения операции сдвига и дополнения битом bt0  текущая строка BitStr  будет содержать битовую последовательность вида (10100110110)
32-х

Var BitStr: TStr_bit; {Объявление переменной}


BitStr.LastBitDisplase (bt0); { сдвиг и дополнение }

16-ти

Var BitStr: PStr_bit; {Объявление переменной}


BitStr^.LastBitDisplase (bt0); { сдвиг и дополнение }

Работа процедуры BitDisplase  осуществляется быстрее, чем процедуры LastBitDisplase, поэтому ее предпочтительнее использовать при моделировании регистров сдвига. Процедура LastBitDisplase  сохраняет последовательность бит, аналогичную порядку следования данных в битовых переменных, поэтому для ее инициализации можно использовать групповые операции инициализации.