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.
Etiketler :
IORLW IORWF,
XORLW,
XORWF,
komut,
pic,
mantıksal,
işlemler,
lojik
Yazan : mania |
27 Şub 2006 Pts  
| 0 defa Okundu.