PIC Assembly Komutları Nelerdir? Özellikleri ve Örnekler | Not Mekanı
Ana Sayfa / Ana Sayfa / PIC Assembly Komutları Nelerdir? Özellikleri ve Örnekler

PIC Assembly Komutları Nelerdir? Özellikleri ve Örnekler

PIC Assembly Komutları

PIC Assembly Yer Değiştirme veya Yükleme Komutları

Komut ve Örnekİngilizce tanımıTürkçe açıklaması
MOVLW kMove Literal to WK sabit değerini W registerine yükler.
MOVLW h ‘0F’ 

 

W<-OP
MOVF f,dMove ff registerinin içeriğini W veya f’e yükler.
MOVF TEST,0 

 

d=0 W¬TEST d=1 TEST¬TEST
MOVMF fMove W to fW registerin içeriğini f registerine yükler.
MOVWF PORTA PORTA¬W

PIC Assembly Register İçeriğini Değiştirme Komutları

CLRFFClear ff registerinin içeriğini siler (sıfırlar).
CLRFTRISA 

 

TRISA¬00000000
CLRW 

 

Clear WW registerin içeriğini siler (sıfırlar).
CLRW 

 

 

 

W¬00000000
COMFF,dComplement fF registerinin içindeki sayı terslenir. Yani tüm 1’ler 0, 0’lar 1 olur. Sonuç W veya f registerine yüklenir.
COMFSAY, 0 

 

SAY= 0011011 ise,

d=0                      W¬11001010

d=1 olsaydı          SAY¬11001010

DECFf,dDecrement fF registerinin içerisindeki sayıyı “1” eksiltir. Registerin içeriği h’00’ ise, “1” eksiltildiğinde h’FF’ olur. Sonuç W veya f registerine yazılır.
DECFGIT,1 

 

GIT=h’ 2C” ise 2C-1=2B

d=1                          GIT¬2B

d=0 olsaydı              W¬2B

INCFf,dIncrement fF registerinin içerisindeki sayıyı “1” artırır. Registerin içeriği h’ FF’ ise, “1” arttırıldığında h’ 00′ olur. Sonuç W veya f registerine yazılır.
INCFGIT, 0 

 

GIT=h’ 2C’ ise 2C+1=2D

d=0                        W¬2D

d=1 olsaydı            GIT¬2D

BCFf,bBit Clear ff registerinin içerisindeki sayının b.ninci bitini sıfırlar.
BCFPORTB,5 

 

PORTB = b’11111111′ ise,

PORTB¬b’ 11011111’

BSFf,bBit Set fF registerinin içerisinde sayının b.ninci bitini 1 yapar.
BSFPORTA,3 

 

PORTA = b’ 00000000′ ise,

PORTA¬b’ 00001000’

RLFf,dRotate Left ff registeri içerisindeki sayıyı bir pozisyon sola kaydırır. Registerden taşarak Carry bayrağına yazılan bit, LSB’ye yazılır. Sonuç W veya f registerine yüklenir.
RLFKAY,0 

 

 
RRFF,dRotate Right fF registeri içersindeki sayıyı bir pozisyon sağa kaydırır. Registerden taşarak Carry bayrağına yazılan bit, MSB’ye yazılır. Sonuç W veya f registerine yüklenir.
RKFKAY,1 

 

 

 

 

 

 

 

SWAPFf,dSwap nibbles inff registerinin içerisindeki ilk dört bit ile son dört biti yer değiştirir. Sonuç W veya f registerine yüklenir.
SWAPFDEG,1 

 

DEG = b’ 00101111′ ise,

d=1 olduğundan         DEG¬11110010

d=0 olsaydı                 W¬11110010’

PIC Assembly Program Akışını Kontrol Etme Komutları

GOTOkGo to addressProgram akışı k adresine dallanır.
GOTODOMGU 

 

Program, DÖNGÜ etiketinin yazıldığı yere dallanır ve buradan itibaren devam eder.
CALLkCall subroutineProgram akışı k etiketinin bulunduğu yerdeki alt programa dallanır.
CALLTIMER 

 

Program TIMER etiketinin yazıldığı alt program satırlarının başlangıcına dallanır ve buradan itibaren devam eder.
Return 

 

Return from subrouitineAlt program komutlarının en sonuna yazılan bu komut, program akışını ana programa geri döndürür.
RETLW Return with Literal in WProgram akışını alt programdan ana programa döndürür ve W registerine k sabitini yükler.
RETLWH’2F’ 

 

Alt programdan ana programa döndürür ve W registerine 2F yüklenir.
RETFIE 

 

Return From InterruptProgram akışını interrupt alt programından ana programa döndürür.
BTFSCf,bBit Test F, Skip if ClearF registerinin b.inci bit’ini test eder. Eğer bu bit “0”sa program akışı bir sonraki komuta geçer.
BTFSCPORTA,2 

 

 

 

 

 

 

 

BTFSSf,bBit Test F, Skip if SetF registerinin b.inci bit’ini test eder. Eğer bu bit “1”se program akışı bir sonraki komuta geçer.
BTFSSPORTA,0 

 

 

 

 

 

 

 

DECFSZf,dDecrement f, Skip if ZeroF registerinin içeriğini “1” azaltır. Register içeriği 0’sa bir sonraki komuta atlar. Sonuç W veya f registere yazılır.
DECFSZSAYAC,! 

 

SAYAC=h’ 2F’ ise 2F-1=2E

d=0 olsaydı          W¬h’ 2E’

