movf ile alakalı bir soru

Başlatan mcan, 20 Mart 2007, 21:47:06

mcan

ccs c derleyicisinin ürettiği bir kodu inceliyordum ve şu kısıma anlam veremedim
ORG     0x0231
            MOVF    0x0D      , W
            MOVF    0x17      , W
            MOVWF   0x19
ilk iki movf nin ne anlamı var? benim anladığım h0d adresindekini w ye atıyor ardından h17 adresindekini w ye atıyor sonra w yi h19'a atıyor....yani 17 yi 19 a kopyalıyor.peki en baştaki d adresini w ye atamasındaki amaç ne olabilir.diğer sorum ise; "," den sonra f olsaydı ram kendi üzerine yazılıp içeriği 0 ise z bitini değiştirecekti.yani bu tip kullanım sadece içi "0 mı?/değilmi?" sordulaması içinmi kullanılıyor.

XX_CİHAN_XX

Alıntı yapılan: "mcan"ccs c derleyicisinin ürettiği bir kodu inceliyordum ve şu kısıma anlam veremedim
ORG     0x0231
            MOVF    0x0D      , W
            MOVF    0x17      , W
            MOVWF   0x19
ilk iki movf nin ne anlamı var? benim anladığım h0d adresindekini w ye atıyor ardından h17 adresindekini w ye atıyor sonra w yi h19'a atıyor....yani 17 yi 19 a kopyalıyor.peki en baştaki d adresini w ye atamasındaki amaç ne olabilir.diğer sorum ise; "," den sonra f olsaydı ram kendi üzerine yazılıp içeriği 0 ise z bitini değiştirecekti.yani bu tip kullanım sadece içi "0 mı?/değilmi?" sordulaması içinmi kullanılıyor.
Keşke bu ifadeye karşılık gelen ccs kodunu da koysaydın ama movf ıle ılgılı soyleyebılecegım ,W de olsa ,F de olsa movf komutu zero bitini etkiler.,F dersen w bozulmadan kestırmeden zero flag ıle sorgu yapabılırsın fakat verdıgın kodlarda zero flag sorulmuyor sorulsa dahi 2 kez ust uste movf kullanmanın hiç bir anlamı yok.Sadece boş yere program belleğinden ve hızdan 1 komutluk yer götürüyor.
Buda üst seviye diller ile doğrudan assembler kullanmanın farkı oluyor bu tür şeylere daha öncede karşılaştığım için şaşırmadım :D
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.