рос | укр
Головна сторінка
Випадкова сторінка
КАТЕГОРІЇ:
АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія
|
Сутність і класифікація державного боргу
Дата добавления: 2014-12-06; просмотров: 740
Страница
| Адрес
| Анкор
| http://citystyle61.ru/index.php?route=information/contact
| http://www.opencart.com
| OpenCart
| http://citystyle61.ru/index.php?route=information/contact
| http://rb.labtodo.com/page/opencart-1505-russian-language-pack
| Русский перевод Опенкарт
| http://citystyle61.ru/index.php?route=information/contact
| http://money.yandex.ru
| n/t
| http://citystyle61.ru/dostavka
| http://www.cdek.ru/tarif/
| http://www.cdek.ru/tarif/
| http://citystyle61.ru/dostavka
| http://www.cdek.ru/nakladnoy/
| http://www.cdek.ru/nakladnoy/
| http://citystyle61.ru/dostavka
| http://www.opencart.com
| OpenCart
| http://citystyle61.ru/dostavka
| http://rb.labtodo.com/page/opencart-1505-russian-language-pack
| Русский перевод Опенкарт
| http://citystyle61.ru/dostavka
| http://money.yandex.ru
| n/t
| http://citystyle61.ru/kak-oplatit-zakaz
| http://www.robokassa.ru
| здесь
| http://citystyle61.ru/kak-oplatit-zakaz
| http://www.webmoney.ru
| n/t
| http://citystyle61.ru/kak-oplatit-zakaz
| http://money.yandex.ru
| n/t
| http://citystyle61.ru/kak-oplatit-zakaz
| http://money.yandex.ru
| на сайте платежной системы
| http://citystyle61.ru/kak-oplatit-zakaz
| http://www.handybank.ru/index.php?option=com_content&view=article&id=1827&Itemid=158
| система Интернет-банк следующих банков
| http://citystyle61.ru/kak-oplatit-zakaz
| http://www.opencart.com
| OpenCart
| http://citystyle61.ru/kak-oplatit-zakaz
| http://rb.labtodo.com/page/opencart-1505-russian-language-pack
| Русский перевод Опенкарт
| http://citystyle61.ru/kak-oplatit-zakaz
| http://money.yandex.ru
| n/t
| http://citystyle61.ru
| http://www.opencart.com
| OpenCart
| http://citystyle61.ru
| http://rb.labtodo.com/page/opencart-1505-russian-language-pack
| Русский перевод Опенкарт
| http://citystyle61.ru
| http://money.yandex.ru
| n/t
|
Система команд
Каждая команда микроконтроллеров PIC16F87X состоит из одного 14-разрядного слова, разделенного на код операции (OPCODE), определяющий тип команды и один или несколько операндов, определяющие операцию команды.
Полный список команд смотрите в таблице 13-2. Команды разделены на следующие группы: байт ориентированные команды, бит ориентированные команды, команды управления и операций с константами. Описание полей кода операции смотрите в таблице 13-1.
Для байт ориентированных команд 'f' является указателем регистра, а 'd' указателем адресата результата.
Указатель регистра определяет, какой регистр должен использоваться в команде. Указатель адресата определяет, где будет сохранен результат. Если 'd'=0, результат сохраняется в регистре W. Если 'd'=1, результат сохраняется в регистре, который используется в команде.
В бит ориентированных командах 'b' определяет номер бита участвующего в операции, а 'f' - указатель регистра, который содержит этот бит.
В командах управления или операциях с константами 'k' представляет восемь или одиннадцать бит константы или значения литералов.
Система команд аккумуляторного типа, ортогональна и разделена на три основных группы:
• Байт ориентированные команды;
• Бит ориентированные команды;
• Команды управления и операций с константами.
Все команды выполняются за один машинный цикл, кроме команд условия, в которых получен истинный результат и инструкций изменяющих значение счетчика команд PC. В случае выполнения команды за два машинных цикла, во втором цикле выполняется инструкция NOP. Один машинный цикл состоит из четырех тактов генератора. Для тактового генератора с частотой 4 МГц все команды выполняются за 1мкс, если условие истинно или изменяется счетчик команд PC, команда выполняется за 2мкс.
Мнемоника команд, поддерживаемая ассемблером MPASM, показана в таблице 13-2. На рисунке 13-1 показан форма команд трех основных групп.
Примечание. Для совместимости программного обеспечения со следующими версиями микроконтроллеров PICmicro не используйте команды TRIS и OPTION.
Во всех примерах используется следующий формат шестнадцатеричных чисел:
0xhh, где h - шестнадцатеричная цифра.
Таблица 1-Описание полей кода операции
Поле
| Описание
| f
| Адрес регистра (от 0x00 до 0x7F)
| w
| Рабочий регистр (аккумулятор)
| b
| Номер бита в 8-разрядном регистре
| k
| Константа (данные или метка)
| x
| Не имеет значения (0 или 1). Ассемблер генерирует x=0 для совместимости программы микроконтроллера с инструментальными средствами
| d
| Указатель адресата результата операции:
d = 0 - результат сохраняется в регистре w
d = 1 - результат сохраняется в регистре f
По умолчанию d = 1
| label
| Имя метки
| TOS
| Вершина стека
| PC
| Счетчик команд
| PCLATH
| Буфер старшего байта счетчика команд
| GIE
| Бит глобального разрешения прерываний
| WDT
| Сторожевой таймер
| -TO
| Флаг переполнения WDT
| -PD
| Флаг сброса по включению питания
| dest
| Приемник, регистр w или регистр памяти
| [ ]
| Дополнительные параметры
| ( )
| Содержимое
| ®
| Присвоение
| < >
| Битовое поле
| Î
| Из набора
| Курсив
| Термин, определяемый пользователем
|
Мнемоника команды
| Описание
| 14-разрядный код
| Изм.
флаги
| Прим.
| | | Циклов
| Бит 13 Бит 0
| | Байт ориентированные команды
| | ADDWF
| f,d
| Сложение W и f
|
| 00 0111 dfff ffff
| C,DC,Z
| 1,2
| | ANDWF
| f,d
| Побитное 'И' W и f
|
| 00 0101 dfff ffff
| Z
| 1,2
| | CLRF
| f
| Очистить f
|
| 00 0001 1fff ffff
| Z
|
| | CLRW
| -
| Очистить W
|
| 00 0001 0xxx xxxx
| Z
|
| | COMF
| f,d
| Инвертировать f
|
| 00 1001 dfff ffff
| Z
| 1,2
| | DECF
| f,d
| Вычесть 1 из f
|
| 00 0011 dfff ffff
| Z
| 1,2
| | DECFSZ
| f,d
| Вычесть 1 из f и пропустить если 0
| 1(2)
| 00 1011 dfff ffff
|
| 1,2,3
| | INCF
| f,d
| Прибавить 1 к f
|
| 00 1010 dfff ffff
| Z
| 1,2
| | INCFSZ
| f,d
| Прибавить 1 к f и пропустить если 0
| 1(2)
| 00 1111 dfff ffff
|
| 1,2,3
| | IORWF
| f,d
| Побитное 'ИЛИ' W и f
|
| 00 0100 dfff ffff
| Z
| 1,2
| | MOVF
| f,d
| Переслать f
|
| 00 1000 dfff ffff
| Z
| 1,2
| | MOVWF
| f
| Переслать W в f
|
| 00 0000 1fff ffff
|
|
| | NOP
| -
| Нет операции
|
| 00 0000 0xx0 0000
|
|
| | RLF
| f,d
| Циклический сдвиг f влево через перенос
|
| 00 1101 dfff ffff
| C
| 1,2
| | RRF
| f,d
| Циклический сдвиг f вправо через перенос
|
| 00 1100 dfff ffff
| C
| 1,2
| | SUBWF
| f,d
| Вычесть W из f
|
| 00 0010 dfff ffff
| C,DC,Z
| 1,2
| | SWAPF
| f,d
| Поменять местами полубайты в регистре f
|
| 00 1110 dfff ffff
|
| 1,2
| | XORWF
| f,d
| Побитное 'исключающее ИЛИ' W и f
|
| 00 0110 dfff ffff
| Z
| 1,2
| | Бит ориентированные команды
| | BCF
| f,b
| Очистить бит b в регистре f
|
| 01 00bb bfff ffff
|
| 1,2
| | BSF
| f,b
| Установить бит b в регистре f
|
| 01 01bb bfff ffff
|
| 1,2
| | BTFSC
| f,b
| Проверить бит b в регистре f, пропустить
если 0
| 1(2)
| 01 10bb bfff ffff
|
|
| | BTFSS
| f,b
| Проверить бит b в регистре f, пропустить
1 если
| 1(2)
| 01 11bb bfff ffff
|
|
| | Команды управления и операций с константами
| | ADDLW
| k
| Сложить константу с W
|
| 11 111x kkkk kkkk
| C,DC,Z
|
| | ANDLW
| k
| Побитное 'И' константы и W
|
| 11 1001 kkkk kkkk
| Z
|
| | CALL
| k
| Вызов подпрограммы
|
| 10 0kkk kkkk kkkk
|
|
| | CLRWDT
| -
| Очистить WDT
|
| 00 0000 0110 0100
| -TO,-PD
|
| | GOTO
| k
| Безусловный переход
|
| 10 1kkk kkkk kkkk
|
|
| | IORLW
| k
| Побитное 'ИЛИ' константы и W
|
| 11 1000 kkkk kkkk
| Z
|
| | MOVLW
| k
| Переслать константу в W
|
| 11 00xx kkkk kkkk
|
|
| | RETFIE
| -
| Возврат из подпрограммы с разрешением
прерываний
|
| 00 0000 0000 1001
|
|
| | RETLW
| k
| Возврат из подпрограммы с загрузкой
константы в W
|
| 11 01xx kkkk kkkk
|
|
| | RETURN
| -
| Возврат из подпрограммы
|
| 00 0000 0000 1000
|
|
| | SLEEP
| -
| Перейти в режим SLEEP
|
| 00 0000 0110 0011
| -TO,-PD
|
| | SUBLW
| k
| Вычесть W из константы
|
| 11 110x kkkk kkkk
| C,DC,Z
|
| | XORLW
| k
| Побитное 'искл. ИЛИ' константы и W
|
| 11 1010 kkkk kkkk
| Z
|
| | | | | | | | | | | | | | | |
Примечания:
1. При выполнении операции "чтение - модификация - запись" с портом ввода/вывода исходные
значения считываются с выводов порта, а не из выходных защелок. Например, если в
выходной защелке было записана '1', а на соответствующем выходе низкий уровень сигнала, то
обратно будет записано значение '0'.
2. При выполнении записи в TMR0 (и d=1) предделитель TMR0 сбрасывается, если он подключен к модулю TMR0.
3. Если условие истинно или изменяется значение счетчика команд PC, то инструкция выполняется за два цикла. Во втором цикле выполняется команда NOP. 1 | <== 2 ==> | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | |