16F84 ve 16F87X ailesinde aynı komut seti kullanılır. Sette 35 komut vardır. Komutlar üç grupta incelenir; bit, byte ve sabit/kontrol işlemleri.
Komut
Biçimleri (Formatları)
Genel
Komut Biçimleri:
- Byte
     Yönlendirmesi Yapan Kaydedici İşlemleri
(d=0 için hedef W, d=1 için
hedef f, f=7 bit kaydedici adresi)
| 
13            
  8 | 
7 | 
6           
  0 | 
| 
İŞLEM
  KODU | 
d | 
f
  (kaydedici) | 
- Bit
     Yönlendirmesi Yapan Kaydedici İşlemleri
(b=3 bit adres, f=7 bit
kaydedici adresi)
| 
13          
  10 | 
9         
  7 | 
6   
          0 | 
| 
İŞLEM KODU | 
b (bit no) | 
f (kaydedici) | 
- Denetim veya
     Sabit/Sayısal (literal) İşlemleri
| 
13              
  8 | 
7          
  0 | 
| 
İŞLEM KODU | 
k (sabit) | 
Yalnızca call ve goto komutlarında
kullanılan biçim
| 
13          
  11 | 
10                
  0 | 
| 
İŞLEM KODU | 
k (sabit) | 
KOMUTLARIN KULLANILIŞI
ADDLW                     
Bir sayı/sabit ile W’nin içeriğini topla
Söz dizim
kuralı        :
[etiket]      
ADDLW         k
İşleçler                  
: 0 ≤ k ≤ 255
İşlevi                    
: (W) + k à (W)
Status
etkisi            : C,
DC, Z
Tanımı                   
: W’nin içeriğini 8 bitlik k sabiti ile toplar ve sonucu W’ye aktarır.
Örnek:
ADDLW        
h’FF’   ; Komuttan önce k=h’FF’ ve W=h’01’ ise,komut çalıştırıldıktan
sonra
                           
; W=00h olur. Toplam sonucu, FFh’tan büyük olduğu zaman, elde
                           
; biti, STATUS kaydedicisinin içinde C-Carry bitinde (STATUS, 0)
; tutulur. W kaydedicisinin içeriği (değeri) sıfırsa, status
; kaydedicisinin zero biti de 1 (set zero flag) yapılır.
ADDWF                     
Bir kaydedici içeriği ile W’nin içeriğini topla
Söz dizim
kuralı        :
[etiket]      
ADDWF         f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (W) + f à (hedef) 
                           
   d=0 ise hedef W kaydedicisidir, d=1 ise f kaydedicisidir.
Status
etkisi            : C,
DC, Z
Tanımı                   
: W’nin içeriğini, 7 bitlik f ile toplar ve sonucu; d=0 ise W’ye, d=1
  
ise f’ye aktarır.
Örnek:
ADDLW        
f,0      ; Bu komuttan önce W=h’10’, f=h’10’ ise
komuttan sonra
                           
; W=20h ve f=10h olur. 
ADDWF        
f,1      ; Bu komuttan önce W=h’10’, f=h’10’ ise
komuttan sonra
; W=10h ve f=20h olur. 
ANDLW                     
Bir sayı ile W’nin içeriğine AND (ve) işlemini uygula
Söz dizim
kuralı        :
[etiket]      
ANDLW         k
İşleçler                  
: 0 ≤ k ≤ 255
İşlevi                    
: (W) AND k à (W)
Status
etkisi            : Z
Tanımı                   
: W’nin içeriğini k ile AND’le ve sonucu W’ye aktar.
Örnek:
ANDLW        
h’01’   ; Bu komuttan önce W=h’01’ ise, komut VE işlemini uygular.
Komut
                           
; sonucu W=h’01’ olur. İşlem sonucunda, 0 değeri elde edilirse,
                   
; status kaydedicisinin zero biti 1 yapılır.
ANDWF                     
Kaydedici içeriğini, W’nin içeriği ile AND’le
Söz dizim
kuralı        :
[etiket]      
ANDWF         f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (W) AND f à (hedef)       
                           
   d=0 ise hedef W kaydedicisidir, d=1 ise f kaydedicisidir.
Status
etkisi            : Z
Tanımı                   
: W’nin içeriğini f kaydedicisinin içeriği ile AND’le ve sonucu; d=0 ise
  
W’ye, d=1  ise f’ye yükle.
Örnek:
ANDLW        
f,0      ; Bu komuttan önce W=h’03’, f=h’07’ ise
komuttan sonra
                           
; W=02h ve f=07h olur. 
ANDWF        
f,1      ; Bu komuttan önce W=h’03’, f=h’07’ ise
komuttan sonra
; W=03h ve f=02h olur. 
Not
1                    
: AND işlemi sonucu, h’00’ olsaydı STATUS register’ının 2.biti olan Z
   biti 1 (Set) yapılırdı.
Not
2                    
: AND mantıksal işleminin maskeleme özelliği vardır. Mantıksal
  durumunun değişmesini istemediğimiz bitleri, 1 ile
AND’lersek,
  diğer bitler 0 olurken maskelediğimiz bitler değişmez.
BCF                           
Kaydedicinin belirlenen bitini sıfırla
Söz dizim
kuralı        :
[etiket]      
BCF        f,b
İşleçler                  
: 0 ≤ f ≤ 127           0 ≤ b
≤ 7
İşlevi                    
: 0 à f(b)
Status
etkisi            : Yok
Tanımı                   
: f kaydedicisinin b.bitini 0 yap.
Örnek:
BCF    PORTD,0      
; Komutu çalışınca PORTD kaydedicisinin ilk biti 0 yapılır.
PORTD’nin                        
; 0.bitine bağlı bir led yanıyorsa, bu komutla söndürülür.
BSF                           
Kaydedicinin belirlenen bitini bir (set) yap
Söz dizim
kuralı        :
[etiket]      
BSF        f,b
İşleçler                  
: 0 ≤ f ≤ 127           0 ≤ b
≤ 7
İşlevi                    
: 1 à f(b)
Status
etkisi            : Yok
Tanımı                   
: f kaydedicisinin b.bitini 1 (set) yap.
Örnek:
BSF    PORTD,0      
; Komutu çalışınca PORTD kaydedicisinin ilk biti 1 yapılır.
PORTD’nin                        
; 0.bitine bağlı bir led yanıyorsa, bu komutla yakılabilir.
BTFSC                                   
Kaydedicinin belirlenen biti 0 ise, bundan sonraki komutu atla
Söz dizim
kuralı        :
[etiket]      
BTFSC        f,b
İşleçler                  
: 0 ≤ f ≤ 127           0 ≤ b
≤ 7
İşlevi                    
: 0 à f(b)
Status
etkisi            : Yok
Tanımı                   
: f kaydedicisinin b.bitinin 0 olup olmadığı kontrol edilir. Eğer 0 ise
  bu komutun altındaki komut işlemez, bir sonraki komuta
sapılır.
  Aksi durumda ise sıradaki komut uygulanır.
Örnek:
Basla
    
BTFSC PORTB,0  ; Komut çalışınca PORTB kaydedicisinin ilk bitinin 0 olup
olmadığı
; kontrol
edilir. Eğer 0 ise komutun hemen altındaki komut işlenmez
; bir
sonraki komuta sapılır. Aksi durumda ise sıradaki komut
;
uygulanır.
    
GOTO Basla        ; PORTB’nin 0.biti 0
değilse işlenecek, tekrar başa dönecek.
    
BSF PORTB,1      ; PORTB’nin 0.biti 0 olunca
işlenecek, aynı bit bu komutla 1
;
yapılacak. Eğer pinde led varsa yanacak. Böylece pinde; bir kare
; dalga
(sinyal) oluşur.
BTFSS                       
Kaydedicinin belirlenen biti 1 ise, bundan sonraki komutu atla
Söz dizim
kuralı        :
[etiket]      
BTFSS        f,b
İşleçler                  
: 0 ≤ f ≤ 127           0 ≤ b
≤ 7
İşlevi                    
: 1 à f(b)
Status etkisi           
: Yok
Tanımı                   
: f kaydedicisinin b.bitinin 1 olup olmadığı kontrol edilir. Eğer 1 ise
  bu komutun altındaki komut işlemez, bir sonraki komuta
sapılır.
  Aksi durumda ise sıradaki komut uygulanır.
Örnek:
Basla
BTFSS PORTA,0
GOTO Basla
BSF PORTB,1
BTFSC STATUS,0
BTFSC STATUS,2
CALL                         
Altprogramı çağır
Söz dizim
kuralı        :
[etiket]       CALL  
         k
İşleçler                  
: 0 ≤ k ≤
2047                 
İşlevi                    
: (PC) + 1 à TOS    
                           
   PC: Program Sayacı (Program Counter)
                           
   TOS: Yığının üstü (Top of Stack)
                           
   k à (PC <10:0>)
                           
   PCLATH <4:3> à PC
<12:11>                      
  
Status
etkisi            : Yok
Tanımı                   
: Altprogramı çağırır. Önce PC’yi bir artırır ve yığının (stack) üstüne
  
koyar. Sonra altprogram adresi PC’nin <10:0> bitlerine yüklenir. 
  
PCLATH’ın <4:3> bitlerindeki değerler, PC’nin üst bitleri olan
  
<12:11> arasındaki bitlere yüklenir. CALL işlemi iki saat
  
çevriminde uygulanan bir dallanma komutudur.
Örnek:
REF1  
CALL  Gonder ; Bu komuta gelindiğinde PC bir artırılarak TOS’e konur.
TOS’da
 ;
REF1’in adresi vardır. Böylece, TOS’te komut uygulandıktan sonra
 ;
dönülecek adres oluşturulmuş olur. Bundan sonraki aşamada
 ;
PC’ye Gonder altprogramının adresi oluşturulur yani altprograma
 ;
sapılır. Altprogram komutları sırası geldikçe uygulanacak
;
altprogramı sonlandıran RETURN ile birlikte, TOS’teki değer PC’ye
; geri
yüklenecektir ki bundan sonraki komut uygulanabilsin.
; RETURN
uygulandığında, TOS’deki adres PC’ye yüklenir.
;
PCLATH’ın <4:3> bitleri ise bellek sayfalarının değerini içerdiği için
; üst
bitlere yüklenerek altprogramın bulunduğu adrese doğru
;
sapılması sağlanır.
CLRF                         
Kaydedici içeriğini sil (sıfırla)
Söz dizim
kuralı        :
[etiket]       CLRF   
    f
İşleçler                  
: 0 ≤ f ≤ 127          
İşlevi                    
: h’00’ à f             
1 à Z
Status
etkisi            : Z
Tanımı                   
: f kaydedicisinin içeriği sıfırlanır ve değeri sıfır olduğu için STATUS
  
kaydedicisinin zero biti 1 (set) yapılır.
Örnek:
CLRF   TRISD 
         ;D Portunun yönlendiricisi
olan TRISD kaydedicisinin tüm bitleri sıfır
; yapılmıştır. Böylece D portu çıkış olarak belirlenmiştir.
TRISD’nin
; sıfırlanması sonucu STATUS kaydedicisinin zero biti de set
; edilmiştir.
CLRW                        
W Kaydedicisinin içeriğini sil (temizle)
Söz dizim
kuralı        :
[etiket]       CLRW
İşleçler                  
: Yok           
İşlevi                    
: h’00’ à (W)          1 à Z
Status
etkisi            : Z
Tanımı                   
: W kaydedicisinin içeriği sıfırlanır ve değeri sıfır olduğu için STATUS
  
kaydedicisinin zero biti 1 (set) yapılır.
Örnek:
CLRW          
         ; W kaydedicisi temizlendi. STATUS
kaydedicisinin zero biti de set
; edilmiştir.
CLRWDT                    
Watchdog Timer içeriğini sil (temizle)
Söz dizim
kuralı        : [etiket]      
CLRWDT
İşleçler                  
: Yok           
İşlevi                    
: h’00’ à WDT         0 à WDT (ön
bölücü sabit)
                           
  1 à TO       1 à PD
Status
etkisi            : TO,
PD
Tanımı                   
: W kaydedicisinin içeriği sıfırlanır ve değeri sıfır olduğu için STATUS
  
kaydedicisinin zero biti 1 (set) yapılır.
Örnek:
CLRWDT         
       ; Komut uygulanmadan önce WDT’nin içeriği
ne olursa olsun, komut
;
çalıştırıldıktan sonra WDT sayacı ve ön bölücüsü 0’lanır (reset).
; Aynı
zamanda TO, PD (Time Out ve Power Down) bitleri 1 olur.
COMF                        
Kaydedici içeriğinin tersini (komplementini) al
Söz dizim
kuralı        :
[etiket]       COMF 
         f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: f à (hedef)
Status
etkisi            : Z
Tanımı                   
: f kaydedicisinin içeriği terslenir ve d=0 ise sonuç W’ye, d=1  ise
  f’ye yüklenir.
Örnek:
COMF          
f,0      ; Bu komuttan önce W=h’02’, f=h’01’ ise
komuttan sonra
                           
; W=h’FE’ ve f=h’01’ olur. 
COMF          
f,1      ; Bu komuttan önce W=h’02’, f=h’01’ ise
komuttan sonra
; W=h’02’ ve f=h’FE’olur. 
DECF                         
Kaydedici içeriğini bir azalt
Söz dizim
kuralı        :
[etiket]       DECF  
         f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (f) - 1 à (hedef)  
Status
etkisi            : Z
Tanımı                   
: f kaydedicisinin içeriği bir azaltılır ve d=0 ise sonuç W’ye, d=1  ise
 
f’ye yüklenir.
Örnek:
DECF   SAYAC,0       ;
Sayacın içindeki değer her ne ise, bir azaltılır ve sonuç d=0 ise
; W’ye,
d=1 ise SAYAC kaydedicisine yüklenir.
DECFSZ                    
Kaydedici içeriğini bir azalt, 0 oldu ise bir komut atla
Söz dizim
kuralı        :
[etiket]       DECFSZ  
     f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (f) - 1 à (hedef)            
sonuç=0 ise atla
Status
etkisi            : Yok
Tanımı                   
: f kaydedicisinin içeriği bir azaltılır ve sonuçta oluşan değer sıfır ise,
  bu komutu izleyen komut atlanır. Sonuçta d=0 ise W’ye, d=1
ise
  f’ye yüklenir. Komut atlamayla sonuçlanırsa, ikinci çevrim
  süresinde NOP uygulayarak, toplam iki saat çevrim süresinde
  işlenir. Atlama olmadığı durumda uygulanması bir saat
çevrimi
  süredir.
Örnek:
Azalt
    
DECFSZ SAYAC,1          ; SAYAC 1
azaltılır, sonuç 0 ise BSF komutuna atlanır.
    
GOTO Azalt        ; Sonuç 0 değilse Azalt
etiketine sapılır.
    
BSF PORTB,1      ; Sonuç 0 ise PORTB’nin 1.biti set
(1) edilir.
GOTO                        
Adrese git
Söz dizim
kuralı        :
[etiket]       GOTO  
        k
İşleçler                  
: 0 ≤ k ≤ 2047        
İşlevi                    
: k à PC
<10:0>
                           
   PCLATH <4:3> à PC
<12:11>                      
  
Status
etkisi            : Yok
Tanımı                   
: GOTO koşulsuz bir sapma komutudur. k’nın adresi neyse PC’ye
  
<10:0> bitlerine yüklenir. Bellek sayfası neyse PCLATH’ın
<4:3>  
  
bitleri PC’nin üst bitlerine yüklenir ve adrese sapılır. Bu komut iki
  
saat sürede uygulanır.
Örnek:
Tası   
GOTO  Bas     ; Komuttan önce PC’da Tası etiketinin
adresi vardır. Komut
;
çalıştırıldıktan sonra ise PC’de Bas etiketinin adresi oluşur.
INCF                          
Kaydedici içeriğini bir arttır
Söz dizim
kuralı        :
[etiket]       INCF  
          f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (f) + 1 à (hedef)           
Status
etkisi            : Z
Tanımı                   
: f kaydedicisinin içeriği bir arttırılır ve d=0 ise W’ye, d=1 ise
f’ye   
yüklenir.
Örnek:
INCF  
SAYAC,0       ; Sayacın içindeki değer her ne ise
bir arttırılır ve sonuç d’nin 0
; olması
durumunda W’ye, aksi halde f’ye yüklenir. Sonucun kendisi
; 0 ise Z
biti 1 yapılır.
INCFSZ                     
Kaydedici içeriğini bir arttır, 0 oldu ise bir komut atla
Söz dizim
kuralı        :
[etiket]       INCFSZ  
      f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (f) + 1 à (hedef)           
sonuç=0 ise atla
Status
etkisi            : Yok
Tanımı                   
: f kaydedicisinin içeriği bir arttırılır ve sonuçta oluşan değer sıfır ise,
bu komutu
izleyen komut atlanır. Sonuçta d=0 ise W’ye, d=1 ise f’ye yüklenir. Komut
atlamayla sonuçlanırsa, ikinci çevrim süresinde NOP uygulayarak, toplam iki
saat çevrim süresinde işlenir. Atlama olmadığı durumda uygulanması bir saat
çevrimi süredir.
Örnek:
Artır 
    
INCFSZ SAYAC,1 ; SAYAC 1 artar, sonuç 0 ise BSF komutuna atlanır.
    
GOTO Artır         ; Sonuç 0 değilse
Artır etiketine sapılır.
    
BSF PORTB,1      ; Sonuç 0 ise PORTB’nin 1.biti set
(1) edilir.
IORLW                      
Bir sayı ile W’nin içeriğine OR (veya) işlemini uygula
Söz dizim
kuralı        :
[etiket]       IORLW  
       k
İşleçler                  
: 0 ≤ k ≤ 255
İşlevi                    
: (W) OR k à (W)             
Status
etkisi            : Z
Tanımı                   
: W kaydedicisinin içeriği k sabiti ile OR’lanır. Sonuç W’ye yüklenir.
  Mantıksal işlem sonunda oluşan değer 0 ise, Z biti 1
yapılır.
Örnek:
IORLW         
h’0F’   ; Komut öncesi W=h’F0’ ise, komut sonrası W=h’FF’ olur.
IORWF                      
Kaydedici içeriği ile W’nin içeriğine OR (veya) işlemini uygula
Söz dizim
kuralı        :
[etiket]       IORWF  
       f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (W) OR (f) à (hedef)               
Status
etkisi            : Z
Tanımı                   
: W kaydedicisinin içeriği f kaydedicisinin içeriği ile OR’lanır. Sonuç
  d=0 ise W’ye, d=1 ise f’ye yüklenir. Mantıksal işlem
sonunda
  oluşan değer 0 ise, Z biti 1 yapılır.
Örnek:
IORWF         
f,0      ; Komuttan önce W=h’10’ ve f=h’01’ ise,
komuttan sonra W=h’11’,
 
f=h’01’  olur.
IORWF         
f,1      ; Komuttan önce W=h’10’ ve f=h’01’ ise,
komuttan sonra W=h’10’,
 
f=h’11’  olur.
MOVLW                     
W’ye bir sayı/sabit yükle
Söz dizim
kuralı        :
[etiket]       MOVLW  
      k
İşleçler                  
: 0 ≤ k ≤ 255          
İşlevi                    
: k à (W)              
Status
etkisi            : Yok
Tanımı         
         : W kaydedicisinin içeriği k
olur.
Örnek:
MOVLW        
k        ; Komut öncesi W’nin değeri ne
olursa olsun, komuttan sonra k
 
sabitinin değeri ile yüklenir.
MOVF                        
Kaydedici içeriğini hedefe taşı
Söz dizim
kuralı        :
[etiket]       MOVF  
        f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (f) à (hedef)                 
Status
etkisi            : Z
Tanımı                   
: f kaydedicisinin içeriği; d=0 ise W kaydedicisine, d=1 ise kendisine
  yüklenir.
Örnek:
MOVF          
f,0      ; Komuttan önce W=h’0F’ ve f=h’01’ ise,
komuttan sonra W=h’01’,
 
f=h’01’  olur.
MOVF          
f,1      ; Komuttan önce W=h’0F’ ve f=h’01’ ise,
komuttan sonra W=h’0F’,
 
f=h’01’  olur.
MOVWF                    
W’nin içeriğini f kaydedicisine taşı
Söz dizim
kuralı        :
[etiket]      
MOVWF         f
İşleçler                  
: 0 ≤ f ≤ 127          
İşlevi                    
: (W) à (f)
Status etkisi           
: Yok
Tanımı                   
: W kaydedicisinin içeriği; f kaydedicisine taşınır.
Örnek:
MOVWF      SAYAC   ; Komutu
uygulamadan önce SAYAC kaydedicisinin içeriği ne olursa
; olsun komut uygulandıktan sonra W kaydedicisinin içeriği SAYAC’a
; yüklenir.
NOP                           
İşlem yapma
Söz dizim
kuralı        :
[etiket]       NOP
İşleçler                  
: Yok
İşlevi                    
: Yok
Status
etkisi            : Yok
Tanımı                   
: Hiçbir şey yapılmadan bir saat çevrimi süre alır.
Örnek:
NOP                      
; Hiçbir işlem yapılmadan, bir çevrimlik süre geçirir.
RETFIE                      
Kesme (interrupt) altprogramından geri dön
Söz dizim
kuralı        :
[etiket]       RETFIE
İşleçler                  
: Yok
İşlevi                    
: TOS à PC  
1 à GIE
Status
etkisi            : Yok
Tanımı                   
: Kesme altyordamından dönmek için kullanılır. Dönüş yapılacak
  adres TOS’da olduğu için, TOS değeri PC’ye yüklenir. INTCON
  kesme kaydedicisinin, GIE biti set edilir. Komut iki saat
çevriminde
  işlenir.
Örnek:
RETFIE                  
; Bu komut uygulanınca PC=TOS ve GIE=1 olur.
RETLW                      
Altprogramdan W’ye bir sayı/sabit yükle ve geri dön
Söz dizim kuralı       
: [etiket]      
RETLW          k
İşleçler                  
: 0 ≤ k ≤ 255
İşlevi                    
: k à (W)     
TOS à PC
Status
etkisi            : Yok
Tanımı                   
: Altyordamdan; W’ye k sabiti yüklenmiş olarak dönmek için
  kullanılır. Dönüş yapılacak adres TOS’da olduğu için, TOS
değeri
  PC’ye yüklenir. Komut iki saat çevriminde işlenir.
Örnek:
RETLW         
h’21’   ; Bu komut uygulandıktan sonra W kaydedicisine h’21’
yüklenir. PC’ye
; TOS
değeri yerleştirilir. Özellikle altprogramdan değerler dizisinden
; biri
ile dönmesi istendiğinde kullanılır.
RETURN                     
Altprogramdan geri dön
Söz dizim
kuralı        :
[etiket]       RETURN
İşleçler                  
: Yok
İşlevi                    
: TOS à PC  
Status
etkisi            : Yok
Tanımı                   
: Altprogramdan TOS’taki adrese geri döner. Komut iki saat çevrimi
  sürede çalışır.
Örnek:
RETURN                 
; Bu komut uygulanınca PC’ye TOS değeri yerleştirilir.
RLF                            
Kaydedici bitlerini sola doğru döndür
Söz dizim
kuralı        :
[etiket]       RLF     f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: Tanım kısmında
açıklanmaktadır.           
Status
etkisi            : C
Tanımı                   
: f kaydedicisindeki bitleri bir bit sola doğru yerleştir. Böylece 0.bitin
  değeri 1.bite, 1.bitin değeri 2.bite,..., 6.bitin değeri
7.bite yerleşir.
  Kaydedici 8 bitlik olduğundan 7.bitin değeri status
kaydedicisinin
  Carry bitine yerleştirilir. Daha sonra Carry bitindeki
değer, f
  kaydedicisinin 0.bitine aktarılır. Böylece hiçbir bit
bozulmadan sola
  doğru kaymış olur. d=0 ise, sonucu W’ye, aksi durumda f’ye
taşır.
  C biti f kaydedicisinin en üst bitinin değerini taşır.
Örnek:
RLF    
SOL,1           ; Komuttan
önce SOL=h’01’, STATUS taşma (Carry) biti olan C=0
; ise, komut çalışınca
SOL=b’0000 0010’  ve C=0 olur.
RLF    
SOL,1           ; Komut bir
kez daha çalışınca, SOL=b’0000 0100’ ve C=0 olur.
RRF                            
Kaydedici bitlerini birer bit sağa aktar
Söz dizim
kuralı        :
[etiket]       RRF     f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: Tanım kısmında
açıklanmaktadır.           
Status
etkisi            : C
Tanımı                   
: f kaydedicisindeki bitleri bir bit sağa doğru yerleştir. Böylece
  7.bitin değeri 6.bite, 6.bitin değeri 5.bite,..., 1.bitin
değeri 0.bite
  yerleşir. Kaydedici 8 bitlik olduğundan 0.bitin değeri
status
  kaydedicisinin Carry bitine yerleştirilir. Daha sonra Carry
bitindeki
  değer, f kaydedicisinin 7.bitine aktarılır. Böylece hiçbir
bit
  bozulmadan sağa doğru kaymış olur. d=0 ise, sonucu W’ye,
aksi
  durumda f’ye taşır. C biti f kaydedicisinin en üst bitinin
değerini
  taşır.
 Örnek:
Örnek:
RRF    
SAG,1           ; Komuttan
önce SAG=h’02’, STATUS taşma (Carry) biti olan C=0
; ise, komut çalışınca
SAG=b’0000 0001’  ve C=0 olur.
RRF    
SAG,1           ; Komut bir
kez daha çalışınca, SAG=b’0000 0000’ ve C=1 olur.
SLEEP                       
Uyu
Söz dizim
kuralı        :
[etiket]       SLEEP
İşleçler                  
: Yok
İşlevi                    
: h’00’ à WDT         0 à WDT ön
bölücü sabiti
                           
  1 à TO               
0 à PD
Status
etkisi            : TO,
PD
Tanımı                   
: PD, güç kesim ( power-down) biti temizlenir. TO süre aşımı (time-
  out) biti set (1) olur. WDT ve ön bölücü sabit de
sıfırlanır.
  Osilatörün de durmasıyla, işlemci uyuma moduna geçer. PIC
bu
  durumda çok az güç harcar.
Örnek:
Uyu   
SLEEP           ; PIC bu
durumda çok az güç harcar. Arada bir kontrol gereken
; güvenlik işlerinde, ya da belirli sürelerde yapılacak işler
bittiğinde
; PIC, uyuma moduna sokulur.
SUBLW                      
Bir sayı/sabitten W’nin içeriğini çıkar
Söz dizim
kuralı        :
[etiket]      
SUBLW          k
İşleçler                  
: 0 ≤ k ≤ 255
İşlevi                    
: k - (W) à (W)
Status
etkisi            : C,
DC, Z
Tanımı                   
: k sabit değerinden,W’nin içeriği çıkarılır (2’lik tümleyen ile) ve
  sonucu W’ye yüklenir.
Örnek:
SUBLW         
h’01’   ; Komuttan önce W=h’02’ ve C=1 ise, komuttan sonra W=h’FF’ ve
; C=0 olur. (Sonuç negatif)
SUBWF                     
W’den f’yi çıkar
Söz dizim
kuralı        :
[etiket]      
SUBWF         f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (f) - (W) à (hedef)        
                           
   d=0 ise hedef W kaydedicisidir, d=1 ise f kaydedicisidir.
Status
etkisi            : C,
DC, Z
Tanımı                   
: f kaydedicisinin içeriğinden W çıkarılır (2’lik tümleyen ile). d=0 ise
  sonuç W’ye, d=1 ise f kaydedicisine yüklenir.
Örnek:
SUBLW         
f,0      ; Bu komuttan önce W=h’01’, f=h’02’ ise
komuttan sonra
                           
; W=h’01’ ve C=1 olur. 
SUBWF        
f,0      ; İkinci komut çalışınca W=h’00’, C=1 ve Z=1
olur (sonuç pozitif). 
SUBWF        
f,0      ; Üçüncü komut da çalışınca W=h’FF’ ve C=0
olur (sonuç negatif). 
SWAPF                      
Kaydedici içeriğinde 4’lülerin (digit) yerini değiştirir
Söz dizim
kuralı        :
[etiket]       SWAPF
        f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (f<3:0>) à (Hedef<7:4>)
                           
  (f<7:4>) à (Hedef<3:0>)
Status
etkisi            : Yok
Tanımı                   
: f kaydedicisinin üst dörtlü biti ile alt dörtlü biti yer değiştirirler.
  Sonuç d=0 ise W’ye, d=1 ise f kaydedicisine yüklenir.
Örnek:
SWAPF     CAPRAZ,1 ; Komuttan önce
CAPRAZ=h’03’, W=h’02’ ise komuttan sonra
; CAPRAZ=h’30’, W=h’02’ olur.
XORLW                     
Sayı ile W’nin içeriğini EXOR’la
Söz dizim
kuralı        :
[etiket]       XORLW  
      k
İşleçler                  
: 0 ≤ k ≤ 255
İşlevi                    
: (W) XOR k à (W)           
Status
etkisi            : Z
Tanımı                   
: W kaydedicisinin içeriği k sabiti ile XOR’lanır. Sonuç W’ye
  yüklenir. Mantıksal işlem sonunda oluşan değer 0 ise, Z
biti 1
  yapılır.
Örnek:
XORLW        
h’03’   ; Komut öncesi W=h’01’ ise, komut sonrası W=h’02’ olur.
XORWF                     
Kaydedici içeriği ile W’nin içeriğini EXOR’la
Söz dizim
kuralı        :
[etiket]       XORWF  
      f,d
İşleçler                  
: 0 ≤ f ≤ 127           d Є
(0,1)
İşlevi                    
: (W) XOR (f) à (hedef)              
Status
etkisi            : Z
Tanımı                   
: W kaydedicisinin içeriği f kaydedicisinin içeriği ile XOR’lanır. Sonuç
 
d=0 ise W’ye, d=1 ise f’ye yüklenir. Mantıksal işlem sonunda
 
oluşan değer 0 ise, Z biti 1 yapılır.
Örnek:
XORWF        
f,0      ; Komuttan önce W=h’09’ ve f=h’0F’ ise,
komuttan sonra W=h’06’,
 
f=h’0F’  olur.
Kaynak: http://www.oocities.org/tascoskun/komut.htm
Kaynak: http://www.oocities.org/tascoskun/komut.htm
 

 
thank you ....
YanıtlaSilالموقع الأول