Средства разработки семейства Microchip

Система и формат команд. Способы адресации

Микроконтроллер PIC12F675 имеет систему команд аккумуляторного типа, которая ортогональна и разделена на три основных группы:

--Байт ориентированные команды

--Бит ориентированные команды

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

Каждая команда состоит из одного 14 - разрядного слова, разделенного на код операции (OPCODE), определяющий тип команды и один или несколько операндов, определяющие операцию команды.

Для байт ориентированных команд «f» является указателем регистра, а «d» указателем адресата результата. Указатель регистра определяет, какой регистр должен использоваться в команде. Указатель адресата определяет, где будет сохранен результат. Если «d»=0, результат сохраняется в регистре W. Если «d»=1, результат сохраняется в регистре, который используется в команде.

В бит ориентированных командах «b» определяет номер бита участвующего в операции, а «f» - указатель регистра, который содержит этот бит.

В командах управления или операциях с константами «k» представляет восемь или одиннадцать бит константы или значения литералов.

Система команд включает 35 операций. Все команды выполняются за один машинный цикл, кроме команд условия, в которых получен истинный результат и происходит изменение содержимого программного счетчика. Один машинный цикл состоит из 4-х тактов, при работе МК при номинальной частоте 4 МГц время выполнения одной команды составляет 1 мкс.

Любая команда, которая определяет регистр памяти данных как часть команды, выполняется по принципу «Чтение - Модификация - Запись» (R - М -W). Сначала выполняется чтение регистра, изменяются данные, а затем результат сохраняется в регистре назначения (зависит от состояния бита «d»). Чтение выполняется даже, если производится только запись данных.

Байт-ориентированная команда

13 8 6 0
OPCODE d f

 

Бит-ориентированная команда

13 10 9 7 6 0
OPCODE d f

 

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

13 8 7 0
OPCODE k

Рисунок 9 - Формат команд микроконтроллера PIC12F675

Все команды МК оперируют 3 способами адресации:

1) регистровая – второй операнд хранится в регистровой памяти

2) непосредственная – один из операндов хранится в теле команды

3) косвенная – с помощью регистров специального назначения INDF и FSR.

 

 

 

Современные системы разработки программного обеспечения для МК можно разделить на 2 основных типа:

1) написание программ на основе архитектурных особенностей МК, т.е. в машинном коде (ассемблер, макроассемблер).

2) написание программ осуществляется с помощью языков высокого уровня с дальнейшей компиляцией (построением программ) с кодом, понятному МК.

Самыми распространенными являются Си компиляторы.

МК семейства Microchip обеспечены большим программ, позволяющих программировать МК на языках высокого и низкого уровня.

Разработчик Microchip выпускает программный пакет MPLAB IDE, который является доступным в свободном доступе.

Основные разработчики компиляторы высокого уровня: HITECH (HICE), MicroC (C17, C18).


 

глава 7: МК MCS 51