НПО Системы Безопасности
(499)340-94-73
График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной
|
Главная » Периодика » Безопасность0 ... 567891011 ... 159Описание | Команда | Функция | | Сложение содержимого региара с содержимым регистра w и размещение результата в соответствии с указателем d | addwf Reg, d | If (d 1) Reg - Reg + w else w = Reg + w endif С = (Reg + w) > OxOFF Z = ((Reg + w) 8, OxOFF) == 0 DC = ((Reg 8, OxOF) + w 8. OxOF)) > OxOF | 0001 lldf ffff | Логическое И(побитовое) константы с содержимым регистра w | andlw к | w = w 8. к Z = (w 8, к) == 0 | 1110 kkkk kkkk | Логическое И содержимого регистра с содержимым регистра w и сохранение результата в соответствии с указателем 6 | andwf Reg, d | If (d == 1) Reg = Reg 8. w else w = Reg i w endif Z = (Reg 8, w) == 0 | 0001 Oldf ffff | Стирание заданного бита в регистре | bcf Reg, bit | Reg = Reg 8, (OxOFF ~ (1 « Bit)) | 0100 bbbf ffff | Уаановка заданного бита в регистре (запись 1) | bsf Reg, bit | Reg = Reg (1 « Bit) | 0101 bbbf ffff | Пропуск следующей команды при условии равенства 0 заданного бита в регистре; в отсутствие пропуска требуется один командный цикл,а в случае пропуска -два цикла | btfsc Reg, bit | If (((Reg 8, (1 « Bit)) =- 0) PC = PC + 1 endif | 0110 bbbf ffff | Пропуск следующей команды при условии равенства 1 заданного бита в регистре; если нет пропуска, требуется один командный цикл, в случае пропуска - два | btfss Reg bit | If ((Reg 8, (1 « Bit)) != 0 PC = PC + 1 endif | 0111 bbbf ffff | Вызов подпрограммы. Сохранение программного счетчика в стеке и переход к заданному адресу (требуются два цикла) | call Address | [SP] = PC SP = SP + 1 PC = ((STATUS 8, OxOEO) « 4) + Address | 1001 aaaa aaaa | Стирание информации в заданном регистре | clrf Reg | Reg = 0 Z = 1 | 0000 Ollf ffff | Стирание регистра w | clrw | W = 0 Z = 1 | 0000 0100 0000 | Стирание счетчика аорожевого таймера | clrwdt | WDT = 0 T0 = 1 P0 = 1 | 0000 0000 0100 |
Описание | Команда | Функция | | Инвертирование содержимого заданного регистра и размещение результата в соответствии с указателем d | comf Reg, d | If (ti - 1) Reg = Reg " OxOFF else w = Reg " OxOFF endif Z = (Req - OxOFF) == 0 | 0010 Oldf ffff | Декрементирование содержимого регистра и размещение результата в соответствии с указателем d | decf Reg, d | if (d == 1) Reg = Reg - 1 else w = Reg - 1 endif Z = (Req - 1) == 0 | 0011 lldf ffff | Декрементирование содержимого регистра, размещение результата в соответствии с указателем d и пропуск следующей команды, если результат равен нулю; при пропуске требуются два цикла команды | decfsz Reg, d | If (d == 1) Reg = Reg - 1 else w = Reg - 1 endif PC = PC + 1 xf ((Reg - 1) 0) PC = PC + 1 indif | 0010 lldf ffff | Безусловный переход к заданному адресу (требуются два командных цикла) | goto Address | PC = ((STATUS J. OxOEO) « 4) + Address | 101a aaaa aaaa | Инкрементирование содержимого регистра и размещение результата в соответствии с указателем d | incf Reg, d | If (d == 1) Reg = Reg + 1 else w = Reg + 1 endif Z = (Req + 1) == 0 | 0010 lOdf ffff | Инкрементирование содержимого регистра, размещение результата в соответствии с указателем d и пропуск последующей команды, если результат равен нулю; при пропуске требуются два цикла | incfsz Reg, d | If (d == 1) Reg = Reg + 1 else w = Reg + 1 endif PC = PC + 1 If ((Reg + 1) == 0) PC = PC + 1 indif | 0011 lldf ffff | Логическое ИЛИ (побитовое) константы с содержимым регистра W | lorlw к | W = w 1 к Z = (w 1 k) 0 | 1101 kkkk kkkk | Логическое ИЛИ содержимого регистра с содержимым регистра W, размещение результата в соответствии с указателем d | lorwf Reg, d | If (d == 1) Reg = Reg 1 w else w = Reg 1 w endif Z = (Req 1 w) == 0 | 0001 OOdf ffff | Пересылка содержимого регистра в соответствии с указателем d | movf Reg d | If (d == 0) W = Reg endif Z = Req == 0 | 0010 OOdf ffff |
Описание | Команда | Функция | | Загрузка конаанты Rjiertiapw | movlw к | W = к | 1100 kkkk kkkk | Зафузка в региар содержимого региара w | movwf Reg | Reg = w | 0000 OOlf ffff | «Пуаая» операция | | | 0000 0000 0000 | Загрузка содержимого регистра w в регистр OPTION | option | OPTION = w | 0000 0000 0010 | Возврат из подпрограммы с загрузкой конста нты в региар W (требуются два цикла) | retlw к | W = к SP - SP - 1 PC = [SP] | 1000 kkkk kkkk | Возврат из подпрограммы (требуются два цикла) | return | W = 0 SP = SP - 1 PC = [SPl | 1000 0000 0000 | Циклический едвиг содержимого регистра влево и сохранение результата в соответавии с указателем d | rlf Reg, d | Temp = С С = (Reg » 7) i 1 If (d - 1) Reg = (Reg « 1) + Temp else w = (Reg « 1) + Temp endif | 0011 Oldf ffff | Циклический сдвиг содержимого региара вправо и сохранение результата в соответавии с указателем d | rrf Reg, d | Temp = С С = Reg 4 1 If (d == 1) Reg = (Reg » 1) + (Temp « else w = (Reg » 1) + (Temp « 7) endif | 0011 OOdf ffff | Переход в режим ожидания SLEEP(на неопределенное время) | sleep | Л0 = 1 PD = 0 | 0000 0000 0011 | Вычитание содержимого региара w из содержимого региара и размещение результата в соответавии с указателем d | subwf Reg, d | If (d == 1) Reg = Reg + (w " OxOFF) + 1 else w = Reg + (w " OxOFF) + 1 endif С = (Reg + (w " OxOFF) + 1) > OxOFF Z = ((Reg (w " OxOFF) + 1) i OxOFF == b DC == ((Reg S OxOF) + ((w OxOF) 8, OxOF) + 1) > OxOF | 0000 10df ffff | Перемена меаами старшего и младшего полубайтов регистра и размещение результата в соответствии с указателем d | swapf Reg, d | if (d == 1) Reg = ((Reg 8. OxOFO) » 4) + ((Reg 8, OxOF) « 4) else w = ((Reg 8, OxOFO) » 4) + ((Reg 8, OxOOF) « 4) endif | 0011 lOdf ffff | 0 ... 567891011 ... 159
|
|