русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Команды управления и работы с константами


Дата добавления: 2014-04-18; просмотров: 870; Нарушение авторских прав


Команды работы с константами используют при выполнении опера­ции явно заданные операнды, которые являются частью команды.

Команда МОVLW k используется для записи константы k в рабочий регистр w. Содержимое регистра SТАTUS при этом не изменяется.

Команда АDDLW k прибавляет непосредственно заданную величину к содержимому регистра w.

Команда SUBLW k вычитает содержимое регистра w из заданного зна­чения константы к. С помощью этой команды удобно изменять знак содержимого регис­тра w, используя ее следующим образом: SUBLW 0.

Команды логических операций ANDLW k, IORLW k, XORLW k вы­полняют побитно соответствующие операции над содержимым регистра w и непосредственно заданной константой к. Полученный результат сохраняется в регистре w.

С помощью команды IORLW 0 удобно определять равенство нулю со­держимого регистра w. В зависимости от результата этой операции бит нуля будет установлен в 1 или сброшен в 0.

Команда RETLW k используется для возврата из подпрограммы с уста­новкой начальных условий в регистр w, а также для реализации табличных преобразований. Перед возвращением из под­программы эта команда осуществляет загрузку непосредственно заданной величины в рабочий регистр w.

Команды GОТО к, САLL к, RETURN и RETFIE используются для уп­равления программой.

Команды GОТО k и САLL k могут явно задавать адрес перехода в пре­делах определенной страницы, размер которой зависит от типа МК. Если ад­рес перехода выходит за пределы страницы, то регистр РСLATH должен содержать правильную информацию о новой странице.

Команда САLL k выполняется практически так же, как и GОТО к, за исключением того, что указатель на следующую страницу сохраняется в стеке счетчика команд.

Cуществует три различных способа воз­врата из подпрограммы, определяемые командамиRETLW k, RETURN, RETFIE. При каждом из этих способов значение адреса извлекается из вершины стека и загружается в счетчик команд. Эти адреса используются для возврата из подпрограмм или прерываний.



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

Команда RETFIE используется для возврата из прерывания. Она реа­лизуется аналогично команде RETURN за исключением того, что при ее выполнении устанавливается в 1 бит GIЕ в регистре управления прерыва­ниями INTСОN. Это позволяет после выполнения данной команды немедленно перейти к обработке прерываний, ожидающих своей очереди.

Существует всего две команды, служащие для непосредственного уп­равления функционированием МК. Первая из них - CLRWDT - исполь­зуется для сброса сторожевого таймера. Вторая - SLЕЕР — обеспечивает сохранение текущего состояния МК в режиме ожидания, пока не произой­дет какое-либо внешнее событие, которое позволит РIС МК продолжить выполнение программы.

Команда CLRWDT сбрасывает в 0 содержимое сторожевого таймера WDТ и пределителя , запуская сначала отсчет времени сторожевого таймера. Целью введения команды CLRWDT является предотвращение перезапуска МК при нормальном выполнении программы.

Команда SLЕЕР служит для двух целей. Первой из них является от­ключение МК после того, как он закончит выполнение программы.

Второй целью использования команды SLЕЕР является реализация в МК режима ожидания какого-либо события. Существует три события, спо­собные вывести МК из режима ожидания.

Первым из них является подача сигнала запуска на вход сброса МК, что приведет к перезапуску процес­сора и началу выполнения программы с нулевого адреса.

Второй способ -поступление сигнала «пробуждения» МК от сторожевого таймера.

Треть­им способом «пробуждения» является прерывание от какого-либо внеш­него источника. При любом способе «пробуждения» использование ко­манды SLЕЕР позволяет избежать необходимости организации циклов ожидания, а также снизить потребляемую системой мощность.



<== предыдущая лекция | следующая лекция ==>
Команды работы с битами | Особенности программирования и отладки


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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