Обучение : Программирование на Ассемблере для PIC


Команды сдвига битов в регистре

В этих командах используется знакомая вам конструкция XXXXX F,D . Рассмотрим теорию работы команд сдвига. Различают две команды – "сдвиг вправо" и, соответственно, "сдвиг влево". Под сдвигом понимается смещение на один бит (на один разряд) содержимого регистра. Закономерен вопрос: а что появляется на освободившемся месте в регистре и куда девается вытесненный бит из регистра? Логично предположить, что место освободившегося бита занимает смещенный бит. Но это не так.

Для этого используется знакомый нам бит C (нулевой бит) в регистре STATUS. Именно через этот бит осуществляется сдвиг содержимого сдвигаемого регистра. На рисунках ниже схематично рассмотрен сдвиг.
 

Исходное состояние:

бит C (STATUS) =

1

1

0

1

1

0

1

0

0

               

Произведен сдвиг вправо:

бит C (STATUS) =

0

1

1

0

1

1

0

1

0

               

А теперь сделано два сдвига влево:

бит C (STATUS) =

1

0

1

1

0

1

0

0

1

               

Несложно представить ситуацию, когда регистр пуст (все биты равны нулю), а бит C в регистре STATUS равен единице, то с помощью команды сдвига элементарно просто организовать бегущую единицу, что может найти применение в конструкции бегущего огня.
 

СДВИГ ВПРАВО битов в регистре   RRF   F, D

 

СДВИГ ВЛЕВО битов в регистре   RLF   F, D


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

 

А теперь для своего блага перепишите на отдельный лист бумаги все рамки с описаниями команд друг за другом. Вам еще не раз потребуется к ним обратиться.

 

Дорогие друзья, обращаюсь к вам с просьбой. Если у вас есть человеческие примеры и понятные описания использования других команд – прошу не стесняться – вышлите на адрес ntv1978@mail.ru – ваша информация будет отражена на страницах этого проекта.

Всё, что вам не понятно или понятно иным образом, активно обсуждайте на форуме, руководствуясь принципом – "Не бывает глупых вопросов – бывают плохие учителя". Форум сделан специально для этого. Приглашаю всех к обсуждениям!

 


<<< назад далее >>>

Просмотров: 25621

 








 
 
 

В русском Интернете бестолку защищать свои права. Хотите использовать материалы - используйте,
но с письменного согласия авторов. В противном случае будут высланы соответствующие письма
в поисковые системы об ограничении индексации ваших сайтов. Не доводите до греха.