Контрольная работа: Внутренняя организация микроконтроллеров AVR
SERRd – установить в 1 все биты регистра.
MULRd, Rr – умножение без знака.
MULSRd, Rr – умножение со знаком.
Инструкции ветвления
RJMPk – относительный переход на метку k. Переход осуществляется в пределе 2000 команд от места вызова.
RJMP Res
- - - - - - -
Res. ADD R16, R17
IJMP – косвенный переход на адрес, хранящийся в регистровой паре Z.
В микроконтроллере AVR существуют 3 регистровые пары X, Y, Z. Регистровые пары используются при косвенной адресации и позволяют осуществлять переход в пределах 216 .
JMPk – переход на метку k в пределах 4 млн. инструкций.
RCALLk – относительный вызов подпрограмм, т.е. переход на метку k, с которой начинается вызываемая подпрограмма. При этом подпрограмма должна заканчиваться командой RET.
ICALL – косвенный вызов подпрограммы, начальный адрес которой хранится в регистровой паре Z.
CALLk – вызов подпрограммы удаленной на расстояние до 64 000 команд от места вызова.
RETI – возврат из прерывания.
При возникновении прерываний в процессоре прекращается выполнение основной программы микроконтроллера. Адрес следующей команды, которую необходимо выполнить помещается в стек и вызывается подпрограмма обрабатывающая это прерывание. При выполнении этой команды адрес с которого мы начинаем переписывать обратно в счетчик прерываний и мы возвращаемся в ту точку с которой прервались.
CPSERd, Rr – сравнить содержимое двух регистров и пропустить следующую команду, если значения в эти регистрах одинаково.
CPRd, Rr – сравнить содержимое двух регистров.
CPIRd, k – сравнить содержимое регистра с константой.
BREQk – переход на метку, если выполнилось равенство.
BRNEk – переход на метку, если значение
BRCSk – флаг переноса установлен, т.е. перейти на метку, если установлен флаг переноса.
BRCCk – перейти на метку, если флаг переноса сброшен в 0.
BRSHk – перейти на метку, если равно или больше.
CP R16 R17
BRSH RCS
---------------
RES -------
BRLOk - перейти на метку, если меньше.