12 Aralık 2014 Cuma

DÖNGÜ KOMUTLARI

  • 1 Byte Değerlik Rotate Left Byte (Sola Döndürme) 
Bu komut, EN girişi "1" olduğunda çıkısındaki alanda bulunan bit' leri N sayısı kadar sola döndürür ve alan içinde solda en son bit' te bulunan bilgi, hem dısarı atılır hem de ilk (sağdaki) kayan bitin yerini doldurur. N sayısı kaymanın kaç bit olacağını ifade eder.
Örneğin döndürme Q0.0' dan baslayacaksa (Q0.0' da "1" bilgisi varsa) ve N değeri 2 ise EN
girisi "1" olduğunda Q0.0' daki değer, Q0.2' ye kayar. EN girisi yeniden "1" olduğunda Q0.2'
deki "1" bilgisi bu kez Q0.4' e kayar. Q0.6' da bulunan bilgi ise Q0.0' a geri döner. Sola döndürme islemi örneğin Q0.1' den baslatılırsa ve N = 2 ise "1" bilgisinin sola dönmesi, Q0.1, Q0.3, Q0.5, Q0.7, ve yeniden Q0.1,.... seklinde olur.



Örnek : QB0 alanında bulunan 8 bit içersinde Q0.0' a verilen "1" bilgisi, bir sensörün her aktif olusunda sırası ile Q0.0, Q0.1,Q0.2.....Q0.7 seklinde dönsün ve çalısma periyodik
olsun.






  • 1 Byte Değerlik Rotate Right Byte (Sağa Döndürme)
Bu komut, EN girişi "1" olduğunda çıkısındaki alanda bulunan bit' leri N sayısı kadar sağa döndürür ve alan içinde sağdaki en son bit' te bulunan bilgi, hem dışarı atılır hem de soldaki ilk kayan bitin yerini doldurur. N sayısı kaymanın kaç bit olacağını ifade eder.
Örneğin döndürme Q0.7' den başlayacaksa (Q0.7' de "1" bilgisi varsa) ve N değeri 1 ise EN
girişi "1" olduğunda Q0.7' daki değer, Q0.6' ya kayar. EN girisi yeniden "1" olduğunda Q0.6'
daki "1" bilgisi bu kez Q0.5'e kayar. Döndürme islemi devam ettirildikçe Q0.0' da bulunan
bilgi Q0.7' ye sürekli geri döner. Sağa döndürme islemi örneğin Q0.7' den başlatılırsa ve N = 2 ise "1" bilgisinin sağa dönmesi, Q0.7, Q0.5, Q0.3, Q0.1, ve yeniden Q0.7,.... şeklinde olur.



Örnek : QB0 alanında 8 bit içersinde verilen 20 bilgisi, bir sensörün her aktif olusunda
2 bit sağa döndürülsün.


ROL_W ve ROR_W komutlarıyla yapılan işlemler yukarıda anlatılanlara benzemektedir.
Ancak bu komutlarda döndürme işlemi 1 Word' lük alan içersinde yapılmaktadır.

ROL_DW ve ROR_DW komutlarıyla yapılan işlemler de yukarıda anlatılanlara benzemektedir. Ancak bu komutlarda döndürme islemi 1 Double Word' lük alan içersinde
yapılmaktadır.

Örnek : MW0 alanındaki 256 bilgisi 1 bit sola döndürülsün.




Eğer N değeri 2 olsaydı ilk sola dönmede değer 1024 olacaktı ve MB0.2 bit' i aktif olacaktı.

Eğer döndürme sayısı "0" (sıfır) ise döndürme işlemi yapılmaz.

Hiç yorum yok:

Yorum Gönder