Инструкции депонирования и выделения битовых полей сдвигателя позволяют манипулировать с группой битов внутри 32-битного поля ФЗ-величины. Инструкция депонирования помещает битовое поле нужной длины в заданную позицию регистра результата. Инструкция выделения выделяет в операнде битовое поле указанной длины и помещает их в регистр результата.
Y-операнд для этих инструкций определяет две 6-битные величины: поле bit6 (биты 13¸8) и поле len6 (биты 19¸14), интерпретируемые как положительные целые значения. Поле bit6 является позицией начального бита для депонирования или выделения, а поле len6 – длиной битового поля, которое определяет количество выделяемых или депонируемых битов.
На рис. 3.3 показаны схемы работы инструкций депонирования и выделения полей.
7 0 | |||||||||
Rx | ß | ||||||||
7 0 | |||||||||
Ry | len6 | bit6 | |||||||
7 0 | |||||||||
Rn | депонированное поле | ||||||||
len6 | bit6 | начало отсчета | |||||||
7 0 | ||||||||||
Rx | выделяемое поле | |||||||||
len6 | bit6 | начало отсчета | ||||||||
7 0 | ||||||||||
Ry | len6 | bit6 | ||||||||
7 0 | ||||||||||
Rn | ß | |||||||||
Рис.3.3. Схема выполнения операций депонирования и выделения полей
|
|
Значения bit6 и len6 позволяют выполнять выделение и депонирование полей длиной от 0 до 32 битов начиная с позиции от 0 до 32 (т.е. за пределами ФЗ-поля).