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

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

IORWF— Побитное «ИЛИ»Wи регистраf

Синтаксис

IORWF f, d

Операнды

Операция

Измен.

флаги

C, DC, Z

Описание

Выполняется побитное «ИЛИ» регистра W c содержимым регистра f. Результат помещается в регистр W, при d=0, или в f при d=1.

Пример

; w = 4 = 0b100, f(4)= 1 = 0b001

iorwf 4,0

; w = 5 = 0b101, f(4)= 4

MOVF— Пересылка регистраf

Синтаксис

MOVF f, d

Операнды

Операция

Измен.

флаги

Z

Описание

Содержимое регистра f пересылается само в себя при d=1 или в регистр W, при d=0. Такая, на первый взгляд избыточная и абсурдная команда, на практике используется для проверки регистра на ноль (с помощью флага Z).

Пример

; f(4)= 0, Z = 0

movf 4,1

; f(4)= 0, Z = 1

MOVLW— Пересылка константыk

Синтаксис

MOVLW k

Операнды

Операция

Измен.

флаги

Описание

Выполняется пересылка константы k в регистр W.

Пример

; w = 3

movlw 4

; w = 4

MOVWF— Пересылка из регистраWв регистрf

Синтаксис

MOVWF f

Операнды

Операция

Измен.

флаги

Описание

Выполняется пересылка содержимого регистра W в регистр f.

Пример

; w = 4, f(2) = 12

movwf 2

; f(2) = 4, w = 4

NOP— Простой

Синтаксис

NOP

Операнды

Операция

Измен.

флаги

Описание

В течение одного машинного цикла не выполняется никаких операций

Пример

nop

RETFIE— Возврат из подпрограммы с включением прерываний

Синтаксис

RETFIE

Операнды

Операция

Измен.

флаги

Описание

В счетчик команд PC записывается значение взятое из стека. Взводится флаг разрешения прерываний GIE. Команда выполняется за 2 машинных цикла.

Пример

org 004h ; прерывание передает управление

; по этому адресу

goto interrupt ; переходим к обработчику

...

interrupt:

...

retfie ; возвращаемся из обработчика

; с включением прерываний