Pic programlama - MANTIKSAL İŞLEMLER 2
 

Mantıksal işlemler 2


Pic programlama - MANTIKSAL İŞLEMLER 2

IORLW IORWF,XORLW,XORWF KOMUTLARI

OR:
iki bit arasında VEYA işlemini yapar.
elektronik bilgilerimizden de hatırlayacağınız gibi VEYA kapısında karşılaştırılan bitlerden en az birisi 1 ise sonuç 1 olur. eğer işlem gören bitlerden her ikiside "0" ise Sonuç Sıfır olur.
Or mantığı paralel devre mantığıdır.


A

B

A OR B

0

0

0

0

1

1

1

0

1

1

1

1

pic de OR işlemi için IOR kullanılır,
IORLW= Write register içeriğini istenen bir sabit veri ile OR işlemi uygular ve sonucu W registere yazar.
IORWF = Bir file register içeriği ile write register içeriğine OR işlemi uygular ve sonucu F veya W içine yazar.
 


Bitler

7

6

5

4

3

2

1

0

A

1

0

1

0

0

0

1

0

B

1

1

1

1

0

0

0

1

 

 

 

 

 

 

 

 

 

A IORLW B

1

1

1

1

0

0

1

1

Bu komut ile 0 olan bitleri 1 yapabiliriz.
örneğin;


bitler

7

6

5

4

3

2

1

0

A

1

0

1

0

0

0

1

0

B

1

1

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

A IORLW B

1

1

1

1

1

1

1

1


 

IORLW için örnek:

 

 

 

MOVLW

B’01010101’

;Binary 01010101 sayısını W registere ata

IORLW

B’10101010’

;Write registerdeki sayı ile binary 10101010 sayısını OR la

MOVWF

PORTB

;Sonucu PORTB' ye gönder.


sonuç olarak PORTB çıkışlarının hepsi 1 olacaktır. ledler bağlı ise tüm ledler yanacaktır.
Byte içeriği 0 mı ?
Write register içindeki bir byte lık bir bilginin 0 olup olmadığını anlamak için=> 0 sabit verisi ile IORLW işlemi uygulanabilir
yada File register içindeki bilginin 0 olup olmadığını anlamak için=> W registere 0 atanır ve IORWF işlemi uygulanır..
Sonuc 0 sa Z flag 1 olur.
_______________________________________________________________
XOR (Exclusive OR gate = Özel veya Kapısı)
XOR işlemi elektronik bilgilerden biraz hatırlayacak olursak, Or işleminin biraz değişiği olup kısaca şöyle tarif edebiliriz:
XOR da 2 bit karşılaştırılır ve bit değerleri farklı ise sonuç 1 aynı ise sobyç sıfırdır.

1 bitlik XOR işlemi sonuçları aşağıdaki gibidir.


A

B

A XOR B

Açıklama

0

0

0

a ve b aynı sonuç sıfır

0

1

1

a ve b farklı sonuç 1

1

0

1

a ve b farklı sonuç 1

1

1

0

a ve b aynı sonuç sıfır


XORLW= Write register içeriği ile bir sabite XOR işlemi uyguar ve sonucu write register içine yazar.

XORWF= File register ile Write register içeriğini XOR lar ve sonucu F veya W ‘a yazar

8 bitlik XOR işlemi

 

7

6

5

4

3

2

1

0

A

1

0

1

0

0

0

1

0

B

1

1

1

1

0

0

0

1

 

 

 

 

 

 

 

 

 

A XOR B

0

1

0

1

0

0

1

1



XOR işlemi ayrıca bitleri ters çevirmek için de kullanılır.

örneğin,

A=10100010 ise ve biz A daki 0 ları 1 ve 1 leri de sıfır yapmak istersek.

B=11111111 ile A yı XOR işlemine tabi tutarız.

aşağıdaki gibi,


Bitler

7

6

5

4

3

2

1

0

A

1

0

1

0

0

0

1

0

B

1

1

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

A XOR B

0

1

0

1

1

1

0

1


XOR ile karşılaştırılan W register - Sabit / File Register içerikleri birbiri ile aynı ise XOR işlemi sonunda Z flag set edilir.

 

ANDLW,ANDWF,IORLW,IORWF,XORLW,XORWF işlemleri 1 saat çevrimi sürede işlenir.

Murat DERE                                                                                               

19/01/2009 © DERE Design