Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. ORACLE: НЕОБХОДИМОСТЬ ПОЯВЛЕНИЯ ЭФФЕКТИВНОЙ КОМАНДЫ ТОП-МЕНЕДЖЕРОВ
  2. Активно помогает восьми детским домам. На ее деньги сделано 36 операций по устранению порока сердца у детей в возрасте до 3 лет.
  3. АНЕСТЕЗИОЛОГИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ОПЕРАЦИЙ 157
  4. Анестезиологическое обеспечение операций у больных пожилого и старческого возраста
  5. Анестезиологическое обеспечение операций у больных с травматическими поражениями челюстей
  6. Анестезиологическое обеспечение реконструктивных и пластических операций с применением микрохирургической техники
  7. Аудит операций по валютным счетам

 

Таблица 7. Команды сдвигов и операций с битами

 

 

Мнемо- ника Операнды Описание Операция Флаги Кол-во циклов
LSL Rd Логический сдвиг влево Rd(n+1)Rd(n), Rd(0)0, CRd(7) Z,C,N,V,H  
LSR Rd Логический сдвиг вправо Rd(n)Rd(n+1), Rd(7)0, CRd(0) Z,C,N,V  
  ROL   Rd Сдвиг влево через перенос Rd(0)C,Rd(n+1)Rd(n),CRd(7) Z,C,N,V,H  
ROR Rd Сдвиг вправо через перенос Rd(7)C,Rd(n)Rd(n+1),CRd(0) Z,C,N,V  
ASR Rd Арифметический сдвиг вправо Rd(n)Rd(n+1),CRd(0) Z,C,N,V  
SWAP Rd Обмен тетрадами Rd(3-0)↔Rd(7-4)    
BSET s Установить флаг SREG(s)1 SREG(s)  
BCLR s Очистить флаг SREG(s)0 SREG(s)  
SBI I/O,b Установить бит в регистре I/O I/O(b)1    
CBI I/O,b Очистить бит в регистре I/O I/O(b)0    
BST Rd,b Переписать бит из регистра во флаг Т TRd(b) T  
BLD Rd,b Загрузить Т флаг в бит регистра Rd(b)T    
SEC   Установить флаг переноса С1 С  
CLC   Очистить флаг переноса С0 С  
SEN   Установить флаг отрицательного значения N1 N  
  CLN   Очистить флаг отрицательного значения   N0   N  
SEZ   Установить флаг нулевого значения Z1 Z  
CLZ   Очистить флаг нулевого значения Z0 Z  
SEI   Установить флаг глобального разре- шения прерываний I1 I  
CLI   Очистить флаг гло –бального разрешен. прерываний I0 I  
SES   Установить флаг знака S1 S  
CLS   Очистить флаг знака S0 S  
SEV   Установить флаг переполнения V1 V  
CLV   Очистить флаг переполнения V0 V  
SET   Установить флаг T T1 T  
CLT   Очистить флаг T T0 T  
SHE   Установить флаг полупереноса H1 H  
CLH   Очистить флаг полупереноса H0 H  
NOP   Выполнить пустую команду      
SLEEP   Установить режим SLEEP      
WDR   Сбросить сторожевой таймер      

 

Командами LSL и LSR выполняются операции логических сдвигов в указанном регистре общего назначения влево и вправо, причем выдвигаемый из регистра разряд помещается в бит переноса С, а в вдвигаемый разряд регистра помещается 0.

Команда логического сдвига вправо LSR Rd:

 

Командами ROL и ROR производится циклический сдвиг содержимого указанного в команде регистра общего назначения влево или вправо соответственно через бит переноса.

Сдвиг влево через бит переноса ROL Rd:

 

Командой арифметического сдвига ASR производится сдвиг вправо содержимого регистра, с помещением выдвигаемого разряда в бит переноса и заполнение шестого разряда регистра старшим (знаковым) разрядом.

Команды обработки битов представлены командами установки и сброса любого бита в регистре состояния контроллера и в любом регистре ввода-вывода, адрес которого в пределах 0 - $1f. а также командами пересылки указанного бита из указанного регистра общего назначения в бит копии Т и обратно.

Для удобства чтения команд, кроме общих команд установки/сброса бита регистра состояния, имеются индивидуальные команды для таких же операций. Например, команды BSET 0 и SEC выполняют одинаковую операцию (имеют одинаковый код) установки бита переноса С, однако вторая команда более читаема (Setting C).

 

2.7 Функционирование конвейера

 

8-разрядная шина данных микроконтроллера используется для пересылки операндов для выполнения операции и результатов, после ее выполнения.

