Главная »
Периодика »
Безопасность0 ...
10111213141516 ...
159Описание
Команда
функция
Вычитание содержимого
регистра wreg
из содержимого регистра
и размещение результата
в соответствии
со значением указателя d
subwf reg d
If (d == 1)
Wreg = Reg - wreg else
Reg = Reg - wreg If (((wreg < 0)
«, (Reg < 0))
«, (Reg - wreg) < 0x080) OV = 1 else OV = 0
If ((Reg - wreg) > OxOFF)
С = 1 else С = 0 If (((Reg «, OxOF) -
(wreg & OxOF)) > OxOF)
DC = 1 else DC = 0 If (((Reg - wreg) «, OxOFF) == 0x000)
Z = 1 else
Z = 0
0000 OlOd ffff ffff
Вычитание (с учетом
переноса) содержимого
регистра wreg
из содержимого регистра
и размещение результата
в соответствии
со значением указателя d
subwfb Reg d
If (d == 1)
Wreg = Reg - wreg - С else
Reg = Reg - wreg - C If (((Reg > 0) «. (wreg > 0) «. ((Reg - wreg) - C) < 0x080) OV = 1 else OV = 0
If ((Reg - wreg - C) >
OxOFF) С = 1 else С = 0 If (((Reg «, OxOOF) -
(wreg «, OxOF) - C)
> OxOF)
DC = 1 else DC = 0
if (((Reg - wreg - C) «, OxOFF) = = 0x000) Z = 1 else
Z = 0
0000 OOld ffff ffff
Перемена местами старшего и младшего полубайтов регистра и размещение результата в соответствии со значением указателя d
swapf Reg d
If (d == 1) Wreg =
((Reg «, OxOOF) « 4) + ((Reg «, OxOFO) » 4) else Reg =
((Reg «, OxOOF) « 4) + ((Reg & OxOFO) » 4)
0001 llOd ffff ffff
Г" Описание | Команда | Функция | |
:f56mWHoe чтение Считывание через табличный регистр TBLATH одного [двухбайтов (старшего или рзпшегй) содержимого ячейки программной памяти, определяемой табличным указателем TBLPTR (riRa-три цикла) | tablrd t 1 f | If (t == 1) F = TBLATH else F = TBLATH TBLAT = ProgMera (TBLPTR) If (1 == 1) TBLPTR = TBLPTR + 1 | 1010 lOti ffff ffff |
Табличная запись Запись содержимого регистра в ячейку профаммной памяти, задаваемой табличным указателем, через табличный регистр Если приемником является встроенная EEPROM, команда заканчивается только по прерыванию (выполняется за два цикла или до тех пор, пока не будет прерывания от таймера) | tablwt t 1 f | If (t == 0) TBLATL = f else TBLATH = f TBLAT = ProgMeiti (18LPTB) If (1 == 1) TBLPTR = TBLPTR + 1 | 1010 11ti ffff ffff |
Считывание содержимого табличного регистра (старшего или младшего байта) | tlrd t f | If (t == 1) F = TBLATH else f = TBLATL | 1010 OOtO ffff ffff |
Запись содержимого регистра в табличный регистр (старший или младший байт) | tlwt t f | If (t == 1) TBLATH = f else TBLATL - f | 1010 01t0 ffff ffff |
Проверка содержимого ре™стра и пропуск следующей команды, если содержимое равно нулю В случае пропуска требуются два цикла | tstfsz Reg | If Reg = = 0) PC = PC + 1 | 0011 0011 ffff ffff |
Исключающее ИЛИ содержимого регистра wreg с константой | xorlw Constant | wreg - wreg " Constant If ((wreg " Constant) == 0x000) Z = 1 else Z = 0 | 1011 0100 kkkk kkkk |
Исключающее ИЛИ содержимого регистра с содержимым регистра wreg и размещение результата в соответствии со значением указателя d | xorwf Reg d | If (d == 1) Wreg - wreg " Reg else Reg = wreg " Reg If ((wreg " Reg) == 0x000) Z = 1 else Z = 0 | 0000 110d ffff ffff |
СИСТЕМА КОМАНД МИКРОКОНТРОЛЛЕРОВ ПОДСЕМЕЙСТВА PIC 18СХХ
В табл. 4.5 приводится система команд микроконтроллеров PIC 18Схх имеющих ряд дополнительных функциональных возможностей по сравнению с микроконтроллерами других подсемейств.
Таблица 4.5
Сиаема команд микроконтроллеров PIC 18СхХ
Описание | Команда | Функция | Код - |
Спожение конаанты | addlw Constant | wreg = wreg + Constant | 0000 1111 kkkk кыГ" |
с"Одержимым | | If ((wreg > 0)& | |
регистра wreg | | (Constant > 0))«. | |
| | ((wreg + Constant) > | |
| | Ox07F)) | |
| | OV = 1 | |
| | else OV = 0 | |
| | If ((wreg + Constant) | |
| | > OxOFF) | |
| | С = 1 | |
| | else С = 0 | |
| | if ((wreg + Constant) | |
| | «.ОхООВО) 1= 0) | |
| | N = 1 | |
| | else N = 0 | |
| | If ((wreg & OxOF) + | |
| | (Constant «. OxOF)) | |
| | > OxOF) DC = 1 | |
| | else DC = 0 | |
| | If ((wreg + Constant) | |
| | «. OxOFF) == 0x000) | |
| | Z = 1 | |
| | else Z = 0 | |
Сложение | addwf Reg d a | If (d == 1) | 0010 Olda ffff ffff |
содержимого региара | | wreg = wreg + Reg | |
с содержимым регистра | | else | |
wreg и размещение | | Reg = wreg + Reg | |
результата | | If (((wreg > 0 «. (Reg > 0)) | |
в соответствии | | «. ((wreg + Reg) > 0x07F)) | |
со значением | | OV = 1 | |
указателя d | | else OV = 0 | |
Если а = 1, то при | | If ((wreg + Reg) & OxOBO) | |
доступе используется | | 1= 0) | |
регистр выбора банка, | | N = 1 | |
иначе - банк доступа | | else N = 0 | |
| If ((wreg + Reg) > OxOFF) r-1 | |
| | и - 1 else С = 0 | |
| | If (((wreg «. OxOF) + | |
| | (Reg & OxOF)) > OxOF) | |
| | DC = 1 | |
| | else DC - 0 | |
| | If (((wreg + Reg) «. OxOFF) | |
| | == 0x000) | |
| | Z = 1 | |
| | else Z - 0 | |
0 ...
10111213141516 ...
159