ADDWF                               Сложение регистров W и f
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Синтаксис команды:   [имя метки]     ADDWF       f,d

Операнды:                                                   0 ≤ f ≤ 127

                                                                        dÎ [0,1]

Операция:                                                   (W) + (f) ® dest (приемник)

Изменяемые флаги:                                    C, DC, Z

Описание операции:                                  Сложить содержимое регистров W и f,

                                                                      результат остается в регистре W, если

                                                                      d = 0; если d = 1, результат остается в

                                                                      регистре f.

Двоичное отображение:           разряды: 13 12 11 10 09 08 07 06 05 04 03 02 01 00

                                             Содержание: 0 0 0 1 1 1 d f f f f f f f                                 

 

ADDLW                               Сложение регистра W с константой k

Синтаксис команды:     [имя метки]    ADDLW            k

Операнды:                                                    0 ≤ k ≤ 255

Операция:                                                     (W) + k ® (W)                                                                   

Изменяемые флаги:                                     C, DC, Z     

Описание операции:                                    Содержимое регистра W складывается с

                                                                        константой k, результат остается в W.

Двоичное отображение:                                11 111x  kkkk kkkk

 

ANDLW                                 Побитное «И» регистра W с константой k.

Синтаксис команды:     [имя метки]     ANDLW              k

Операнды:                                                     0 ≤ k ≤ 255

Операция:                                                      (W) .AND. k ® (W)

Изменяемые флаги:                                      Z

Описание операции:                                     Выполняется побитное «И» регистра (W) с

                                                                         8-разрядной константой k.

Двоичное отображение:                                11 1001 kkkk kkkk

 

ANDWF                                   Побитное «И» регистров W и f.

Синтаксис команды:      [имя метки]       ANDWF     f,d

Операнды:                                                         0 ≤ f ≤ 127

                                                                            d Î[0,1]

Операция:                                                           (W) .AND. f ® (dest)

Изменяемые флаги:                                         Z

Описание операции:                                        Побитное «И» регистров W и f, результат

                                                                            в регистре W, если d = 0 и в регистре f,

                                                                            если d = 1.

Двоичное отображение:                                   00 0101 dfff ffff    

 

BCF                                            Очистить бит b в регистре f.                   

Синтаксис команды:        [имя метки]       BCF      f,b

Операнды:                                                           0 ≤ f ≤ 127

                                                                              0 ≤ b ≤ 7

Операция:                                                             0 ® (f <b>)

Изменяемые флаги:                                             не

Описание операции:                                           Записывается 0 в бит «b» регистра f.

Двоичное отображение:                                     01 00bb bfff ffff          

 

BSF                                              Установить бит b в регистре f.

Синтаксис команды:         [имя метки]        BSF      f,b

Операнды:                                                            0 ≤ f ≤ 127

                                                                               0 ≤ b ≤ 7

Операция:                                                             1 ® (f<b>)

Изменяемые флаги:                                              нет

Описание операции:                                            Записывается 1 в бит «b» регистра f.

Двоичное отображение:                                      01 01bb bfff ffff              

BTFSC                                         Проверить бит b в регистре f, пропустить, если 0.

Синтаксис команды:           [имя метки]      BTFSC    f,b

Операнды:                                                            0 ≤ f ≤ 127

                                                                               0 ≤ b ≤ 7

Операция:                                                             пропустить, если <b> = 0

Изменяемые флаги:                                              нет

Описание операции:                                            Если бит «b» равен 1, то исполняется

                                                                               следующая команда в программе,

                                                                               если бит «b» равен 0, то следующая

                                                                               команда пропускается (исполняется

                                                                               NOP-операция). Вся команда

                                                                               выполняется за два машинных цикла.

Двоичное отображение:                                      01 10bb bfff ffff 

 

BTFSS                                            Проверить бит b в регистре f, пропустить, если 1.

Синтаксис команды:          [имя метки]          BTFSS       f,b

Операнды:                                                               0 ≤ f ≤ 127

                                                                                  0 ≤ b ≤ 7

Операция:                                                                пропустить, если <b> =1

Изменяемые флаги:                                                нет

Описание операции:                                               Если бит «b» равен 0, то выполняется

                                                                                  следующая команда в программе.           

                                                                                  Если бит «b» равен 1, то следующая

                                                                                  команда пропускается (исполняется

                                                                                     NOP-операция). Вся команда

                                                                                  выполняется за два машинных цикла.

Двоичное отображение:                                         01 11bb bfff ffff

 

CALL                                               Вызов подпрограммы.

Синтаксис команды:             [имя метки]         CALL          f

Опе6ранды:                                                               0 ≤ f ≤ 2047

Операция:                                                                 (PC) + 1 ® TOS

                                                                                   k ® PC <10:0>

                                                                                   (PCLATH <4:3> ® PC <12:11>

Изменяемые флаги:                                                 нет

Описание операции:                                               Вызов подпрограммы. Адрес

                                                                                  следующей команды помещается в

                                                                                  вершину стека. Константа загружается

                                                                                  в 11 младших разрядов счетчика

                                                                                  команд, два старших бита счетчика

                                                                                  загружаются из регистра PCLATH

                                                                                  (из разрядов <4:3> ).

Обозначения:                                                  TOS – вершина стека, PC – счетчик команд,

                                                                          PCLATH – специальный регистр для записи

                                                                          в старшие разряды счетчика команд.

Двоичное отображение:                                 10 0kkk kkkk kkkk

 

RETURN                                             Возврат из подпрограммы.          

Синтаксис команды:            [имя метки]    RETURN

Операнды:                                                             нет

Операция:                                                             TOS ® PC

Изменяемые флаги:                                              нет

Описание операции:                                            Возврат из подпрограммы в основную,

                                                                               содержимое вершины стека загружается

                                                                               в счетчик команд.

Двоичное отображение:                                      00 0000 0000 1000   

 

RETFIE                                   Возврат из подпрограммы с разрешением прерывания.

Синтаксис команды:            [имя метки]      RETFIE      

Операнды:                                                             нет

Операция:                                                              TOS ® PC

                                                                                1 ® GIE

Изменяемые флаги:                                               нет

Описание операции:                                             Возврат из подпрограммы. Вершина

                                                                                стека записывается в счетчик команд,

                                                                                разрешаются глобальные прерывания.

Двоичное отображение:                                       00 0000 0000 1001      

 

RETLW                         Возврат из подпрограммы сзаписью константы в регистр W.  

Синтаксис команды:             [имя метки]      RETLW        k

Операнды:                                                              0 ≤ k ≤ 255

Операция:                                                              TOS ® PC

                                                                                k ® (W)

Изменяемые флаги:                                              нет

Описание операции:                                             Возврат из подпрограммы. Константа k

                                                                                загружается в регистр W, вершина стека

                                                                                загружается в счетчик команд PC.

Двоичное отображение:                                      11 01xx  kkkk kkkk

   

 

Дата: 2019-04-23, просмотров: 238.