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

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 ; возвращаемся из обработчика

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

Retlw – Выход из подпрограммы с загрузкой в регистр w константы k

Синтаксис

RETLW k

Операнды

Операция

Измен.

флаги

Описание

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

Пример

; w = 6

call subprogram

; w = 12

...

subprogram:

nop

retlw 12