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

Pic* МБ нұсқауларының сипаттамасы

Жұмысты орындау тәртібі | Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат | Жұмысты орындау тәртібі | Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат | Зертханалық жұмыс тапсырмасы және берілгендер | Жұмысты орындау тәртібі | Зертханалық жұмыс тапсырмасы және берілгендер | Жұмысты орындау тәртібі | Зертханалық жұмыс тапсырмасы және берілгендер | Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат |


Читайте также:
  1. Асинхронды қозғалтқыштың жұмысшы сипаттамасы.
  2. К-100-90 турбинасының қысқаша сипаттамасы
  3. Оқитын пәннің сипаттамасы
  4. Оқитын пәннің сипаттамасы
  5. Оқу пәнінің сипаттамасы
  6. Озғалтқыштың шу сипаттамасының есебі

 

Нұсқауларда константа k символымен берілген. Нұсқаулар сипаттамасында оның орындалуы кезінде өзгеретін флагтар көрсетілген. Нұсқауларда d параметрі (dest) нәтиже қайда жазылатынын көрсетеді. Егер d=0 болса нәтиже Wрегистрінде сақталады. Егер d=1 болса, нәтиже f (file-сөзінен)регистрінде сақталады. Программаларды d параметрінде ‘0’ орнына ‘W’ жазуға, ал ‘1’ орнына ‘f’ жазуға болады.

Программаларды регистр адресінің орнына оның символдвқ атын жазған ыңғайлы. Мысалы, егер h’21’ адресіті регистр аты R1 болса, онда ADDWF f, d нұсқауын программада екі әдіспен жазуға болады: ADDWF h’21’, Wнемесе ADDWF R1, W.

ORG h’xx’ – бұл ассемблера көрсеткіші, осы өрнектен кейінгі код ЭППЗУ-дың h’xx’ адресінен басталатынын көрсетеді.

 


ADDLW - W мен тұрақтыны қосу

Синтаксис: [label] ADDLW k

Оперантар: 0 £ k £ 255

Операция: (W) + k à (W)

Өзгеретін флагтар: С, DC, Z

 

ADDWF - W және f –ты қосу

Синтаксис: [label] ADDWF f,d

Оперантар: 0£f£127

Операция: (W) + (f) -»(dest)

Өзгеретін флагтар: C, DC, Z

ANDLW- тұрақты мен W арасындағы бит бойынша (побитная) 'ЖӘНЕ' операцисы

Синтаксис: [labef] ANDLW k

Операндтар: 0£k£255

Операция: (W).AND. k à (W)

Өзгеретін флагтар: Z

 

ANDWF - W және f арасындағы бит бойынша 'ЖӘНЕ'

Синтаксис: [label] ANDWF f,d

Операндтар: 0 £ f £ 127

Операция: (W).AND. (f) à (dest)

Өзгеретін флагтар: Z

 

BCF - f регистріндегі b битін тазарту

Синтаксис: [label] BCF f,b

Операндтар: 0£f£127; 0£b<£

Операция: 0 à (f<b>)

Өзгеретінжолақша: Жоқ

BSF - f регистрінде b битін орнату

Синтаксис: [label] BSF f,b

Операндтар: 0£f£127; 0£b£7

Операция: 1àf<b>

Өзгеретін флагтар: Жоқ

BTFSC - f регистріндегі b битін тексеру, егер 0 болса келесі командадан өтіп кету

Синтаксис: [label] BTFSC f,b

Операндтар: 0£f£127; 0£b£7

Операция: егер (f<b>) = 0 болса келесі командадан өтіп кету

Өзгеретін флагтар: Жоқ

Сипаттамасы: Егер f регистріндегі b биті '1'-ге тең болса, онда келесі нұсқау орындалады. Егер f регистріндегі b биті '0'-ге тең болса, онда келесі нұсқау орындалмайды.

 

BTFSS- f регистріндегі b битін тексеру, егер (f<b>) = 1 болса келесі командадан өтіп кету

Синтаксис: [label] BTFSS f,b

Операндтар: 0£f£ 127: 0£b£7

Операция: егер b биті '0'-ге тең болса келесі нұсқау орындалады, ал '1'-ге тең болса, онда келесі нұсқау орындалмайды.

CALLішкі программаны шақыру

Синтаксис: [label] CALL

Операндтар: 0 £ k £ 2047

Операция: (PC)+1àTOS

kàPC<10:0>,

(PCLATH<4:3>)à PC<12:11>

