Лекция №7. Система команд изучаемого микроконтроллера.
Любая команда обязательно содержит код команды (мнемоника), но не всегда – операнды. В графе «Описание» находится краткое пояснения принципа действия команды. Для более доступного понятия алгоритма выполнения команды введена дополнительная графа «Действие». При выполнении команды могут изменяться значения флагов в регистре SREG. Перечень изменяемых командой флагов приведен в графе «Флаги». В графе «Цкл» указано количество тактов, за которые команда успевает выполниться.
Rd – содержимое регистра общего назначения – приемника данных
Rr - содержимое регистра общего назначения – источника данных
k – адрес ячейки памяти (16-ти битный). Иногда можно заменить меткой.
K – константа (8-и битные данные)
Загрузить регистр непосредственно – означает использование в команде косвенно-регистрового режима адресации.
Мнемоника
| Операнды
| Описание
| Действие
| Флаги
| Цкл
| АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ КОМАНДЫ
| ADD
| Rd,Rr
| Сложить два регистра
| Rd<Rd+Rr
| Z,C,N,V,H
|
| ADC
| Rd,Rr
| Сложить с переносом
| Rd<Rd+Rr+C
| Z,C,N,V,H
|
| ADIW
| Rdl,K
| Сложить слово с конст
| Rdh,l<Rdh,l+K
| Z,C,N,V,S
|
| SUB
| Rd,Rr
| Вычесть два регистра
| Rd<Rd-Rr
| Z,C,N,V,H
|
| SUBI
| Rd,K
| Вычесть константу
| Rd<Rd-K
| Z,C,N,V,H
|
| SBIW
| Rdl,K
| Вычесть слово с конст
| Rdh,l<Rdh,l-K
| Z,C,N,V,S
|
| SBC
| Rd,Rr
| Вычесть с переносом
| Rd<Rd-Rr-C
| Z,C,N,V,H
|
| SBCI
| Rd,K
| Вычесть с переносом
| Rd<Rd-K-C
| Z,C,N,V,H
|
| 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
|
| COM
| Rd
| Дополнение до 1 (инверсия)
| Rd<$FF-Rd
| Z,C,N,V
|
| NEG
| Rd
| Дополнение до 2 (доп.код)
| Rd<$00-Rd
| Z,C,N,V,H
|
| INC
| Rd
| Увеличить на 1
| Rd<Rd+1
| Z,N,V
|
| DEC
| Rd
| Уменьшить на 1
| Rd<Rd-1
| Z,N,V
|
| CLR
| Rd
| Очистить регистр
| Rd<Rd XOR Rd
| Z,N,V
|
| SER
| Rd
| Установить регистр
| Rd<$FF
| None
|
| КОМАНДЫ ВЕТВЛЕНИЯ
| RJMP
| k
| Относительный переход
| PC<PC+k+1
| None
|
| RCALL
| k
| Относ. вызов подпрогр.
| PC<PC+k+1
| None
|
| RET
|
| Выход из подпрограммы
| PC<STACK
| None
|
| CP
| Rd,Rr
| Сравнить
| Rd-Rr
| Z,N,V,C,H
|
| CPC
| Rd,Rr
| Сравнить с переносом
| Rd-Rr-C
| Z,N,V,C,H
|
| CPI
| Rd,K
| Сравнить с константой
| Rd-K
| Z,N,V,C,H
|
| BREQ
| k
| Переход если равно
| if(Z=1) PC<PC+k+1
| None
| 1/2
| BRNE
| k
| Переход если неравно
| if(Z=0) PC<PC+k+1
| None
| 1/2
| BRCS
| k
| Переход если установл. перенос
| if(C=1) PC<PC+k+1
| None
| 1/2
| BRCC
| k
| Переход если сброшен перенос
| if(C=0) PC<PC+k+1
| None
| 1/2
| BRSH
| k
| Переход если равно или больше
| if(C=0) PC<PC+k+1
| None
| 1/2
| BRLO
| k
| Переход если меньше
| if(C=1) PC<PC+k+1
| None
| 1/2
| КОМАНДЫ ПЕРЕСЫЛКИ
| MOV
| Rd,Rr
| Пересылка между рег.
| Rd<Rr
| None
|
| LDI
| Rd,K
| Загрузить константу
| Rd<K
| None
|
| LD
| Rd,X
| Загрузить регистр непосредственно
| Rd<(X)
| None
|
| LD
| Rd,X+
| Загрузить регистр непоср. c пост инкрем.
| Rd<(X),X<X+1
| None
|
| LD
| Rd,-X
| Загрузить регистр непоср. с предв. декрем.
| X<X-1,Rd<(X)
| None
|
| LD
| Rd,Y
| Загрузить регистр непосредственно
| Rd<(Y)
| None
|
| LD
| Rd,Y+
| Загрузить регистр непоср. c пост инкрем.
| Rd<(Y),Y<Y+1
| None
|
| LD
| Rd,-Y
| Загрузить регистр непоср. с предв. декрем.
| Y<Y-1,Rd<(Y)
| None
|
| LD
| Rd,Z
| Загрузить регистр непосредственно
| Rd<(Z)
| None
|
| LD
| Rd,Z+
| Загрузить регистр непоср. c пост инкрем.
| Rd<(Z),Z<Z+1
| None
|
| LD
| Rd,-Z
| Загрузить регистр непоср. с предв. декрем.
| Z<Z-1,Rd<(Z)
| None
|
| LDS
| Rd,k
| Загрузить из ОЗУ
| Rd<(k)
| None
|
| ST
| X,Rr
| Записать регистр непосредственно
| (X)<Rr
| None
|
| ST
| X+,Rr
| Записать регистр непоср. c пост инкр.
| (X)<Rr,X<X+1
| None
|
| ST
| -X,Rr
| Записать регистр непоср. c пред. декрем.
| X<X-1,(X)<Rr
| None
|
| ST
| Y,Rr
| Записать регистр непосредственно
| (Y)<Rr
| None
|
| ST
| Y+,Rr
| Записать регистр непоср. c пост инкр.
| (Y)<Rr,Y<Y+1
| None
|
| ST
| -Y,Rr
| Записать регистр непоср. c пред. декрем.
| Y<Y-1,(Y)<Rr
| None
|
| ST
| Z,Rr
| Записать регистр непосредственно
| (Z)<Rr
| None
|
| ST
| Z+,Rr
| Записать регистр непоср. c пост инкр.
| (Z)<Rr,Z<Z+1
| None
|
| ST
| -Z,Rr
| Записать регистр непоср. c пред. декрем.
| Z<Z-1,(Z)<Rr
| None
|
| STS
| k,Rr
| Записать в ОЗУ
| (k)<Rr
| None
|
| КОМАНДЫ РАБОТЫ С БИТАМИ
| LSL
| Rd
| Логический сдвиг влево
| Rd(n+1)<Rd(n),Rd(0)<0
| Z,C,N,V
|
| LSR
| Rd
| Логич. сдвиг вправо
| Rd(n)<Rd(n+1),Rd(7)<0
| Z,C,N,V
|
| ROL
| Rd
| сдвиг влево через C
| Rd(0)<C, Rd(n+1)<Rd(n),C<Rd(7)
| Z,C,N,V
|
| ROR
| Rd
| сдвиг вправо через C
| Rd(7)<C, Rd(n)<Rd(n+1),C<Rd(0)
| Z,C,N,V
|
| ASR
| Rd
| Арифметический сдвиг вправо
| Rd(n)<Rd(n+1),n=0..6
| Z,C,N,V
|
| SWAP
| Rd
| Обмен тетрад (нибблов)
| Rd(3-0)<Rd(7-4)Rd(7-4)<Rd(3-0)
| None
|
| SEC
|
| Установить перенос
| C<1
| C
|
| CLC
|
| Сбросить перенос
| C<0
| C
|
| SEZ
|
| Установить флаг Z
| Z<1
| Z
|
| CLZ
|
| Сбросить флаг Z
| Z<0
| Z
|
| NOP
|
| Нет операции
|
| None
|
|
Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...
|
Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...
|
Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...
|
Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...
|
Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...
Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...
Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...
|
Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...
Краткая психологическая характеристика возрастных периодов.Первый критический период развития ребенка — период новорожденности Психоаналитики говорят, что это первая травма, которую переживает ребенок, и она настолько сильна, что вся последующая жизнь проходит под знаком этой травмы...
РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...
|
|