ilkerDeveci
Centipat
- Katılım
- 3 Eylül 2019
- Mesajlar
- 43
Merhabalar. PIC programlama çalışıyorum bu aralar ve aklıma bir soru takıldı. Hangi kaynağa bakarsam bakayım, global değişkenler ve fonksyonlar extern depolama sınıfındadırlar, program çalıştığı sürece hafızada kalırlar ve ana depolama biriminde depolanırlar cümleleri ile karşılaşıyorum.
Global bir değişkenden bahsediyorsak bu yazılanların hepsi doğrudur, bir itirazım yok. Fakat konu fonksyonlara gelince birkaç çelişki seziyorum. Birincisi fonksyon ana depolama biriminde(ana depolama birimi=RAM bellek) depolanmaz. Fonksyon bloğunun içeridği C diline ait her bir komutun bir assembly karşılığı vardır. Her bir assembly komutun ise makine dilinde binary karşılığı vardır. Ve bu binary kodlar, ana depolama biriminde depolanmazlar. Program hafızasında depolanırlar(mesela eprom bellekte). Burada bir çelişki var. Hadi bahsedilenin fonksyonun kendisi değilde parametreleri olduğunu varsayarsak, fonksyon parametreleri Auto (veya tercihen register) depolama sınıfında kaydedilir. Asla extern bir depolama sınıfında olamazlar.
İkinci bir ihtimal olarak, fonksyonun döndürdüğü değerden bahsediyor olabilirler. O zaman bu açıklamalar kabul edilebilir. Evet fonksyonun döndürdüğü değer, extern depolama sınıfındadır ve ana depolama biriminde depolanır.
PIC konusunda profesyonel arkadaşlar duruma bir el atarsa sevinirim.
Global bir değişkenden bahsediyorsak bu yazılanların hepsi doğrudur, bir itirazım yok. Fakat konu fonksyonlara gelince birkaç çelişki seziyorum. Birincisi fonksyon ana depolama biriminde(ana depolama birimi=RAM bellek) depolanmaz. Fonksyon bloğunun içeridği C diline ait her bir komutun bir assembly karşılığı vardır. Her bir assembly komutun ise makine dilinde binary karşılığı vardır. Ve bu binary kodlar, ana depolama biriminde depolanmazlar. Program hafızasında depolanırlar(mesela eprom bellekte). Burada bir çelişki var. Hadi bahsedilenin fonksyonun kendisi değilde parametreleri olduğunu varsayarsak, fonksyon parametreleri Auto (veya tercihen register) depolama sınıfında kaydedilir. Asla extern bir depolama sınıfında olamazlar.
İkinci bir ihtimal olarak, fonksyonun döndürdüğü değerden bahsediyor olabilirler. O zaman bu açıklamalar kabul edilebilir. Evet fonksyonun döndürdüğü değer, extern depolama sınıfındadır ve ana depolama biriminde depolanır.
PIC konusunda profesyonel arkadaşlar duruma bir el atarsa sevinirim.
Son düzenleyen: Moderatör: