Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

GOTO — Переход по адресу

Читайте также:
  1. I. Переход
  2. АНАЛИЗ Статической устойчивости нерегулируемой электрической системы С УЧЕТОМ ЭЛЕКТРОМАГНИТНЫХ ПЕРЕХОДНЫХ ПРОЦЕССОВ В ОБМОТКЕ ВОЗБУЖДЕНИЯ. сАМОВОЗБУЖДЕНИЕ.
  3. Б) Многослойным переходным.
  4. Безусловный переход.
  5. Беседа VIII. Переходный возраст
  6. Будь целеустремлен. Всегда имей перед собой ясную цель. В стремлении достичь заветной цели, не переходи грань дозволенного. Никакая цель не может затмить моральной ценности».
Синтаксис 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; возвращаемся из обработчика ; с включением прерываний

RETLW — Выход из подпрограммы с загрузкой в регистр W константы k

Синтаксис RETLW k
Операнды
Операция
Измен. флаги  
Описание В регистр W загружается константа k. В счетчик команд PC загружается значение с вершины стека. Команда выполняется за 2 машинных цикла.
Пример ; w = 6 call subprogram ; w = 12 ... subprogram: nop retlw 12

RETURN — Выход из подпрограммы

Синтаксис RETURN
Операнды  
Операция
Измен. флаги  
Описание В счетчик команд PC загружается значение с вершины стека. Команда выполняется за 2 машинных цикла.
Пример ; w = 6 call subprogram ; w = 8 ... subprogram: addlw 2 return

RLF — Циклический сдвиг регистра f влево через флаг переноса С

Синтаксис RLF f,d
Операнды
Операция
Измен. флаги C
Описание Выполняется циклический сдвиг содержимого регистра f влево через флаг переноса. 0-й бит встает на место 1-го, 1-й на место 2-го и т.д. 7-й бит записывается в флаг переноса С, а затем из флага С в 0-й. В зависимости от операнда d результат операции записывается либо в регистре f, либо в регистре W.
Пример ; w = 12, f(4) = 135 = 0b10000111, c = 0 rlf 4,1 ; w = 12, f(4) = 16 = 0b00001111, c = 1 rlf 4,0 ; w = 30 = 0b00011110, f(4) = 16, c = 0

RRF — Циклический сдвиг регистра f вправо через флаг переноса С

Синтаксис RLF f,d
Операнды
Операция
Измен. флаги C
Описание Выполняется циклический сдвиг содержимого регистра f вправо через флаг переноса. 7-й бит встает на место 6-го, 6-й на место 5-го и т.д. 0-й бит записывается в флаг переноса С, а затем из флага С в 7-й. В зависимости от операнда d результат операции записывается либо в регистре f, либо в регистре W.
Пример ; w = 12, f(4) = 7 = 0b00000111, c = 0 rrf 4,1 ; w = 12, f(4) = 83 = 0b10000011, c = 1 rrf 4,0 ; w = 193 = 0b11000001, f(4) = 83, c = 1

SLEEP — Перейти в спящий режим

Синтаксис SLEEP
Операнды  
Операция
Измен. флаги  
Описание Команда сбрасывает флаг таймаута и устанавливает флаг спящего режима . Затем очищается регистр-счтчик сторожевого таймера и его предделитель если он настроен. После этого микроконтроллер переводится в спящий режим и тактовый генератор отключается.
Пример sleep

SUBLW — Вычитение W из константы k

Синтаксис SUBLW k
Операнды
Операция
Измен. флаги C, DC, Z
Описание Выполняется вычитание регистра W из 8-битной константы k. Результат помещается в регистр W.
Пример ; w = 3 sublw 5 ; w = 2

SUBWF — Вычитание W из регистра f

Синтаксис SUBWF f, d
Операнды
Операция
Измен. флаги C, DC, Z
Описание Выполняется вычитание регистра W из регистра f. Результат помещается в регистр W, при d=0, или в f при d=1.
Пример ; w = 4, f(3) = 6 subwf 3,0 ; w = 2

SWAPF — Обмен местами ниблов в регистре f

Синтаксис SWAPF f, d
Операнды
Операция
Измен. флаги  
Описание Выполняется обмен местами ниблов (четырехбитий) регистра f. Результат помещается в регистр W, при d=0, или в f при d=1.
Пример ; f(3) = 15 = 0b00001111 swapf 3,1 ; f(3) = 240 = 0b11110000

XORLW — Побитное «Исключающее ИЛИ» W и константы k

Синтаксис XORLW k
Операнды
Операция
Измен. флаги C, DC, Z
Описание Выполняется побитное «Исключающее ИЛИ» регистра W и 8-битной константы k. Результат помещается в регистр W.
Пример ; w = 3 = 0b11 xorlw 2; 0b10 ; w = 1; 0b01

XORWF — Побитное «Исключающее ИЛИ» W и регистра f

Синтаксис XORWF f, d
Операнды
Операция
Измен. флаги C, DC, Z
Описание Выполняется побитное «Исключающее ИЛИ» регистра W c содержимым регистра f. Результат помещается в регистр W, при d=0, или в f при d=1.
Пример ; w = 4 = 0b100, f(4)= 5 = 0b101 xorwf 4,0 ; w = 1 = 0b001, f(4)= 5  

Учебное издание

 

Дубров Игорь Александрович

Белошицкий Михаил Юрьевич

Попов Антон Николаевич

 

 


Дата добавления: 2015-07-08; просмотров: 285 | Нарушение авторских прав


Читайте в этой же книге: Написание текста программы на языке Ассемблер | Разработка алгоритма программы | Написание текста программы на языке Ассемблер | Режим широтно-импульсной модуляции | Приложение 3. Список команд PIC16 и их подробное описание | CALL — Вызов подпрограммы |
<== предыдущая страница | следующая страница ==>
CLRWDT — Сброс сторожевого таймера| FrankPOV

mybiblioteka.su - 2015-2024 год. (0.009 сек.)