PIC Assembly Komutları

Advertisement

  • Twitter
  • Facebook
  • Google+
  • Pinterest
  • Linkedin

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<-0F
MOVF     f,d Move f f registerinin içeriğini W veya f e yükler.
MOVF   TEST,0 d=0 W<-TEST d=1TEST<-TEST
MOVWF    f Move W to f W registerin içeriğini f registerine yükler.
MOVWF PORTA PORTA<-W

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<-11001010d=l 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” ise2C-l=2B d=l 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=l olsaydı GIT< 2D
BCF f,b Bit Clear f f registerinin içerisindeki sayının b.ninci bitini sıfirlar.
BCF PORTB,5 PORTB b’llllllll’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,O
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.
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,l DEG = b’ 00101111′ ise,d=l olduğundan      DEG<-11110010d=0 olsaydı            W<-11110010′

Program Akışını Kontrol Etme Komutları

GOTO k Go to address Program akışı k adresine dallanır.
GOTO DONGU Program, DONGU 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.
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.
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 SAYAÇ,1 SAYAC=h’2F’ ise 2F-1=2E d=0 olsaydı       W<-h’ 2E’d=1 olduğundanSAYAC<-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 SAYAÇ, 1 SAYAC=h’ 2F’ ise 2F+1=30 d=l              SAYAC<-h’ 30′ d=0                W<-h’30”

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.
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.
IORLW k Inclusive OR Literal withW W registerin içeriği ile k sabitine OR işlemini uygular. Sonuç W registerine yazılır.
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.
XORLW k Exclusive OR Literal withW W registerin içeriği ile k sabitine XOR işlemini uygular. Sonuç W registerine yazılır.
XORWF F,d 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.

Mikrodenetleyici Kontrol Komutları

CLRWDT Clear Watchdog Timer Watchdog timer’ı sıfırlar.
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.

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.
ADDLW k Add Literal andW W registerinin içeriğini k sabit değeri ile toplar. Sonuç W registerine yazılır.
SUBLW k Subtract W from Literal K sabit değerinden W registeri içeriğini çıkarır. Sonuç W registerine yazılır.
SUBWF f,d Subtract W from file register f registerinin içeriğinden W registerinin içeriğim çıkarır. Sonuç W veya f registerine yazılır.

İş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.

Leave a Reply

Your email address will not be published.
Required fields are marked *