Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Косвенный переход — команды IJMP и EIJMP




Относительный переход — команда RJMP

Команды безусловного перехода

Команды условного перехода

В этих командах производится проверка условия, результат которой влияет на состояние счетчика команд. Если условие истинно, происходит переход по заданному адресу. Если же условие ложно, выполняется следующая команда.

Команды условного перехода имеют ограничение по области действия. В действительности новое значение счетчика команд получается прибавлением к нему или вычитанием из него некоторого смещения. А поскольку под значение смещения в слове команды отводится всего 7 битов, максимальная величина перехода составляет от -63 до +64 слов. Так как переход по заданному адресу осуществляется загрузкой нового значения в счетчик команд, то в случае истинности проверяемого условия в конвейере возникает задержка длительностью в один такт.

 

Все рассматриваемые в книге микроконтроллеры семейства Mega имеют три команды безусловного перехода:

- команду относительного перехода RJMP;

- команду абсолютного перехода JMP;

- команду косвенного перехода IJMP.

 

При выполнении команды относительного перехода содержимое счетчика команд изменяется прибавлением к нему или вычитанием из него некоторого значения, являющегося операндом команды.

Поскольку под значение операнда в слове команды отводится всего 11 битов, с помощью этой команды можно переходить только в пределах -2047...+2048 слов.

В программах в качестве операндов этой команды вместо констант используются метки. Ассемблер сам вычисляет величину перехода и подставляет это значение в слово команды. Поскольку команда относительного перехода изменяет содержимое счетчика команд, она выполняется за 2 такта.

Абсолютный переход — команда JMP

При выполнении команды абсолютного перехода в счетчик команд просто загружается значение нового адреса, являющееся операндом команды. Поскольку максимальное значение адреса равны $3FFFFF, то с помощью этой команды можно осуществлять переход в пределах всего адресного пространства имеющихся на сегодняшний день микроконтроллеров AVR.

Команда абсолютного перехода выполняется за 3 такта. Дополнительный (по сравнению с командой относительного перехода) такт связан с большей длиной кода команды (2 слова).

 

При выполнении первой команды осуществляется переход по адресу, который находится в индексном регистре Z. Соответственно, процесс выполнения команды сводится к загрузке содержимого индексного регистра в счетчик команд. Так как индексный регистр — 16-битный, то максимально возможная величина перехода составляет 128 Кбайт (в моделях с объемом памяти программ более 128 Кбайт старшие биты счетчика команд обнуляются).

Команда EIJMP осуществляет переход по адресу, младшие 16 битов которого находятся в индексном регистре Z, а старшие биты — в специальном РВВ EIND, расположенном по адресу $ЗС ($5С). Соответственно, при выполнении команды происходит копирование содержимого регистра Z и регистра ввода/вывода EIND в счетчик команд. Как и команда относительного перехода, команды косвенного перехода выполняются за 2 такта.

 




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 1462; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.