В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > AVR > Команды

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве




Arduino Uno R3 Atmega328
готовый модуль
Лучшая Цена 335 руб




Стартовый набор с большим набором аксесуаров
Arduino Uno R3 Atmega328
Лучшая Цена 2211 руб



Команда ASR - Арифметически сдвинуть вправо

Описание:

Выполнение сдвига всех битов Rd на одно место вправо. Состояние бита 7 не изменяется. Бит 0 загружается во флаг переноса (С) регистра состояния (SREG). Эта команда эффективно делит значение дополнения до двух на два, без изменения знака. Флаг переноса может быть использован для округления результата.

Операция:

(i)
 
  Синтаксис Операнды: Счетчик программ:
(i) ASR Rd 0 < d <31 PC <- PC + 1


16-разрядный код операции:


1001 010d dddd 0101

Булевы выражения регистра статуса (SREG)
I T H S V N Z C
- - - Ы Ы Ы Ы Ы


S: NEV, Для проверок со знаком
V: NEC (Для N и C после сдвига)
Устанавливается если (N устанавливается и C очищается) или (N очищается а C устанавливается). В ином случае очищается (при наличии значений N и C после сдвига)
N: R7
Устанавливается если в результате установлен MSB, в ином случае очищается
Z: R7*R6*R5*R4*R3*R2*R1*R0
Устанавливается если результат $00, в ином случае очищается
C: Rd0
Устанавливается если перед сдвигом были установлены LSB или Rd
R: (Результат) соответствует Rd после выполнения команды

Пример:

ldi r16, $10 ; Загрузить десятичное значение 16 в r16
asr r16      ; r16=r16 / 2
ldi r17, $FC ; Загрузить -4 в r17
asr r17      ; r17=r17 / 2

Слов: 1 (2 байта)

Циклов: 1





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники