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. | |
Vote verildi geri dönüşlerini rica ediyorum 😊