Курсовая работа: Станция ЛВС с маркерным доступом на структуре шина
Байт-ориентированные операции
13 8 | 7 | 6 0 |
Код операции | d | f (файл #) |
Таблица 2.2
Описание поля кода команды
Значение | Описание |
f | Адрес файлового регистра |
w | Аккумулятор |
b | Адрес бита в регистре |
k | Литерал, константа или метка |
x | Ассемблер сгенерирует код, когда x = 0. Это рекомендуемая форма использования для совместимости со всеми программными средствами. |
d |
D=0 результат хранится в регистре W D=1 результат хранится в регистре f По умолчанию d=1 |
label | Имя метки |
TOS | Вершина стека |
PC | Программный счетчик команд |
PCLATH | Программный счетчик |
GIE | Общее разрешение прерываний |
WDT | Сторожевой счетчик времени |
TO | Тайм-аут |
PD | Выключение питания |
Описание системы команд МК PIC16C64 приведено в табл.2.3.
Таблица 2.3
Описание команд PIC16C64
Мнемоника команды | Описание | Цик-лы | Код команды | Прим | |
ADDWF f, d | сложение W c f | 1 | 00 0111 dfff ffff | C,DC, Z | 1,2 |
ANDWF f, d | логическое И Wи f | 1 | 00 0101 dfff ffff | Z | 1,2 |
CLRF f | сброс регистра f | 1 | 00 0001 lfff ffff | Z | 2 |
CLRW - | сброс регистра W | 1 | 00 0001 0xxx xxxx | Z | |
COMF f, d | инверсия регистра f | 1 | 00 1001 dfff ffff | Z | 1,2 |
DECF f, d | декремент регистра f | 1 | 00 0011 dfff ffff | Z | 1,2 |
DECFSZ f, d | декремент f, пропустить команду, если 0 | 1(2) | 00 1011 dfff ffff | 1,2,3 | |
INCF f, d | инкремент регистра f | 1 | 00 1010 dfff ffff | Z | 1,2 |
INCFSZ f, d | инкремент регистра f, пропустить, если 0 | 1(2) | 00 1111 dfff ffff | 1,2,3 | |
IORWF f, d | логическое ИЛИ Wи f | 1 | 00 0100 dfff ffff | Z | 1,2 |
MOVF f, d | пересылка регистра f | 1 | 00 1000 dfff ffff | Z | 1,2 |
MOVWF f | пересылка W в f | 1 | 00 0000 lfff ffff | ||
NOP - | холостая команда | 1 | 00 0000 0xx0 0000 | ||
Мнемоника команды | Описание | Цик-лы | Код команды | Прим | |
RLF f, d | сдвиг fвлево через перенос | 1 | 00 1101 dfff ffff | C | 1,2 |
RRF f, d | сдвиг fвправо через перенос | 1 | 00 1100 dfff ffff | C | 1,2 |
SUBWF f, d | вычитание W из f | 1 | 00 0010 dfff ffff | C, DC,Z | 1,2 |
SWAPF f, d | обмен тетрад в f | 1 | 00 1110 dfff ffff | 1,2 | |
XORWF f, d | Исключающее ИЛИ Wи f | 1 | 00 0110 dfff ffff | Z | 1,2 |
Команды работы с битами регистров (бит-ориентированные) | |||||
BCF f, b | сброс бита в регистре f | 1 | 00 00bb bfff ffff | 1,2 | |
BSF f, b | Установка бита в регистре f | 1 | 01 01bb bfff ffff | 1,2 | |
BTFSC f, b | Пропустить команду, если бит равен 0 | 1(2) | 01 10bb bfff ffff | 3 | |
BTFSS f, b | Пропустить команду, если бит равен 1 | 1(2) | 01 11bb bfff ffff | 3 | |
Команды работы с константами и операции перехода | |||||
ADDLW k | Сложение константы с W | 1 | 11 111x kkkk kkkk | C, DC, Z | |
ANDLW k | Логическое И Wи f | 1 | 11 1001 kkkk kkkk | Z | |
CALL k | вызов подпрограммы | 2 | 10 0kkk kkkk kkkk | ||
CLRWDT - | сброс сторожевого таймера WDT | 1 | 00 0000 0110 0100 | TO, PD | |
GOTO k | переход по адресу | 2 | 10 1kkk kkkk kkkk | ||
IORLW k | Логическое ИЛИ константы и W | 1 | 11 1000 kkkk kkkk | Z | |
MOVLW k | пересылка константы в W | 1 | 11 00xx kkkk kkkk | ||
RETFIE - | возврат из прерывания | 2 | 00 0000 0000 1001 | ||
RETLW k | возврат из подпрограммы с загрузкой константы в W | 2 | 11 01xx kkkk kkkk | ||
RETURN - | возврат из подпрограммы | 2 | 00 0000 0000 1000 | ||
SLEEP - | переход в режим SLEEP | 1 | 00 0000 0110 0011 | TO, PD | |
SUBLW k | вычитание W из константы | 1 | 11 110x kkkk kkkk | C,DC, Z | |
XORLW k | Исключающее ИЛИ конс-танты и W | 1 | 11 1010 kkkk kkkk | Z |
Примечание:
1. Во всех командах операнд fпринимает значения от 0 до 127, а операнд dзначения 0 или 1.
2. В бит-ориентированных операциях операнд bпринимает значения от 0 до 7.
3. В литеральных операциях и операциях управления, кроме оговоренных случаев, операнд k принимает значения от 0 до 255.
Обозначения:
С: Carrybit - бит переноса / заема (для команд ADDWF, ADDLW, SUBLW, SUBWF)
(для заема полярность инверсная):
1 - в результате операции имеет место выход переноса из наиболее значащего бита результата;
0 - нет переноса из наиболее значащего бита результата.
DC: DigitCarrybit - бит десятичного переноса /заема (для команд ADDWF, ADDLW,SUBLW, SUBWF) (для заема полярность инверсная ) :
1 - выход переноса из 4-го младшего бита при образовании результата;
0 - выход переноса из 4-го младшего разряда результата
Z- Zerobit- бит результата:
1 - результат арифметической или логической операции есть 0;
0 - результат арифметической или логической операции есть не 0;
\ - инверсия
W/f - результат помещается в регистр W, если d=0, и в регистр f, если d=1
3. ОПИСАНИЕ СТРУКТУРНОЙ СХЕМЫ СТАНЦИИ ЛВС
Структурная схема станции ЛВС представлена на рис.3.1.[1]
В состав станции входят следующие устройства: