рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Арифметические команды

Арифметические команды - раздел Высокие технологии, Описание и характерные особенности микроконтроллеров ATmega8535 Сложение Без Переноса Add (Add - Add Without Carry...

Сложение без переноса ADD (ADD - Add without Carry)

Синтаксис: ADD Rd, Rr

0 < d < 31, 0 < r < 31.

 

Данная команда реализует сложение двух регистров без добавления содержимого флага переноса (С) и размещает результат в регистре назначения Rd. Устанавливает флаги Z, C, N, V.

 

Пример:

ADD r1, r2 ; Сложить r2 с r1 (r1=r1+r2)

ADD r28, r28 ; Сложить r28 с самим собой

 

Сложение с переносом (ADC)

Синтаксис: ADC Rd, Rr

0 < d < 31, 0 < r < 31

Данная команда осуществляет сложение двух регистров и содержимого флага переноса (С), размещает результат в регистре назначения Rd: Rd <- Rd + Rr + C. Устанавливает флаги Z, C, N, V, H.

Пример:

; Сложить R1 : R0 с R3 : R2

ADC r2, r0 ; Сложить младший байт

ADC r3, r1 ; Сложить старший байт с переносом

 

Команда ADIW (Add Immediate to Word)

Синтаксис: ADIW Rdl, K

dl = {24,26,28,30}, 0 < K<64

Данная команда осуществляет сложение непосредственного значения (0-63) с парой регистров и размещение результата в паре регистров:

Rdh:Rdl <- Rdh:Rdl +К.

Команда работает только с четырьмя верхними парами регистров, удобна для работы с регистрами указателями. Устанавливает флаги Z, C, N, V.

 

Пример:

adiw r24, $1 ; Сложить $1 с r25:r24

adiw r30, $63 ; Сложить $63 с Z указателем (r31:r30)

 

Команда SUB

Синтаксис: SUB Rd, Rr

16 < d < 31, 0 < r < 31

 

Команда осуществляет вычитание содержимого регистра-источника Rr из содержимого регистра-приемника Rd, результат помещает в регистре назначения: Rd = Rd Rr. Устанавливает флаги H, V, N, Z, C.

 

Пример:

sub r13, r12 ; Вычесть r12 из r13

 

Команда SUBI

Синтаксис: SUB Rd, K

16 < d < 31, 0 < K < 255

 

Команда SUB производит вычитание константы из содержимого регистра, размещает результата в регистре назначения. Устанавливает флаги H, V, N, Z, C.

 

Пример:

subi r22, $11 ; Вычесть $11 из r22

Команда SBC

Синтаксис: SBC Rd, Rr

0 < d < 31, 0 < r < 31

 

Команда SBC осуществляет вычитание содержимого регистра-источника и содержимого флага переноса (С) из регистра Rd, результат помещает в регистре назначения Rd. Устанавливает флаги H, V, N, Z, C.

 

Пример:

; Вычесть r1:r0 из r3:r2

sub r2, r0 ; Вычесть младший байт

sbc r3, r1 ; Вычесть старший байт с переносом

 

Команда SBCI

Синтаксис: SBCI Rd, K

0 < d < 31, 0 < K < 255

 

Команда осуществляет вычитание константы и содержимого флага переноса (С) из содержимого регистра, размещение результата в регистре назначения Rd. Устанавливает флаги H, V, N, Z, C регистра флагов.

Пример:

; Вычесть $2567 из r14:r15

subi r14, $67 ; Вычесть младший байт

sbci r15, $25 ; Вычесть старший байт с переносом

 

Команда SBIW

Синтаксис: SBIW Rdl, K

dl={24,26,28,30}, 0 < K < 63

 

Команда осуществляет вычитание непосредственного значения (0-63) из пары регистров и размещает результата в паре регистров. Команда работает с четырьмя верхними парами регистров, удобна для работы с регистрами указателями. Устанавливает флаги H, V, N, Z, C регистра флагов.

 

Пример:

sbiw r24, $3 ; Вычесть $3 из r25:r24

sbiw r28, $A2 ; Вычесть $A2 из Y указателя (r29:r28)

 

Команда DEC

Синтаксис: DEC Rd

0 < d < 31

 

Команда осуществляет вычитание единицы - 1 - из содержимого регистра Rd и размещает результат в регистре назначения Rd. Флаг переноса регистра статуса данной командой не активируется, что позволяет использовать команду DEC использовать при реализации счетчика циклов для вычислений с повышенной точностью. Устанавливает флаги V, N, Z регистра флагов.

 

Пример:

ldi r16, $09 ; Загрузить константу в r16metka1: add r3, r4 ; Сложить r4 с r3 dec r16 ; Уменьшить на 1 r16 brne metka1 ; Перейти если r16 <> 0 nop ; Продолжать (пустая операция)

Команда INC

Синтаксис: INC Rd

0 < d < 31

Команда увеличения на единицу содержимого регистра Rd и размещения результата в регистре назначения Rd. Устанавливает флаги V,N,Z регистра флагов.

Пример:

clr r23 ; Очистить r23

metka2: inc r23 ; Увеличить на 1 r23

. . .

cpi r23, $45 ; Сравнить r23 с $45

brne metka2; Перейти если не равно

nop ; Продолжать (пустая операция)

 

– Конец работы –

Эта тема принадлежит разделу:

Описание и характерные особенности микроконтроллеров ATmega8535

Любые устройства в том числе и устройства связи радиоавтоматики или аудиовизуальной аппаратуры требуют присутствия в своем составе устройства... Одним распростран нными в настоящее время являются микроконтроллеры фирмы... Описание и характерные особенности микроконтроллеров ATmega...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Арифметические команды

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Система команд микроконтроллера
Система команд микроконтроллера ATmega8535 весьма развита и насчитывает 130 различных инструкций. Большинство команд занимает только 1 ячейку памяти (16 бит) и выполняется за 1 такт [4].

Команды пересылки данных
Команда MOV Синтаксис: MOV Rd, Rr 0 < d < 31, 0 < r < 31.   Команда копирует содержимое регистра Rr в р

Команды умножения
Команда MUL   Синтаксис: MUL Rd, Rr 0 < d < 31,0 < r < 31   Команда перемножает две 8-раз

Команды сравнения
Команда TST Синтаксис: TSR Rd где 0 < d < 31   Команда осуществляет проверку на ноль или минус. При её выполнении пр

Логические команды
Команда AND Синтаксис: AND Rd, Rr где 0 < d < 31, 0 < r < 31   Команда межрегистрового логического «И».

Команда ANDI
Синтаксис: ANDI Rd, K где 0 < d < 31, 0 < K < 255   Команда осуществляет операцию логического «И» (см. таблицу 1) для содержимого ре

Команды сдвигов и операций с битами
Команда CLR (Clear Register) Синтаксис: CLR Rd где 16 < d < 31   Команда установки значения логического «нет» (нуля)

Команды безусловного перехода
  Команда RJMP Синтаксис: RJMP n где -2048 < n < 2048 (-2K < n < 2K)   Кома

Команды обращения к процедурам
  Команда RCALL Синтаксис: RCALL n где -2048 < n < 2048 (-2K < n < 2K)   Ко

Команды условного перехода
  Команда CPSE Синтаксис: CPSE Rd, Rr где 0 < d < 31, 0 < r < 31   Команда межрегистровог

Команда BRIE
Синтаксис: BRIE n где -64 < n < 63   Команда относительного перехода через n+1 команду, в случае, если установлен (равен единице) флаг гло

Окно просмотра содержимого памяти
Для просмотра содержимого оперативной памяти необходимо в меню «View» выбрать пункт «Memory» (рисунок 12).

Запуск эмулятора
Программа "AVR Studio" позволяет запустить программу в реальном времени и в пошаговом режиме. В меню отладки «Debug» находятся все варианты запуска программы, например:

Постановка задачи
  1. Занести число из столбца «Число 1» таблицы 7 и строки, соответствующей заданному варианту, в регистр R24; 2. Занести число из столбца «Число 2» таблицы 7 и строки

Постановка задачи
Занести числа в память: a = ; b =

Постановка задачи
Занести числа в память: a = N+100; b = ; c = N+60;

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги