PIC Assembly Komutları Nelerdir? Özellikleri ve Örnekler | Not Mekanı
Perşembe , Mayıs 28 2020
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 k Move Literal to W K sabit değerini W registerine yükler.
MOVLW h ‘0F’  

 

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

 

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

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

CLRF F Clear f f registerinin içeriğini siler (sıfırlar).
CLRF TRISA  

 

TRISA¬00000000
CLRW  

 

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

 

 

 

W¬00000000
COMF F,d Complement f F registerinin içindeki sayı terslenir. Yani tüm 1’ler 0, 0’lar 1 olur. Sonuç W veya f registerine yüklenir.
COMF SAY, 0  

 

SAY= 0011011 ise,

d=0                      W¬11001010

d=1 olsaydı          SAY¬11001010

DECF f,d Decrement f F 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.
DECF GIT,1  

 

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

d=1                          GIT¬2B

d=0 olsaydı              W¬2B

INCF f,d Increment f F 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.
INCF GIT, 0  

 

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

d=0                        W¬2D

d=1 olsaydı            GIT¬2D

BCF f,b Bit Clear f f registerinin içerisindeki sayının b.ninci bitini sıfırlar.
BCF PORTB,5  

 

PORTB = b’11111111′ ise,

PORTB¬b’ 11011111’

BSF f,b Bit Set f F registerinin içerisinde sayının b.ninci bitini 1 yapar.
BSF PORTA,3  

 

PORTA = b’ 00000000′ ise,

PORTA¬b’ 00001000’

RLF f,d Rotate Left f f 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.
RLF KAY,0  

 

 
RRF F,d Rotate Right f F 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.
RKF KAY,1  

 

 

 

 

 

 

 

SWAPF f,d Swap nibbles inf f registerinin içerisindeki ilk dört bit ile son dört biti yer değiştirir. Sonuç W veya f registerine yüklenir.
SWAPF DEG,1  

 

DEG = b’ 00101111′ ise,

d=1 olduğundan         DEG¬11110010

d=0 olsaydı                 W¬11110010’

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

GOTO k Go to address Program akışı k adresine dallanır.
GOTO DOMGU  

 

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

 

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 subrouitine Alt 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 W Program akışını alt programdan ana programa döndürür ve W registerine k sabitini yükler.
RETLW H’2F’  

 

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

 

Return From Interrupt Program akışını interrupt alt programından ana programa döndürür.
BTFSC f,b Bit Test F, Skip if Clear F registerinin b.inci bit’ini test eder. Eğer bu bit “0”sa program akışı bir sonraki komuta geçer.
BTFSC PORTA,2  

 

 

 

 

 

 

 

BTFSS f,b Bit Test F, Skip if Set F registerinin b.inci bit’ini test eder. Eğer bu bit “1”se program akışı bir sonraki komuta geçer.
BTFSS PORTA,0  

 

 

 

 

 

 

 

DECFSZ f,d Decrement f, Skip if Zero F 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.
DECFSZ SAYAC,!  

 

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

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

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

INCFSZ F,d Increment f, Skip if Zero F 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.
INCFSZ SAYAC, 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 mode Mikrodenetleyiciyi 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

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

 

W = b’ 10011101′ ise,

    b’ 00110001′ sabitin değeri

b’ 00010001′ AND işlemi sonucu

W¬b’ 00010001′

ANDWF f,d AND W with f W 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 ’

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

 

W =b’ 10000100′ ise

     b’ 00101000′ sabitin değeri

b’ 10101100′ OR sonucu ,

W ¬b’ 10101100’

IORWF f,d  

 

W registeri içeriği ile file registerin içeriğine OR işlemini uygular. Sonuç W veya f registerine yazılır.
IORWF TEST,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 ‘

XORLW k Exclusive OR Literal withW W registerin içeriği ile k sabitine XOR işlemini uygular. Sonuç W registerine yazılır.
XORLW b’ 00101000’  

 

W = b ‘ 00000000 ‘ ise

     b’ 00101000’ sabitin değeri

b’ 11010111″ XOR sonucu

W¬b’ 11010111′

XORWF<“ P.S- • ..• . – Exclusive OR W with f W register ile file register içeriğine XOR işlemini uygular. Sonuç W veya f registerine yazılır.
XORWF TEST,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ı

ADDWF f,d Add W with f W registerinin içeriğini f registeri ile toplar. Sonuç W veya f registerine yazılır.
ADDWF TOPLA,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’

ADDLW k Add Literal andW W registerinin içeriğini k sabit değeri ile toplar. Sonuç W registerine yazılır.
ADDLW H’ 2F’  

 

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

W¬h’ DF’

SUBLN k Subtract W from Literal K sabit değerinden W registeri içeriğini çıkarır. Sonuç W registerine yazılır.
SUBLW H’ 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.

SUBWF CIK,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 Operation Bir 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.