Өзгеретін флагтар: Жоқ

Сипаттамасы: Ішкі программаны шақыру. Келесі команда адресі (РС+1) стектің ең жоғары жағына орналасады. Адрестің онбір биті команда кодынан команда санығышына (счетчигіне) РС<10:0> қондырылады. Екі үлкен биті PCLATH регистрінің комада санығышына РС<12:11> қондырылады. CALL командасы екі цикл орындалады.

 

CLRF - f-ті тазарту

Синтаксис: [label] CLRF

Операндтар: 0 £f £ 127

Операция: 00h à (f); 1 àZ

Өзгеретін флагтар: Z

Сипаттамасы: f регистрін тазарту және Z=1 флагын орнату.

 

CLRW - W регистрін тазарту

Синтаксис: [label] CLRW

Операндтар: Жоқ

Операция: 00h à (W), 1 à Z

Өзгеретін флагтар: Z

Сипаттамасы: W регистрін тазарту және Z=1 флагын орнату.

CLRWDT – WDT регистрін тазарту

Синтаксис: [label] CLRWDT

Операндтар: Жоқ

Операция: 00h à WDT,

00h à алдыңғы бөлгіш WDT,

1à -TO, 1 àPD

Өзгеретін флагтар: -TO, -PD

Сипаттамасы: CLRWDT командасы WDT- ны және алдыңғы бөлгішті де WDT-ға қосылып тұрса тазартады. Status регистрінде ТО және PD биттерін орнатады.

COMF - f инверсиясын алу.

Синтаксис: [label] COMF f,d

Операндтар: 0£f£127 dÎ [0,1]

Операция: (-f) à (dest)

Өзгеретін флагтар: Z

Сипаттамасы: f регистрінің барлық биттерінің инверсиясын алу.

 

DECF - f-ті 1-ге кеміту

Синтаксис: [label] DECF f,d

Операндтар: 0 £f £ 127 dÎ [0,1]

Операция: (f) - 1 -> (dest)

Өзгеретін флагтар: Z

DECFSZ - f-ті 1-ге кемітіп, егер 0 болса келесі командадан өтіп кету

Синтаксис: [label] DECFSZ f,d

Операндтар: 0 £f £127 dÎ [0,1]

Операция: (f) -1 à (dest);

Өзгеретін флагтар: Жоқ

Сипаттамасы: f регистрін декременттеу. Егер оның нәтижесі '0'-ге тең болмаса келесі жол орындалады, ал 0-ге тең болса келесі жол орындалмайды.

GOTO шартсыз өту операциясы

Синтаксис: [label] GOTO 0 £ k £ 2047

Операндтар:

Операция: Белгіге көшу

Өзгеретін флагтар: Жоқ

INCF - f –регистрін 1-ге өсіру

Синтаксис: [ label] INCF f,d

Операндтар: 0£f£127 dÎ[0,1]

Операция: (f) + 1 à (dest)

Өзгеретін флагтар: Z

INCFSZ - f-ті 1-ге өсіріп, егер 0 болса келесі командадан өтіп кету

Синтаксис: [label] DECFSZ f,d

Операндтар: 0 £f £127 dÎ [0,1]

Операция: (f) -1 à (dest);

Өзгеретін флагтар: Жоқ

Сипаттамасы: Егер оның нәтижесі '0'-ге тең болмаса келесі жол орындалады, ал 0-ге тең болса келесі жол орындалмайды.

IORLW - тұрақты және W арасындағы бит бойынша 'НЕМЕСЕ'

Синтаксис: [label] IORLW k

Операндтар: 0 £ k £ 255

Операция (W).OR. kà (W)

Өзгеретін флагтар: Z

 

IORWF- W және f арасындағы бит бойынша 'НЕМЕСЕ'

Синтаксис: [label] IORWF f.d

Операндтар: 0 £ f £127 dÎ [0,1]

Операция: (W).OR. (f)->(dest)

Өзгеретін флагтар: Z

 

MOVF- f мәнін жіберу

Синтаксис: [label] MOVF f.d

Операндтар: 0£f£127 dÎ [0,1]

Операция: (f) -> (dest)

Өзгеретін флагтар: Z

Сипаттамасы: f регистрінің мәні адресат регистріне ауысады. Егер d=0 болса, мәні W регистрінде сақталады.. Егер d=1 болса, мәні f регистрінде сақталады. d=1 мәні f регистрін 0-ге тексеру үшін қолданылады.

