Branch veya Branchl komutu hakkında yardım lütfen

Başlatan goan, 24 Mayıs 2009, 01:02:44

goan

PIC16F877A\'da Yazdığım programda ilk 2K\'lık kısmı doldurdum ama prg. bitmedi. İkinci sayfaya geçmek için Branch kullanıyorum ama omuyor. Püf noktası nedir? Yardımcı olursanısız sevinirim.

gevv

ETE hocamızdan alıntıdır

Alıntı Yap16F877 bildiğim kadarı ile 8K lık bir program hafızasına sahip. Bu hafıza 2 şer K lık sayfalar şeklinde kullanılıyor. Bunu , 877 nin içinde 4 adet 2 K lık hafıza entegresinin olması şeklinde açıklayabiliriz. Adresleme hep 0-2K arasında olmakla birlikte kullanılan hafızaya bağlı olarak entegre seçerek 8 K nın tamamına ulaşılmaktadır.

Ancak PBP bu işi otomatik yapmakta olup yukarıda söylediklerim yalnızca assembly dili için geçerli tanımlamalardır.

Biraz daha açık yazmak gerekir ise yazdığınız program ilk 2K lık bölümü aşmış ise derleme esnasında cross boundary ikazı alırsınız ama bu bir hata değil ikazdır. Dikkat etmeniz içindir. Dikkat etmeniz program içinde ayrıca assembly kullanıyor iseniz geçerlidir.
Dolayısıyla 8K ya kadar programı yazıp siz gerisine karışmayın derim tabiiki assembly kullanmıyorsanız.

Kodlarınızı vermediğiniz için Branch komutunu bir ihtiyaçtan dolayımı kullandınız yoksa 2. kod sayfasına ulaşmak içinmi kullandınız anlayamadım.

Branch , BranchL , komutları komutta verilen index değişkenine  bağlı olarak ilgili etiketlere dallanmak için kullanılır. Ancak Branch komutunda atlayacağınız etiket aynı kod sayfasında olmalı.  Bundan emin değilseniz Branch komutunu kullanmanız gerekir.

Ete

Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın