Pic te RRF ve RLF Komutları Pic ile bitleri sağa kaydırma ve sola kaydırma işlemleri

RRF ve RLF Komutları

Pic ile bitleri sağa kaydırma ve sola kaydırma işlemleri.
 
RRF :Rotate Right F through Carry

Bir register içindeki bitlerin pozisyonunu her komut işlenişte bir sağa kaydırır.

kayma işlemi sonunda en sağdaki bit yani sıfır nolu bit CARRY FLAG ‘ (taşma biti) e yazılır.

7 inci bitin değeri => 6 ya
6 ıncı bitin değeri => 5 e
………..
0 ıncı bitin değeri => status yazmacının carry bitine
yerleşti,rilmiş olur.
daha sonra Carry bitindeki değer buradan alınıp f yazmacının 7 inci bitine aktarılır. böylece bitler bozulmadan her biri bir sağa kaydırılmış olur.

yani bir döngü durumu vardır. eğer 0(sıfır) ıncı bite gelindiğinde başa dönmesini ,durmasını yada başka bir etikete aktarılmasını istersek bu durumda status yazmacının 0 ıncı biti kontrol edilerek pic e yönlendirme yapılabilir. (inceleyiniz şekil 2)

RLF :Rotate Left through Carry

Bir register içindeki bitlerin pozisyonunu her komut işlenişte bir sola kaydırır.

0 ıncı bitin değeri => 1 e
1 inci bitin değeri => 2 ye
……………………
6 ıncı bitin değeri =>7 ye
7 inci bitin değeri => status yazmacının CArry Bitine yerleştirilir.

Carry Flag içindeki de en sağ bite gider, ve hiç bir bit bozulmadan bitler sola kaymış olur.

yine RRF de olduğu gibi 7 inci bitten sonra başka bir işlem yapmak istersek bunu status yazmacının 0(sıfır) ıncı biti kontrol eilerek bu işlem yapılabilir. (inceleyiniz şekil 1)

bu durumu aşağıdaki küçük örnek açıklar sanırım.

movlw B’10000000′
movwf portb

tekrar
call gecikme
rrf por tb,f ;port b yi sola kaydır
btfss status, 0 ;carry flag 1 ise atla
goto tekrar ;carry flag 1 değilse tekrara git
end.

bu program port b bitlerini her defasında bir sağa kaydırır ve işlem en baştaki bit de kaydırıldıktan sonra durur.
yani port b nin 7 nolu bitinde bulunan 1 değeri 0 ıncı bite geldikten sonra program durur. 

 

RLF ve RRF komutları

Posted in Uncategorized.

Bir cevap yazın