CCS'de komutların zaman gecikmesi ne kadardır?

Başlatan SüleymanKara, 18 Kasım 2004, 10:18:47

SüleymanKara

İyi günler;

Üniversitede C ile bilgisayar programlamaya çalışırken bir türlü C'ye ısınamamıştım. Asembler'dan sonra Pic C'ye geçince çok faydasını gördüm. Ama takılıdığım bir nokta var. Asemblerda zaman gecikme hesabını kolayca yapabiliyordum. Mesela normal komutlar 1 cycle, call gibi goto gibi komutlar 2 cycle'dı.
Pic C'de bu hesaplar nasıl yapılır? 8 bitlik, 16 bitlik veya 32 bitlik sayı ile işlem yaparken aynı hesapları mı kullanacağız? while döngüsü, for döngüsü , İf-else'de veya diğer komutlarda durum nasıldır?

CCS Pic C'de EX_FREQC.C adında çok güzel bir örnek program var. Tam zaman gecikmesi konusuna uygun, bir kaç gündür incelememe rağmen çözemedim.

birumher

Picc de yazdığın komutlara göre komutun çalışma döngü sayısı değişiyor.
Gerçekten emin olmak istiyorsan c de comğile ettiğin programın lst dosyasını aç orada her komut için compiler ın oluşturduğu assembler kodlarını göreceksin . Gerisi sayarak bulmaya kalıyor.
Birkan.Herguner

GSMdesigner

Merhaba,

Elbette yüksek seviyeli dillerde komutlar Assembly'de olduğu gibi farklı çevrim (cycle) zamanlarında işliyor. Hatta aynı komut duruma göre farklı yerlerde daha geç veya erken işleyebilir. Bu tamamen derleyicinize kalmış bir durum.

Sonuçta bu durum Assembly'den daha yavaş işleyeceğine göre çok önemli olmadığını düşünüyorum. Eğer bu kadar önemli ve hassas uygulamalar varsa o zaman programın bazı kısımları assembly olarak yazılabilir. Bu her yüksek seviyeli dilde mevcut.

Alıntı yapılan: "SüleymanKara"Üniversitede C ile bilgisayar programlamaya çalışırken bir türlü C'ye ısınamamıştım. Asembler'dan sonra Pic C'ye geçince çok faydasını gördüm.
Ne güzel söylemişsin. Gerçekten ben de bir türlü C öğrenemedim. Ama CCS PIC C'yi biliyorum diyebilirim. Tabi programcılık mantığından dolayı bu böyle olsa gerek. Beraberinde assembly desteğini de unutmayalım.

Dip Not:Bu arada sıklıkla bir hatanın yapıldığını gözlerim ile şahit oluyorum. Nedense 'assembly' yerine 'assembler' deniyor. Oysa 'assembler', Assembly dili derleyicisi demektir. Bunu bazı kitap yazarları bile yapıyor. Üstelik sadece bu başlıkta değil yakın geçmişte konuşulmuş başlıklarda bile bu tekrar ediliyor. Her halde söylenişi daha kolay olduğu için böyle oluyor.

Sevgiler, saygılar...
 [email]salihdb@akeltelekom.com[/email]