пятница, 23 января 2009 г.

Структура команды микроконтроллеров PIC

Следующее описание структуры команд касается команд длиной в одно слово. Особенности Enhanced PIC описываются в главе "PIC18".

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

Наибольший класс команд образуют логические и арифметические операции с аргументом данных и рабочим регистром W. Команд с двумя аргументами данных не существует, в чем заключается один из недостатков сжатой структуры команды.

Этот класс команд имеет следующую структуру:

12 разрядов OOOOO.D.FFFFF
14 разрядов OOOOO.D.FFFFFFF
16 разрядов OOOOOO.D.FFFFFFFF

При этом "О" обозначает код операции, "D" — селектор регистра назначения, а "F" — разряды указателя на аргумент данных.

Очень удобно в этих командах то, что пунктом назначения для результата операции может быть, на выбор, регистр W или указанный в аргументе файловый регистр.

В языке ассемблера, поддерживаемом компанией Microchip, с которым пользователь, наверняка, имел дело, если не предпочитает язык высокого уровня, такая команда записывается следующим образом:

ADDWF WERT,W

Эта команда выполняет сложение содержимого файлового регистра под именем WERT и содержимого рабочего регистра W. Регистр назначения — W . Аргумент D в слове команды в этом случае устанавливается равным 0. Иногда в команде ассемблера встречают также запись в виде "0" вместо "W".

Если в качестве регистра назначения выступает WERT, тогда записывают:

ADDWF WERT,F

или по-другому

ADDWF WERT

Аргумент D в слове команды в этом случае устанавливается равным 1. Иногда в команде ассемблера используют также тип записи "1" вместо "F". Если регистр назначения явно не указан, то в его качестве автоматически выбирается файловый регистр (D=l).
Авторы предпочитают последний, выделенный полужирным шрифтом тип записи, при котором аргумент отбрасывается, поскольку он более наглядный.

1 комментарий:

  1. Harrah's Philadelphia Casino & Racetrack - Dr. Maryland
    Harrah's Philadelphia 양산 출장샵 Casino & Racetrack. 보령 출장안마 Address: 3145 보령 출장샵 S. Chester Boulevard, 광주광역 출장샵 Chester, PA 18702. Email: harrahsphillycasino@harrahscherokeejobs.com. 계룡 출장샵

    ОтветитьУдалить