Курсовая работа: Микроконтроллеры семейства AVR фирмы Atmel
№ |
Условие |
Мнемокод команды |
№ |
Условие |
Мнемокод команды |
111 |
Rr.b = 0 |
SBRC Rr, b |
112 |
Rrb = 1 |
SBRS Rr, b |
113 |
PrP.b = 0 |
SBIC P, b |
114 |
PrP.b = 1 |
SPIS P, b |
115 |
(Rd) = (Rr) |
CPSE Rd, Rr |
|
|
|
d, r= 0 – 31; P = 0 – 31 (!); b = 0 -
7 |
Таблица 14
№ |
Операция |
Мнемокод команды |
116 |
MK → режим энергосбережения |
SLEEP |
117 |
Перезапуск WDT |
WDR |
118 |
Нет |
NOP |
6.3 Команды регистровых
операций
В группу регистровых
операций входят пересылочные, арифметические и логические операции. Команды
регистровых операций описаны в табл. 2, 3 и 4 Машинные коды всех команд
регистровых операций имеют формат «слово», команды №№ 1 – 31 выполняются за
один такт, а команды №№ 32 и 33 – за два такта.
При описании операций в
табл. 2 – 4 используются следующие обозначения:
▪ Rd, Rr –
регистры общего назначения с номерами d и r соответственно;
▪ (Rd), (Rr) –
байты в регистрах Rd и Rr соответственно;
▪ Rd.b – разряд b
(b = 0 – 7) регистра Rd, бит в разряде Rd.b;
▪ $ - указатель
шестнадцатеричного кода;
  ▪ ^, ˅,
- знаки логических операций И, ИЛИ, исключающее ИЛИ соответственно;
  ▪
( ), ( ), ( ) – знаки операций НЕ, сдвиг кода вправо, сдвиг кода влево
соответственно.
Арифметические операции
– сложение и вычитание – могут выполняться с числами без знака в двоичном коде
и с числами со знаком в дополнительном двоичном коде. В отличие от
микроконтроллеров многих других семейств, в которых вычитание сводится к
сложению с числом с изменённым знаком (X–Y = X + (-Y)), в микроконтроллерах
семейства AVR вычитание выполняется с помощью аппаратного двоичного вычитателя.
При выполнении
арифметических и логических операций кроме кода результата формируются значения
признаков результата. При выполнении операций сравнения (команды №№ 18, 19 и
27) формируются только значения признаков результата.
Значения признаков
результата представлены состоянием разрядов регистра состояния SREG (№$33F).
Используются шесть признаков результата, которым присвоены имена C (SREG.0),
Z(SREG.1) N (SREG.2), V (SREG.3, S (SREG.4) и H (SREG.5). В табл. 2.1 – 2.3
признаки, значения которых формируются при выполнении команд, отмечены знаком
«+» или указано их название.
При выполнении разных
операций значение признаков формируется по разным правилам.
Признак C принимает
единичное значение:
▪ при появлении
единицы переноса из старшего разряда при выполнении операции сложения (команды
№№ 14, 15 и 32);
▪ при появлении
единицы займа в старший разряд при выполнении операции сложения (команды №№ 4,
16, 17, 18, 19, 25, 26, 27 и 33);
▪ при выходе
единицы за пределы разрядной сетки при выполнении операции сдвига (команды №№
7, 8, 9, 10 и 11).
Единичное значение
признака C при выполнении операций сложения и вычитания с числами без знака
свидетельствует о получении неправильного результата операции вследствие
переполнения разрядной сетки.
Признак Z принимает
единичное значение при получении нулевого результата операции. При выполнении
операции вычитания с учётом займа (команды №№ 17, 19 и 26) Z = 1, если нулевой
результат получен при выполнении данной и предшествующей операций.
Признак N имеет
значение, равное значению старшего разряда кода результата. При выполнении
арифметических операций с числами со знаком и отсутствии переполнения разрядной
сетки он представляет знак результата.
Признак V принимает
единичное значение, если при выполнении арифметической операции с числами со
знаком возникло переполнение разрядной сетки.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 |