Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Команды языка ассемблер. Основные логические команды AVR-контроллера
Основные логические команды AVR-контроллера
Безусловные команды передачи управления AVR-контроллера.
Команды языка ассемблер
Набор команд AT90S2313
ЛОГИЧЕСКИЕ КОМАНДЫ
| AND
| Rd, Rr
| Логическое И
| Rd< Rd AND Rr
| Z, N, V
|
| ANDI
| Rd, K
| Логическое И
| Rd< Rd AND K
| Z, N, V
|
| OR
| Rd, Rr
| Логическое ИЛИ
| Rd< Rd OR Rr
| Z, N, V
|
| ORI
| Rd, K
| Логическое ИЛИ
| Rd< Rd OR K
| Z, N, V
|
| EOR
| Rd, Rr
| Исключающее ИЛИ
| Rd< Rd XOR Rr
| Z, N, V
|
| Безусловные команды передачи управления
| RJMP
| k
| Относительный переход
| PC< PC+k+1
| None
|
| LJMP
|
| Переход по адресу (Z)
| PC< Z
| None
|
| RCALL
| k
| Относ. вызов подпрогр.
(запись в стек адр. возврата)
| PC< PC+k+1
| None
|
| ICALL
|
| Вызов подпр по адр (Z)
| PC< Z
| None
|
| RET
|
| Выход из подпрограммы
| PC< STACK
| None
|
| RETI
|
| Выход из прерывания
| PC< STACK
| I
|
| | | | | | | |
AND Rd, Rs
| Логическое " И" Rd и Rs, результат помещается в Rd. Изменяемые признаки: V N Z Суть логического " И" - в Rd будут установлены в состояние лог. 1 те биты, которые были равны 1 и в Rd и в Rs, остальные сбрасываются в 0
| ANDIRd, K
| То же, только вместо Rs - константа K. Работает со старшими регистрами
| ORRd, Rs
| Логическое " ИЛИ" Rd и Rs, результат помещается в Rd. Изменяемые признаки: V N Z Суть логического " ИЛИ" - в Rd будут установлены в состояние лог. 1 те биты, которые были равны 1 или в Rd, или в Rs, остальные сбрасываются в 0
| ORIRd, K
| Логическое " ИЛИ" Rd и константы K. Работает со старшими регистрами
| EORRd, Rs
| Исключающее " ИЛИ" Rd и Rs, результат помещается в Rd. Изменяемые признаки: V N Z Суть исключающего " ИЛИ" - в Rd будут установлены в состояние лог. 1 те биты, которые были не равны в Rd, и в Rs, Следует заметить, что нет команды " исключающее ИЛИ" с константой!
|
RJMP K
| Безусловный относительный переход, для передачи управления в пределах 2k слов вперед и назад относительно текущего счетчика команд. K - 12-ти разрядная константа, вычисляется компилятором, вам в программе достаточно написать
rjmp Label
Для кристаллов с ПЗУ программ не более 8 кБ перекрывает весь диапазон адресов
| IJMP
| Безусловный косвенный переход. Управление передастся на адрес, который находится в регистровой паре Z. Основное предназначение - вычисляемый переход, что-то типа паскалевского CASE.
| RCALL K
| Обращение к подпрограмме. Передача управления работает точно так же, как у команды RJMP, но в стеке сохраняется адрес следующей за RCALL команды (см. описание RET). Подпрограммы применяются для уменьшения размеров программы и улучшения ее " читабельности", в них выносятся часто используемые фрагменты вычислений.
| ICALL
| Аналогично RCALL, но управление передается на адрес, указываемый регистровой парой Z
| RET
| Возврат из подпрограммы. Адрес, куда передается управление, извлекается из стека.
| RETI
| Возврат из обработчика прерывания. Адрес, куда передается управление, извлекается из стека, и устанавливается бит разрешения прерываний в SREG
|
|