Операции выделения и депонирования битовых полей

Инструкции депонирования и выделения битовых полей сдвигателя позволяют манипулировать с группой битов внутри 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 (т.е. за пределами ФЗ-поля).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: