ayni registirde toplama,birlestirme..

Başlatan yalnayak, 03 Eylül 2007, 02:39:51

yalnayak

diyelimki

3 tane register olusturduk..

adal   equ   23
edal   equ   24
idal   equ    25

program icersinde

adal a b'00001001';
edal a b'00010000';

yada

movlw   .9
movwf   adal

movlw   .1
movwf   edal

dedik diyelim..

ben bu iki sayiyi idal registirinde nasil birlestiririm...

bunlara oyle bi islem yapmaliyimki
sonucta idal registirina

19 yada 91 yuklenmis olsun.

ben ilk once birini yukleyip smapf komutuyla bitlerin yerini degistirdim ama yeni yuklemenden sonra tabiki son yukledigim degeri aldi.
bu sorunu hangi komutlari nasil bir mantiksal islem kullanarak halledebilirim.daha once boyle calismasi olan arkadaslardan ricam olacak.selamlar
Kızımın iffeti batmakta rezîlin gözüne... Acırım tükürüğe billâhi, tükürsem yüzüne..! MEHMED AKİF ERSOY  Kardan Adaminla,GUNES'e calim mi satiyorsun?

picusta

Birlestirme tanimini daha da açmalisin, cevap orada.
Eger yapmak istedigin rakamlari 10'luk sistemde birlestirmek ise ikisinden birini 10 ile çarpacaksin ve toplayacaksin.
Eger bunu 2 veya 2'nin katlarinda bir sistemde yapacaksan yine ayni sey. Fakat daha basit : çarpim için sola kaydir, toplama için OR.

XX_CİHAN_XX

Alıntı yapılan: "yalnayak"diyelimki

3 tane register olusturduk..

adal   equ   23
edal   equ   24
idal   equ    25

program icersinde

adal a b'00001001';
edal a b'00010000';

yada

movlw   .9
movwf   adal

movlw   .1
movwf   edal

dedik diyelim..

ben bu iki sayiyi idal registirinde nasil birlestiririm...

bunlara oyle bi islem yapmaliyimki
sonucta idal registirina

19 yada 91 yuklenmis olsun.

Yapmak istediğini anladım sanırım.Eğer edal ve adal daki değerler 0 ile 9 arasında ise istediğin olay çok basit.
    swapf     edal,w
     iorwf       adal,w
     movwf    idal

not: iorwf yerine addwf komutunuda kullanabilirsin ;)
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.

yalnayak

Alıntı yapılan: "XX_CİHAN_XX"
Alıntı yapılan: "yalnayak"diyelimki

3 tane register olusturduk..

adal   equ   23
edal   equ   24
idal   equ    25

program icersinde

adal a b'00001001';
edal a b'00010000';

yada

movlw   .9
movwf   adal

movlw   .1
movwf   edal

dedik diyelim..

ben bu iki sayiyi idal registirinde nasil birlestiririm...

bunlara oyle bi islem yapmaliyimki
sonucta idal registirina

19 yada 91 yuklenmis olsun.

Yapmak istediğini anladım sanırım.Eğer edal ve adal daki değerler 0 ile 9 arasında ise istediğin olay çok basit.
    swapf     edal,w
     iorwf       adal,w
     movwf    idal

not: iorwf yerine addwf komutunuda kullanabilirsin ;)
carptim topladim..uzun uzun denemeler yaptim.bir sekilde sonuc aliniyo ama cihanin verdigi ornek aradigim cevapti.bu sorun yukardaki sekilde halloluyo.
Kızımın iffeti batmakta rezîlin gözüne... Acırım tükürüğe billâhi, tükürsem yüzüne..! MEHMED AKİF ERSOY  Kardan Adaminla,GUNES'e calim mi satiyorsun?