Hi tech C de oluşan gereksiz kodlar.

Başlatan XX_CİHAN_XX, 20 Temmuz 2008, 21:59:20

arslan74

Alıntı yapılan: "engin_"Benim bu yazıdan çıkardığım sonuç yüksek seviyeli bir dil ile yazılmış kodun asm kodunuda mutlaka incelemek lazım. Yada derleyiciyi iyi tanımak. Burda derleyici mantıklı bir iş yaparak kodu kısaltmış iyi tamamda burda bahsi geçen değişken bir kesme programında değeri önemli birşeyi ifade ediyorsa... Ara değerleri görmeden en son değere ulaşmış olacağız her zaman. Bu da programda bir hata arayıp durmamız manasına geliyor.

Merhaba,

Bu bahs ettiğiniz sorun ASM bile yazılmış olsa bile vardir. Bunu önlemenin bir cok değişik yolu vardır. En basid çözümü, Kiritik kodlarda kesmeyi kapatırsın. Örneğin, EEprom yazmada kesme herzaman için kapatılır.

C Microişlemciler için en uygun dildir. Ama arkda planda ASM bilmek cok önemli, C nin yetersiz kaldığı bazı durumda ASM ile kod eklemek gerekebilir.

Selamlar

engin_

@arslan74  demek istediğim kesmeyi kapatmak değilde kesme geldiğinde ilgili değişkenin değerine bakacak bir algoritma geliştirmiş olma durumundan bahsediyorum. Burdaki örnek üzerinden konuşacak olursak 4 kaydırma işlemi içerisinde kesme beklediğimizi düşünelim kesme esnasında da bu değişkene göre farklı bir karar alacağız.

Örnek ne kadar mantıklı yada mantıksız, konu bu değil. Burda doğru gibi gözüken ama işlemeyen bir program ortaya çıkıyor. Gerçi  bunun da bir çözümü derleyicide vardır herhalde...