НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 16171819202122 ... 159


Описание

Команда

Реальные команды

функция

Пропуск следующей команды при отсугавии десятичного переноса

skpndc

btfsc STATUS DC

If (DC - 0) PC = PC + 1

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

skpnz

btfsc STATUS Z

If (Z == 0) PC = PC + 1

Пропуск последующей команды при наличии признака нуля

skpz

btfss STATUS Z

If (Z =- 1) PC - PC + 1

Вычитание переноса

из содержимого региара

subcf Reg d

btfsc STATUS С decf Reg d

If (C == 1) If (d =- 1) Reg - Reg 1 else w - Req 1

Вычитание десятичного переноса из содержимого регистра

subdcf Reg d

btfsc STATUS DC decf Reg d

If (DC == 1) If (d == 1)

Reg = Reg - 1 else w = Req - 1

«Тестирование» регистра на равенство содержимого нулю (установка признака нуля)

movfw Reg

movf Reg w

If (Reg =- 0) Z = 1

else Z - 0

АССЕМБЛЕР ФИРМЫ PARALLAX INC. ДЛЯ PIC-МИКРОКОНТРОЛЛЕРОВ

Фирма Parallax Inc разработала для PIC-микроконтроллеров язык программирования, известньпг под названием РА SM. Этот поп}лярньп1 ассемблер весьм-г1 схож с ассембтером микроконтроллеров семейства Intel 8051 Ассемблер PASM также поддерживает формат команд ассемблера MPASM (стандартный макроассемблер фирмы Microchip)

Некоторые из команд создавались специально для микрокон троллеров PICmicro® младшего подсемег1ства, о чем имеются соответствующие упоминания в табл 4.9. Эти команды не рекомендуется использовать при работе с микроконтроллерами среднего под семей ства, иначе могут возникнуть неожиданные и нежелательные изменения содержимого регистров w и STATUS

Подробную информацию о языке программирования PASM мож но получить на Web-сайте фирмы Parallax Inc В приведенной ниже табл. 4 7, содержащей набор базовых команд PASM, использованы следующие обозначения:

# - константы;

f г - регистр файла.



Команды

Функция

Число

флаги.

Реальные

PASM

циклов

действие

команды

Байт-ориент

лрованные команды

Clr Pa ГШ

Обнуление (сброс)

w = 0

clrw

fr = 0

clr fr

WDT - 0

clrwdt

MOV Farm

Перемещение данных

w »

w - «

movlw «

w f r

w - fr

movf fr w

w /fr

* = fr OxOFF

comf fr w

w f r-w

w - fr + (w "

OxOFF) + 1

subwf fr w

w ++f r

w - fr + 1

incf fr w

w -fr

w - fr 1

decf fr w

w »f r

w = fr >> 1

rrf fr w

w «fr

w - fr << 1

rlf fr w

W Of r

w NibSwap fr

swapf fr w

fr w

fr = w

movwf fr

iport w

TRIS - w

TRIS Port

iPort «

TRIS = #

movlw Й TRIS Port

iPort fr

TRIS - fr

movf r w TRIS Port

OPTION w

OPTION = w

OPTION

OPTION «

OPTION = «

movlw Й OPTION

OPTION fr

OPTION - fr

movf fr w OPTION

fr «

fr - «

movlw Й movwf fr

fr2 fr2

fr = fr2

movf fr2 w movwf fr

ADD Pariii

Сложение двух величин

w fr

w - w + fr

addwf fr w

fr w

fr = w + fr

addwf fr f

fr «

fr = fr + «

С DC

movlw « addwf fr f

fr fr2

fr - fr + fr2

С DC

mov fr2 w addwf fr f

SUB Parm

Вычитание

fr w

fr - fr + (w "

OxOFF) + 1

subwf fr f

fr e

fr = fr + (« "

OxOFF) + 1

С DC

movlw Й subwf fr f

r fr2

fr - fr + (« "

OxOFF) + 1

С DC

movf fr2 w

subwf fr f

AND Parm

Логическое И

w «

w = w 4 #

andlw «

w fr

w - w 4 fr

andwf fr w

fr w

fr = w 4 fr

andwf fr f

fr «

fr - fr & #

movlw # and fr f

fr fr2

fr = fr & fr2

movf fr2 w andwf fr f



команды pasm

функция

число циклов

флаги, действие

реальные команды

байт-ориентированные команды

OR Parm

Логическое ИЛИ

w »

w = w 1 «

lorflw »

w f г

w = w 1 fr

lOrwf fr w

f г w

fr = fr 1 w

lOrwf fr f

fr «

fr = fr 1 «

w Z

movlw Й lOrwf fr f

fr fr2

fr = fr 1 fr2

w Z

movf fr2 w lorwf fr f

XOR Parm

Исключающее ИЛИ

w #

w = w ~ #

xorlw #

w fr

w = w " fr

xorwf fr w

f r w

fr =fr " w

xorwf fr f

fr «

fr = fr " «

w Z

movlw Й xorwf fr f

fr fr2

r = fr fr2

w Z

movf fr2 w xorwf fr "

OEC Parm

Декрементирование содержимого региара

fr = fr - 1

decf fr f

INC Parm

Инкрементирование содержимого региара

fr = fr + 1

incf fr f

NEC Parm

Арифметическое дополнение

(изменение знака)

comf fr f

fr = 0 - fr

incf fr f

NOT Parm

Инвертирование кода

W = W " OxOFF

xorlw OxOFF

fr = fr OxOFF

comf fr

TEST Parm

Проверка на равенство

нупю

lorlw 0

Z = (W - 0) Z = (fr == 0)

movf fr f

RR parm

Циклический сдвиг содержимого регистра

вправо

fr = fr » 1

rrf fr f

RL Parm

Циклический сдвиг содержимого регистра

влево

fr = fr « 1

rlf fr f

SWAP Parm

Смена местами полубайтов

fr = fr о fr

swapf fr, f

бит-ориентированные команды

CLRB fr bit

fr bit = 0

bcf fr bit

SETB fr bit

fr bit = 1

bsf fr bit

Carry = 0

bcf STATUS с

Carrv = 1

bsf STATUS с

Zero = 0

bcf STATUC Z



0 ... 16171819202122 ... 159