MOVLW- тұрақтыны W-ға жіберу

Синтаксис: [label] MOVLW k

Операндтар: 0 £ k £ 255

Операция: kà(W)

Өзгеретін флагтар: Жоқ

Сипаттамасы: Қолданылмайтын биттерге ассемблер '0' орнатады.

MOVWF - W -ны f-ке жіберу

Синтаксис: [label] MOVWF f

Операндтар: 0£f£127

Операция: (W) à (f)

Өзгеретін флагтар: Жоқ

NOP - операция жоқ

 

RETFIE - ішкі программадан үзуге рұқсатпен қайту

Синтаксис: [ label] RETFIE

Операндтар: Жоқ

Операция: TOS à PC, 1à GIE

Өзгеретін флагтар: Жоқ

Сипаттамасы: үзуді өңдейтін ішкі программадан қайту. TOS стегінің басы PC команда санағышқа қондырылады. GIE(INTCON<7>) толық үзуге рұқсат беру флагы '1'-ге орнатылады.

 

RETLW-тұрақтыны W регистрға орната ішкі программадан қайту

Синтаксис: [label] RETLW k

Операндтар: 0 £ k £ 255

Операция k à (W), TOS à PC

Өзгеретін флагтар: Жоқ

Сипаттамасы: W регистрына 8-разрядты тұрақты қондырылады. TOS стегінің басы PC команда санағышқа қондырылады.

 

RETURN - ішкі программадан қайту

Синтаксис: [label] RETURN

Операндтар: Жоқ

Операция: TOS à PC

Өзгеретін флагтар: Жоқ

Сипаттамасы: Ішкі программадан қайту. TOS стегінің басы PC команда санағышқа қондырылады.

RLF - f регистрін алмасу арқылы циклдық солға жылжыту

Синтаксис: [label] RLF f.d

Операндтар: 0£f£127 dÎ [0,1]

Операция: Сипаттамасын қара

Өзгеретін флагтар: С

Сипаттамасы: f регистрінің ішін status регистрінің С биті арқылы циклдық солға жылжыту орындалады.

 
 

RRF- f регистрін алмасу арқылы циклдық оңға жылжыту

Синтаксис: [label] RRF f,d

Операндтар: 0£f£127 dÎ [0,1]

Операция: Сипаттамасын қара

Өзгеретін флагтар: С

Сипаттамасы: f регистрінің ішін status регистрінің С биті арқылы циклдық оңға жылжыту орындалады.

 
 

SLEEP - SLEEP режиміне өту

Синтаксис: [label] SLEEP

Операндтар: Жоқ

Операция; 00h à WDT, 00h à алдыңғы бөлгіш WDT 1 à -ТО

0 à PD

Өзгеретін флагтар: -ТО, -PD

Сипаттамасы: PD - қорек көзі қосылу флагын '0'-ге орнату. ТО – WDT толу флагын '1'-ге орнату. WDT таймерін және оның алдыңғы бөлгішін тазарту. Микробақылауышты SLEEP режиміне ауыстырып, такттік генераторды өшіру.

SUBLW - тұрақтыдан W мәнін шегеру

Синтаксис: [label] SUBLW k

Операндтар: 0 £ k £ 255

Операция: k - W à W

Измен, флаги: C, DC, Z

SUBWF f-тен W мәнін шегеру

Синтаксис; [label] SUBWF f,d

Операндтар: 0£f£127 dÎ [0,1]

Операция: (f) –(W) à (dest)

Өзгеретін флатар: C, DC, Z

SWAPF - f регистріндегі жартыбайттарды алмастыру

Синтаксис: [label] SWAPF f.d

Операндтар: 0£f£127 dÎ [0,1]

Операция: (f<3:0>) à (dest<7:4>)

Өзгеретін флагтар: Жоқ

XORLW - W және тұрақты арасындағы бит бойынша 'НЕМЕСЕ-ні жоққа шығару '

Синтаксис: [ label] XORLW k

Операндтар: 0£k£255

Операция: (W).XOR. k à (W)

Өзгеретін флагтар: Z

XORWF- W және f арасындағы бит бойынша 'ЕРЕКШЕ НЕМЕСЕ'

Синтаксис: [label] XORWF f.d

Операндтар: 0£f£127 dÎ [0,1]

Операция: (W).XOR. (f) à (dest)

Өзгеретін флагтар: Z


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


<== предыдущая страница | следующая страница ==>
Status регистрі| Модуль TMR1 таймері

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