d=1 olduğundan   SAYAC¬h’2E’

INCFSZF,dIncrement f, Skip if ZeroF registerinin içeriğini “1” arttırır. register içeriği “0”sa bir sonraki komuta atlar. Sonuç W veya f registere yazılır.
INCFSZSAYAC, 1 

 

SAYAC=h’ 2F’ ise 2F+1=30

d=1                    SAYAC¬h’ 30′

d=0                    W¬h’30”

PIC Assembly Mikrodenetleyici Kontrol Komutları

CLRWDT 

 

Clear VVatchdog

Timer

Watchdog timer’ı sıfırlar. Aynca vvatchdog timer’ın prescalar değerini de sıfırlar. Status bitlerinden TO ve PD’yi “1”yapar.
SLEEP 

 

Go into standby modeMikrodenetleyiciyi uyuma moduna geçirerek güç harcamasını azaltır. Microdenetleyici uyuma modundan reset, watchdog timer ve TOCKI girişi vasıtasıyla çıkar.

PIC Assembly Mantıksal Komutlar

ANDLWKAND Literal with WW registerin içeriği ile k sabitine AND işlemini uygular. Sonuç W registerine yazılır.
ANDLWb’ 0110001′ 

 

W = b’ 10011101′ ise,

    b’ 00110001′ sabitin değeri

b’ 00010001′ AND işlemi sonucu

W¬b’ 00010001′

ANDWFf,dAND W with fW registeri ile file register içeriğine AND işlemini uygular. Sonuç W veya f registerine yazılır.
 

ANDWF

 

TEST,1

 

 

 

W=b’ 11111111′ ise,

TEST=b’11011110” ise,

b’ 11011110′ AND işlemi sonucu

d=0 ise                   W¬b’ 11011110′

d=1 olduğundan     TEST¬b’ 11011110 ’

IORLWkInclusive OR Literal with WW registerin içeriği ile k sabitine OR işlemini uygular. Sonuç W registerine yazılır.
IORLWB-00101000- 

 

W =b’ 10000100′ ise

     b’ 00101000′ sabitin değeri

b’ 10101100′ OR sonucu ,

W ¬b’ 10101100’

IORWFf,d 

 

W registeri içeriği ile file registerin içeriğine OR işlemini uygular. Sonuç W veya f registerine yazılır.
IORWFTEST,1 

 

     W = b’ 10000100″ ise,

TEST = b’ 00101000’ ise,

b’ 10101100 ‘ OR sonucu

d=0 ise                 W¬b’ 10101100″

d=1 olursa            TEST¬b‘ 0101100 ‘

XORLWkExclusive OR Literal withWW registerin içeriği ile k sabitine XOR işlemini uygular. Sonuç W registerine yazılır.
XORLWb’ 00101000’ 

 

W = b ‘ 00000000 ‘ ise

     b’ 00101000’ sabitin değeri

b’ 11010111″ XOR sonucu

W¬b’ 11010111′

XORWF<“P.S- • ..• . –Exclusive OR W with fW register ile file register içeriğine XOR işlemini uygular. Sonuç W veya f registerine yazılır.
XORWFTEST,1 

 

     W = b’ 00000000′ ise,

TEST = b’ 00101000′ ise,

b’ 11010111″ XOR sonucu

d=0 ise                     W¬b’ 11010111″

d=1 olursa                TEST¬b’ 1101011’l’

PIC Assembly Aritmetik İşlem Komutları

ADDWFf,dAdd W with fW registerinin içeriğini f registeri ile toplar. Sonuç W veya f registerine yazılır.
ADDWFTOPLA,0 

 

W=h’ 2A’ ise, TOPLA=h ‘ 31′ ise, h’ 2A’+h’ 31’=b’ 5B’

d=1 ise                      TOPLA¬h’ 5B’

d=0 olduğundan        W¬h’ 5B’

ADDLWkAdd Literal andWW registerinin içeriğini k sabit değeri ile toplar. Sonuç W registerine yazılır.
ADDLWH’ 2F’ 

 

W=h’ B0’ ise, h’ B0’+h’ 2F’=h’ DF’

W¬h’ DF’

SUBLNkSubtract W from LiteralK sabit değerinden W registeri içeriğini çıkarır. Sonuç W registerine yazılır.
SUBLWH’ 90′ 

 

W=h’ 83’ ise h’ 90′-h’ 83′ = h’ 07’

W¬h’ 07’

 

SUBWF

 

f,d

 

Subtract W from file register

 

f registerinin içeriğinden W registerinin içeriğini çıkarır. Sonuç W veya f registerine yazılır.

SUBWFCIK,1 

 

W=h’ 83′ ise, CIK=h’ 90′ ise, h’ 90′-h’ 83’=h’ 07’

d=0 ise                         W¬h’ 07’

d=1 olduğundan           CIK¬h’07′

PIC Assembly İşlem Yapmayan Komut

NOP 

 

No OperationBir komut saykılı süresince hiçbir işlem yapmayan bir komuttur. Bir dahili komut süresinde çalışır. Bu nedenle zaman geciktirme işlemlerinde kullanılır.

Hakkında Admin

Blog Yazarı - Araştırmacı - Öğrenci

Bunları da Beğenebilirsin

Önemli Bilgilendirme

Anlaşmalı yönlendirme sitesine (asupload.com) teknik bir problemden dolayı erişim sağlanamamaktadır. Problemi en kısa sürede çözmeye …

Bir Yorum Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.