Микроконтроллеры семейства AVR в структуре имеют отдельную 16-разрядную шину данных программной памяти, благодаря чему реализован одноступенчатый конвейер. По этой шине производится считывание команды из программной памяти в регистр команд. В это же время выполняется ранее считанная команда с использованием шины данных. Благодаря конвейеру увеличивается быстродействие микроконтроллера. Очевидно, что первая команда считывается из программной памяти без выполнения.

В случае команд переходов в конвейере образуется задержка. Причина ее в следующем. По команде перехода должна считываться команда, размещенная по адресу перехода, а конвейером считывается следующая команда. Поэтому работа конвейера приостанавливается на время считывания команды, размещенной по адресу перехода. В случае команд классических условных переходов (при выполнении условия в команде производится переход, иначе выполняется следующая команда), если условие команды выполняется, то в конвейере происходит задержка на время считывания команды по адресу перехода, а при невыполнении условия задержки не происходит (следующая команда уже считана).

В системе команд микроконтроллера есть 5 команд условных переходов, при выполнении которых проверяется условие и если оно выполняется, то пропускается следующая команда, иначе следующая команда не пропускается. На выполнение этих команд может дополнительно потребоваться 1 или 2 такта, так длина следующей команды может составлять 1 или 2 слова, которые в этих тактах будут считываться из памяти программ.

Тактовыми импульсами от тактового генератора микроконтроллера устанавливается временное положение управляющих сигналов на выводах блоков микроконтроллера. Управляющие сигналы формируются в схеме управления микроконтроллера и по шине управления поступают на соответствующие выводы блоков микроконтроллера. Управляющими сигналами являются: сигналы записи и чтения регистров, сигналы чтения и записи ячеек памяти и др..

 

Контрольные вопросы к разделам 1 и 2.

1. Функциональные блоки в составе микроконтроллера?

2. Функция программной памяти и ее основные параметры.

3. Функция, аппаратная реализация и работа счетчика команд.

4. В чем состоит упрощенная работа микроЭВМ?

5. Функция и разрядность регистра команд.

6. Информация в коде команды.

7. Функция и состав памяти данных микрконтроллера.

8. Стек: организация, адресация ячеек стека, указатель стека, особенности стековой памяти.

9. Функции и особенности регистров общего назначении РОН.

10. Состав регистров ввода/вывода.

11. Адреса РОН, РВВ и ОЗУ в едином адресном пространстве.

12. Функция и состав арифметико-логического устройства.

13. Функция регистра состояния процессора SREG.

14. Функции и особенности флагов регистра состояния SREG.

15. Размещение операндов в двухоперандной команде при регистровом способе адресации, формат команды и назначения отдельных групп разрядов.

16. Размещение операндов в однооперандной команде при регистровом способе адресации, формат команды и назначения отдельных групп разрядов.

17. Размещение операндов при прямом способе адресации, формат команды и назначения отдельных групп разрядов.

18. Размещение операндов при непосредственном способе адресации, формат команды, назначения отдельных групп разрядов, используемые регистры РОН.

19. Размещение операндов при косвенном способе адресации, формат команды и назначения отдельных групп разрядов.

20. Особенности косвенной адресации с постинкрементом и преддекрементом.

21. Особенности стековой адресации.

22. Операции, выполняемые по командам: LDI R17,34; OUT PORTD,R2; SBI PORTB,5; CBI DDRD,3; DEC R6; BRNE 6;

RCALL 134; RET; ADD R4,R23; ADC R4,R31;

RJMP 89; SBIC PORTD,7; CBIS PIND,4;

CBR R2,32; SBR R24,48; LPM; INC R6;

LD R9,X+; ROL R28; BRCS 4; PUSH R22;

POP R5.

23. Регистры, ячейки памяти или биты, которые участвуют при выполнении команд предыдущего вопроса.

 


Дата добавления: 2015-07-20; просмотров: 111 | Нарушение авторских прав


Читайте в этой же книге: УПРАВЛЯЮЩИЕ СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ. | Особенности микроконтроллеров | Условное графическое обозначение микроконтроллера | Организация программной памяти | Организация памяти данных | Арифметико-логическое устройство и регистр состояния процессора | Методы адресации. Форматы команд | Система команд | Команды передачи данных (пересылки) | Подсистема прерываний микроконтроллера |
<== предыдущая страница | следующая страница ==>
Команды передачи управления| Встроенные устройства

mybiblioteka.su - 2015-2024 год. (0.009 сек.)