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

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

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

Команды сдвигов и операций с битами - раздел Высокие технологии, Описание и характерные особенности микроконтроллеров ATmega8535 Команда Clr (Clear Register) Синтаксис: Clr R...

Команда CLR (Clear Register)

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

где 16 < d < 31

 

Команда установки значения логического «нет» (нуля) во все биты регистра приёмника. В регистр приёмник заносится шестнадцатеричная константа 00. Устанавливает флаги Z, N, V регистра флагов.

 

Пример:

clr r16 ; Обнулить/очистить содержимое регистра r16

 

Команда SER (Set Register)

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

где 16 < d < 31

 

Команда установки значения логического «да» (единицы) во все биты регистра приёмника. Иначе: в регистр приёмник заносится шестнадцатеричная константа FF.

 

Пример:

ser r16 ; Установить содержимое регистра r16

;равным FF (11111111)

 

Команда COM

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

где 0 < d < 31

 

Команда получения в регистре приёмнике единичного дополнения, хранящегося в регистре приёмнике путём вычитания шестнадцатеричного значения регистра приёмника из FF: Rd ß SFF – Rd, где S – флаг знака. Устанавливает флаги C, Z, N, V регистра флагов.

 

Пример:

com r16 ; Преобразовать содержимое регистра r16 в

;единичное дополнение

 

Команда NEG

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

где 0 < d < 31

 

Команда изменения знака значения регистра приёмника путём вычитания шестнадцатеричного значения регистра приёмника из нуля. Иначе: получение в регистре приёмнике двоичного дополнения, хранимого в нём ранее значения: Rd ß S00 – Rd, где S – флаг знака. Устанавливает флаги C, Z, N, V, H регистра флагов.

 

Пример:

neg r24 ; Преобразовать и установить содержимое

;регистра r24 отрицательным значением

Команда SBR

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

где 16 < d < 31, 0 < K < 255

 

Команда установки поименованных битов в регистре приёмнике (остальные биты команда не трогает). Обозначаются биты за счёт шестнадцатеричной константы. Так 06h (0000 0110d) соответствует установке 1-го и 2-го младших байтов (нумерация битов начинается с нуля), а 41h (0100 0001d) установке 0-го младшего и 2-го старшего байтов. Команда SBR формально записывается так: Rd ß Rd v K. Устанавливает флаги Z, N, V регистра флагов.

Пример:

sbr r19, $06 ; Установить в регистре r19 2й и 3й ;биты.

sbr r17, $41 ; Установить в регистре r17 1й и 7й

;биты

 

Команда CBR

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

где 16 < d < 31, 0 < K < 255

 

Команда очистки поименованных битов в регистре (на остальные биты команда не влияет). Обозначаются биты для сброса за счёт шестнадцатеричной константы. Так 03h (0000 0011d) соответствует сбросу 0-го и 1-го бита. Формально записывается так Rd ß Rd • (SFF – K), где S – флаг знака. Устанавливает флаги Z, N, V регистра флагов.

 

Пример:

cbr r18, $03 ; Очистить в регистре r18 0-ой и 1ый

;биты.

 

Команда SEC (Set Carry flag)

Синтаксис: SEC

 

Команда установки флага переноса (флаг переноса принимает значение логического «да»): C = 1.

 

Команда CLC (Clear Carry flag)

Синтаксис: CLC

 

Команда очистки флага переноса (флаг переноса принимает значение логического «нет»): C = 0.

 

Команда SEN (Set Negative flag)

Синтаксис: SEN

 

Команда установки флага отрицательного значения (флагу отрицательного значения присваивается логическое «да»). N = 1.

 

Команда CLN (Clear Negative flag)

Синтаксис: CLN

 

Команда очистки флага отрицательного значения (флагу отрицательного значения присваивается логическое «нет»). N = 0.

 

Команда SEZ (Set Zero flag)

Синтаксис: SEZ

 

Команда установки флага нулевого значения (флагу нулевого значения присваивается логическое «да»). Z = 1.

 

Команда CLZ (Clear Zero flag)

Синтаксис: CLZ

 

Команда очистки флага нулевого значения (флагу нулевого значения присваивается логическое «нет»). Z = 0.

 

Команды SEI, CLI (Clear Interrupt flag), SES (Set Sign flag), CLS (Clear Sign flag), SEV (Set oVerflow flag), CLV (Clear oVerflow flag), SET (Set Temporary flag), CLT (Clear Temporary flag), SEH (Set Half-carry flag), CLH (Clear Half-carry flag) аналогичны вышерассмотренным командам, устанавливают флаги (=1) или сбрасывают (=0).

 

Команда BSET (Bit Set)

Синтаксис: BSET n

где 0 < n < 7

 

Команда установки того или иного флага через соответствующий бит регистра SREG (статусный регистр).

 

Пример:

bset 2 ; Установить второй бит регистра SREG

;(флаг отрицательного значения N)

 

Команда BCLR (Bit Clear)

Синтаксис: BCLR n

где 0 < n < 7

 

Команда очистки того или иного флага через соответствующий бит регистра SREG (статусный регистр).

Пример:

bclr 4 ; Установить четвертый бит регистра SREG (флаг

;знака S)

 

Команда BST

Синтаксис: BST Rd, n

где 0 < d < 31, 0 < n < 7

 

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

 

Пример:

bst r3, 3 ; Записать во флаг T то же значение, что

;и в третьем бите (0000x000) регистра r3

 

Команда BLD

Синтаксис: BLD Rd, n

где 0 < d < 31, 0 < n < 7

 

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

 

Пример:

bld r5, 6 ; Записать в шестой бит регистра r5 ;(0x000000)

;то же значение, что хранится во флаге T

Команда SBI

Синтаксис: SBI IO, n

где 0 < n < 7

 

Команда установки указанного бита в регистре I/O (ввода/вывода).

 

Пример:

sbi pinc, 4 ;

 

Команда CBI

Синтаксис: CBI IO, n

где 0 < n < 7

 

Команда очистки указанного бита в регистре I/O (ввода/вывода).

 

Пример:

cbi pina, 7 ;

 

 

Команда LSL (Logical Shift Left)

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

где 0 < d < 31

 

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

 

Рисунок 2

Команда LSR (Logical Shift Right)

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

где 0 < d < 31

 

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

Рисунок 3

Команда ROL (Rotate Left)

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

где 0 < d < 31

 

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

 

 

Рисунок 4

Команда ROR (Rotate Right)

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

где 0 < d < 31

 

Команда осуществляет циклический (логического через флаг переноса) сдвиг вправо содержимого регистра Rd. При этом младший бит младшего байта записывается во флаг переноса, последовательность сдвигается побитово вправо, и в старший бит старшего байта заносится значение, записанное во флаге переноса (см. рисунок 5). Устанавливает флаги Z, C, N, V регистра флагов.

 

Рисунок 5

 

Команда ASR (Arithmetical Shift Right)

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

где 0 < d < 31

 

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

 

Рисунок 6

 

Команда SWAP

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

где 0 < d < 31

 

Команда обмена нибблов (старших и младших разрядов) значения, хранящегося в регистре приёмнике (см. рисунок 7).

 

Рисунок 7

 

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

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

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

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

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

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

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

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

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

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

Арифметические команды
Сложение без переноса ADD (ADD - Add without Carry) Синтаксис: ADD Rd, Rr 0 < d < 31, 0 < r < 31. &

Команды умножения
Команда 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) для содержимого ре

Команды безусловного перехода
  Команда 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
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги