Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ОМТ.doc
Скачиваний:
17
Добавлен:
19.11.2019
Размер:
3.88 Mб
Скачать

Decf – Декремент регистра f

Синтаксис

DECF f,d

Операнды

Операция

Измен.

флаги

C, DC, Z

Описание

Инвертируются все биты регистра f

Пример

; f(4) = 7, w = 1

decf 4,0

; f(4) = 7, w = 6

Decfsz – Декремент регистра f и пропуск в случае нулевого результата

Синтаксис

DECFSZ f,d

Операнды

Операция

Измен.

флаги

Описание

Первым шагом происходит декремент регистра f и запись полученного результата в f или W в зависимости от операнда d. На втором шаге, если результат первого шага оказался нулевым, происходит инкремент регистра-счетчика команд PC, тем самым вызывая пропуск следующей команды.

Пример

; f(7) = 6, w = 0

loop:

addlw 3

decfsz 7,1

goto exit_loop

goto loop

exit_loop:

; f(7) = 0, w = 18

Goto – Переход по адресу

Синтаксис

GOTO k

Операнды

Операция

Измен.

флаги

Описание

В 11 младших бит счетчика программы PC загружается константа k. Два старших бита загружаются в счетчик команд из регистра PCLATH. Выполнение команды занимает 2 машинных цикла.

Пример

; w = 0

goto skip

addlw 5

skip:

addlw 3

; w = 3

Incf – Декремент регистра f

Синтаксис

INCF f,d

Операнды

Операция

Измен.

флаги

C, DC, Z

Описание

Инвертируются все биты регистра f

Пример

; f(4) = 7, w = 1

incf 4,0

; f(4) = 7, w = 8

Incfsz – Декремент регистра f и пропуск в случае нулевого результата

Синтаксис

INCFSZ f,d

Операнды

Операция

Измен.

флаги

Описание

Первым шагом происходит инкремент регистра f и запись полученного результата в f или W в зависимости от операнда d. На втором шаге, если результат первого шага оказался нулевым, происходит инкремент регистра-счетчика команд PC, тем самым вызывая пропуск следующей команды.

Пример

; f(7) = 254, w = 0

loop:

addlw 3

incfsz 7,1

goto exit_loop

goto loop

exit_loop:

; f(7) = 0, w = 6

Iorlw – Побитное «или» w и константы k

Синтаксис

IORLW k

Операнды

Операция

Измен.

флаги

C, DC, Z

Описание

Выполняется побитное «ИЛИ» регистра W и 8-битной константы k. Результат помещается в регистр W.

Пример

; w = 3 = 0b11

iorlw 4 ; 0b100

; w = 7 ; 0b111