Лекция №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 оперирует с двумя категориями...
|
Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...
|
Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...
|
ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при которых тело находится под действием заданной системы сил...
|
|
Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...
Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы:
1) первичные...
Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...
|
|
Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...
Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...
Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...
|
|