Главная »
Периодика »
Безопасность0 ...
9101112131415 ...
159 описание | команда | функция | |
JjJsecKoe ИЛИ (побитовое) конаанты с содержимым региара wreg | lorlw Constant | wreg = wreg 1 Constant if ((wreg 1 Constant) == 0x000) Z = 1 else Z = 0 | 1011 0011 kkkk kkkk |
Логическое ИЛИ содержимого региара с содержимым региара wreg, размещение результата в соответавии со значением указателя d | lorwf Reg, d | if (d == 1) Wreg = wreg Reg else Reg = wreg Reg If ((wreg 1 Reg) == 0x000) Z = 1 else Z = 0 | ООО lOOd ffff ffff |
«Длинный» переход (два никла) | Icall Label | PUSH ( PC ) PCL = Label (7:0) | 1011 0111 kkkk kkkk |
Пересылка содержимого региара в регистр из первичной облааи (00- IF) | movfp Reg, p | P = Reg | Ollp pppp ffff ffff |
Загрузка конаанты в младший полубайт региара выбора банка (BSR) | movlb Constant | BSR (3:0) = Constant | 1011 1000 0000 kkkk |
Зафузка константы ваарший полубайт региара выбора банка (BSR) | movlr Constant | BSR (7:4) = Constant | 1011 1010 kkkk 0000 |
Зафузка конаанты в региар wreg | movlw Constant | Wreg = Constant | 1011 0000 kkkk kkkk |
Пересылка содержимого решара первичной облааи (00 - IF) в заданный регистр | movpf p, Reg | Reg = p if (p == 0) Z = 1 else Z = 0 | OlOp pppp ffff ffff |
Пересылка содержимого •тед в заданный регистр | movwf Reg | Reg = wreg | 0000 0001 ffff ffff |
Умножение содержимого регистра wreg на константу | mullw Constant | PRODH:PROGL = Constant • wreg | 1011 1100 kkkk kkkk |
Умножение содержимого регистра на содержимое регистра wreg | mullwf Reg | PRODH:PROGL = Reg • wreg | 0011 0100 ffff ffff |
Описание | Команда | Функция | Код I |
Изменение знака содержимого региара wreg и размещение результата в соответавии со значением указателя s | negw Reg s | If (s == 0) Reg = -ytreg wreg = -wreg If ((wreg < 0) & (-wreg < 0x080)) OV = 1 else OV = 0 If (-wreg > OxOFF) С = 1 else С = 0 If ((-wreg «, OxOF) > OxOF) DC = 1 else DC = 0 If (-wreg == 0x000) Z = 1 else Z = 0 | 0010 110s ffff fft* |
«Пуаая» операция | | | 0000 0000 0000 0000 |
Возврат из прерывания (требуются два цикла) | retfie | PC = POP ( ) GLTIND = 0 | 0000 0000 0000 0101 |
Возврат из подпрограммы с загрузкой конаанты в региар wreg (требуются два цикла) | retlw Constant | Wreg = Constant PC = POP ( ) | 1011 0110 kkkk kkkk |
Возврат из подпрограммы (требуются два цикла) | return | PC = POP ( ) | 0000 0000 0000 0010 |
Циклический сдвиг (через бит переноса) содержимого региара влево и сохранение результата в соответавии со значением указателя d | rlcf Reg. d | If (d 0) Wreg (7 1)= Reg (6 0) Wreg (0) = С else Reg (7 1) = Reg (6 0) Reg (0) = С С = Reg (7) | 0001 lOld ffff fff |
Циклический сдвиг содержимого региара влево и сохранение результата в соответавии со значением указателя d | rlcnf Reg d | If (d == 0) Wreg (7 1) = Reg (6 0) wreg (0) = Reg (7) else Reg (7 1) = Reg (6 0) Req (0) = Req (7) | 0010 OOld ffff ffff |
Циклический сдвиг (через бит переноса) содержимого региара вправо и сохранение результата в соответствии со значением указателя d | rrcf Reg, d | If (d == 0) Wreg (6 0) = Reg (7 1) Wreg (7) = С С = Reg (0) else Reg (6 0) = Reg (7 1) Reg (7) = С С = Req (0) | 0001 lOOd ffff fftf |
Описание
Команда
функция
Циклический сдвиг содержимого регистра вправо и сохранение результата в соответствии со значением указателя d
rrcnf Reg d
If (d == 0)
Wreg (6 0) = Peg (7 1) Wreg (7) - Reg (01
else
Reg (6 0) = Reg (7 1) Req (7) = Reg (0)
0010 OOOd ffff ffff
Уаановка всех разрядов региара в 1 Сохранение результата в зависимости от значения указателя s
setf reg s
Reg = OxOFF If (s 0) Wreg = OxOFF
0010 101s ffff ffff
Переход в режим пониженной мощности SLEEP(на неопределенное время)
sleep
WDT = О
WDT Postscaler = О ГО = 1 Р0 - О
Мик;оконтроллер переводится с режим ожидания
0000 0000 0000 0011
Вычитание содержимого реплстра wreg из константы
sublw Constant
Wreg = Constant - wreg If (((wreg < 0) & (Consant < 0) i ((Constant - wreg) < OxOBO)) OV = 1 else OV = 0
If ((Constant - wreg) > OxOFF) С = 1 else С = 0
If (((Constant & OxOF) -Wreg «. OxOF)) > OxOF) DC = 1
else DC = 0
If (((Constant - wreg) «, OxOFF) == 0x000)
= 1 else Z = 0
1011 0010 kkkk kkkk
0 ...
9101112131415 ...
159