Изучение архитектуры и основ программирования микроконтроллеров. Индришенок В.И - 15 стр.

UptoLike

-15-
выполняемой команды - PC. Ряд команд изменяет PC безуслов-
но, другиепри выполнении некоторого условия. При безуслов-
ных переходах новое значение PC задаётся как адрес метки по-
следовательности операторов, к выполнению которых надо пе-
рейти, значение этого адреса вычисляется в ходе ассемблирова-
ния программы.
rjmp label
Безусловный относительный переход. В мнемокоде labelимя
метки, к которой требуется перейти, в код команды заносится
число, на которое изменяется PC.
rcall label
Вызов подпрограммы (относительный). В мнемокоде labelмет-
ка подпрограммы. Адрес команды, следующей за командой вызо-
ва подпрограммы, заносится в стек.
ret
Возврат из подпрограммы. PC принимает значение извлекаемого из
стека адреса команды, следующей за командой вызова подпрограммы.
reti
Возврат из подпрограммы обработки прерывания. PC ;принимает
значение извлекаемого из стека адреса команды, ;следующей за
командой выполненной до прерывания.
Ряд команд условных переходов пропускают следующую
команду, а другие производят переход к метке при выполнении
условия, отражающегося в названии операции. В командах вто-
рого вида условием является значение флага в регистре состоя-
ния, установленное в результате предшествующей операции.
cpse Rd, Rr
Сравнение регистров и пропуск команды, если равны.
sbrc Rr, 7
Пропуск команды, если в рабочем регистре бит, заданный но-
мером или именем, равен 0.
sbis Port, bit
Пропуск команды, если в регистре ввода/вывода бит, заданный
номером или именем, равен 1.
brbs 3, label
Переход на метку label , если в регистре состояния SREG бит,
заданный номером или именем, равен 1.
brne label
Переход на метку label , еслине равно” (если в результате
предшествующей операции в регистре состояния SREG флаг
равенства нулю не установленZ=0).
Команды операций с битами устанавливают (логическая
единица) или сбрасывают (нуль) отдельные биты регистра со-
стояния или портов ввода/вывода. К этой же группе относятся
команды сдвига бит в регистре.
bclr bit
Очиститьустановить равным 0 бит, заданный номером или
именем, в регистре состояния SREG.
sez
Установить в 1 флаг Z в регистре состояния SREG.
sbi Port, bit
Установить в 1 бит в регистре ввода/вывода.
                                         -15-

выполняемой команды - PC. Ряд команд изменяет PC безуслов-
но, другие – при выполнении некоторого условия. При безуслов-
ных переходах новое значение PC задаётся как адрес метки по-
следовательности операторов, к выполнению которых надо пе-
рейти, значение этого адреса вычисляется в ходе ассемблирова-
ния программы.
rjmp label Безусловный относительный переход. В мнемокоде label – имя
                 метки, к которой требуется перейти, в код команды заносится
                 число, на которое изменяется PC.
rcall label      Вызов подпрограммы (относительный). В мнемокоде label – мет-
                 ка подпрограммы. Адрес команды, следующей за командой вызо-
                 ва подпрограммы, заносится в стек.
ret              Возврат из подпрограммы. PC принимает значение извлекаемого из
                 стека адреса команды, следующей за командой вызова подпрограммы.
reti             Возврат из подпрограммы обработки прерывания. PC ;принимает
                 значение извлекаемого из стека адреса команды, ;следующей за
                 командой выполненной до прерывания.
     Ряд команд условных переходов пропускают следующую
команду, а другие производят переход к метке при выполнении
условия, отражающегося в названии операции. В командах вто-
рого вида условием является значение флага в регистре состоя-
ния, установленное в результате предшествующей операции.
cpse Rd, Rr        Сравнение регистров и пропуск команды, если равны.
sbrc Rr, 7         Пропуск команды, если в рабочем регистре бит, заданный но-
                   мером или именем, равен 0.
sbis Port, bit     Пропуск команды, если в регистре ввода/вывода бит, заданный
                   номером или именем, равен 1.
brbs 3, label      Переход на метку label , если в регистре состояния SREG бит,
                   заданный номером или именем, равен 1.
brne label         Переход на метку label , если “не равно” (если в результате
                   предшествующей операции в регистре состояния SREG флаг
                   равенства нулю не установлен – Z=0).
     Команды операций с битами устанавливают (логическая
единица) или сбрасывают (нуль) отдельные биты регистра со-
стояния или портов ввода/вывода. К этой же группе относятся
команды сдвига бит в регистре.
bclr bit      Очистить – установить равным 0 бит, заданный номером или
              именем, в регистре состояния SREG.
sez           Установить в 1 флаг Z в регистре состояния SREG.
sbi Port, bit Установить в 1 бит в регистре ввода/вывода.