1 byte'taki bitlerin yerlerinin şu şekilde değişmesi...?

Başlatan camby, 16 Nisan 2010, 22:35:58

camby

Bu bir sınav sorusu , ram'de tanımlanmış bir register'ın bitlerinin şu şekilde değiştirilmesi isteniyor:
En değerlerlik bit b7 olsun , en düşük değerlikli bit b0 olsun

b7 b6 b5 b4 b3 b2 b1 b0 olan registerın b0 b1 b2 b3 b4 b5 b6 b7 şekline gelmesi lazım , uzun uzun btfss , btfsc ve registerı yedekleyerek yapılır tabi ama çok kolay bir yolu var ve ben bunu göremiyorum gibi geldi: ) Nedir bunun kısa yolu?

z

Veriyi sola kaydirirsin. Cary ile sonuc degiskenini saga kaydirisin. 8 islem sonunda bitler yer degismis olur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

XX_CİHAN_XX

   movlw   .8
   movwf   sayac
   rlf      veri,F
   rrf      sonuc,F
   decfsz   sayac,F
   goto   $-3
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

camby

8 kere sağa sola kaydırınca tekrar eski halini almıyor mu?

Tagli

XX_CİHAN_XX'ın dediği şekilde olacak. Yani bitleri kaynak register'dan kaydırarak çıkartırken, sonuç register'ına tersten sokacaksın.
Gökçe Tağlıoğlu

camby