Bilmece Bulmaca ASM ile yapabilmece ama C ile yapamaca

Başlatan z, 29 Ekim 2013, 14:22:24

berat23

burada gerbay farklı birşey söylüyor ama kimse anlamamış. yapılan proje büyüdükçe aslında önemli olan düzgün olması oluyor, hız çok önemli olmayabiliyor. ayrıca embedded demek 16f877 ile birşeyler yapmak, int. ile uart'tan veri okumak demek değil, vizyonu geniş tutmak lazım. int. handler için illa asm kullanmak gerekmiyor zamanlamayı tutturmak için. bence eski düşüncelerinizi, bilgilerinizi bırakın gerbay ne diyor anlamaya çalışın.

z

Bazi uygulamalar vardir. Hiz onemlidir. Fakat bu uygulamalarda  hiz lazim diye asm kullandirtmazlar. Fiyat falan hicmi hic onemli değildir. 10 kati hizli 100 kati pahali islemci kullanirsiniz ama C yada turevleri ile yazarsiniz.

Ama bizim derdimiz bu uygulamalar değil. Buyuk projeler hic değil. Hizin onemsiz oldugu projeler hic mi hic degil.

Bizim derdimiz daha hizli islemci kullanmadan bazi bolumleri asm yazarak projeyi kotarmak.

Gerbay hocami severim. Eger C konusunda bizleri aydinlatacaksa bir baska baslik altinda kendisini dinlemekten zevk alirim. Ama bu baslikta yazdiklarindan zevk alamadim.

Haa bana burada pipeline conflictden bahsedecekse ileri ve geri yonde adreslemeden bahsedecekse o konudaki yazilarini da zevkle okurum.

Ama Intel I7 falan cekilmiyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

berat23

#32
i7 diye kestirip atmayın, cm4 bile uyuyor aslında gerbay'ın anlattıklarına.

birde c'nin hızı yetmediği zaman, asm ile çok sıkı bir zamanlama ile program yazmak ne derece mantıklı tartışılır. ayrıca mevcut işlemci fiyatları ortadayken, projemizde çok büyük çaplı değilken neden 8051'den kalma alışkanlıklara devam ediyoruz?

z

Sizin mantiga gore C kodlama yaparak bir rutini 100us de isleyecek sekilde yazamiyorsak tek cozum bir ust frekansdaki islemciye gecmek oylemi?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

berat23

hangi kodda zamanlamayı tutturamadınız? tek sorun c ile yazmak mı?

z

Alıntı yapılan: berat23 - 30 Ekim 2013, 23:16:48
hangi kodda zamanlamayı tutturamadınız? tek sorun c ile yazmak mı?

Evet. Istersen, ugrasirim dersen hemen sana ozel bir senaryo yazayim. Sorumu sorayim.

Ya da;

Gerbay 1.25 Mips/Mhz den bahsetti.

Bana CM3 islemci icin C ile kucuk ama bir ise yarar  kodlama yap. Yapki 1.25 Mips/Mhz performansa ulas.

Ya da yazdigin kodun kac Mips/Mhz performansda oldugunu soyle. Sonra senin kodunu asm ile kac MIPS/Mhz yapabiliriz onu gorelim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

cicjoe

Tartismaya C++'i da ekleyebilir miyiz? Onu hep ihmal ediyoruz gibime geliyor..

z

C ne ki C++ ne olsun.  ++ C nin bir gomlek ustu demekse onun adi C++ degil ASM zaten. :)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

RaMu

Asm nin ince detay gereklilikleri bir yana
birde şu getirisi var;
forumda veya heryerde
md programlamaya başlayan arkadaşların garip sorularıyla karşılaşıyoruz
ne algoritma bilgisi var nede kullandığı yapıyı tanıyor
ondan sonra neden kesme içine yazdığı kod parçası herşeyi allak bullak ediyor vs. diye soruyor
anlat anlatabilirsen hadi.

Asm bilmeden program yazan bir adam
er vazifesi görmeden paşa oluvermiş bir askere benzer
verdiği emri kim hangi zorluklarla nasıl yerine getiriyor
zerre kadar bilgisi yoktur
ondan sonra tepeden yağdırır emirleri yapın ulan diye
sonra çok basit yaptırabileceği bir işi bile 1 tabura yaptıramaz
bana alayınız lazım der üst modele geçmek ister.

Elbette asm nin gelişmiş versiyonlarıdır diğer diller
ve hepside sonuçta asm instruction set e çevirirler herbir yazdığımız şeyi
ama temelde ne dönüp bitiyor bilirsek bundan kimseye zarar gelmez.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Mr.Java


z

Haydin yahuu.

İçinizde en baba C derleyicisi ile bana CM3 ile 1.25 MIPS/MHZ performansda koşacak C program örneği verecek başarılı Cci yokmu?

Hani diyordunuz ya C derleyici Pipeline durumlarını da gözetir ve yüksek performanslı kod üretir.

Kaldı ki I7'ye falan geçtiniz. Millet PIC kullanıyor. C + PIC kullananlar da ASM için atıp tutuyor.

Hadinnn....
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

CoşkuN

Hocam iyi sabır var valla sizde. Bu konular üzerinde bu kadar konuşmak yormuyor mu sizi?

z

Yok hocam. Reklam kokan bazı sloganlarla ahkam kesiliyor.

3 bıçaklıları bırakın 5 bıçaklı traş bıcağı ile daha iyi traş olacaksınız. Bu diş macunu dişlerinizi daha iyi parlatır. C ile çok hızlı koşan kod yazabilirsiniz vs...

-----------------------

Asm de çok sık yaptığımız hatalı yazımlar yüzünden yanlış çalışan kodları C de hiç kafa yormadan yazarız. Çok anlaşılır kod yazarız. Çok kolay okuruz. En azından uğraşla bir başka işlemciye kodlarımızı taşırız. Amacımıza daha çabuk ulaşacak şekilde hızlıca yazılım yaparız.

Bunların hepsi doğru ve çok çok güzel özellikler. C ye şapka çıkartırız.

Fakat bunlara ilave olarak ASM,ye ne gerek var C ASM kadar hızlıdır hatta ASM ile kod yazarsanız daha kötü performans bile elde edebilirsiniz dendi mi hopps diyorum sadece.

Bu devirde ASM'mi kullanılır vs deniyor da...

Tartışmak istediğim için zaten başlığı ben açtım.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

rree

Bunumu demek istediniz! Gerçi bu işin acemisiyim.
#include <Den1.h>
#define PortA pin_A0/8
#define PortB pin_B0/8
#define verigonder(a,d)   {#ASM\ bcf 0x03,5\ movlw d\ movwf a\ #ENDASM}
void main()
{
verigonder(PortA,0b00001111)
   while(TRUE)
   {
      //TODO: User Code
   }
}

z

Hocam maden bunları yazdın, söylediklerinin hurafe olup olmadığını ispatlamak zorundasın.

Bana 1.25 oranının yakalandığı iddia edilen işe yarar bir C örnek lütfen.

Çok fazla asm kod yazmış olabilirsin. Acaba asm komutları peşpeşe dizerek program mı yazdın yoksa gerçekten asm program mı yazdın?

Bu önemli değilmi? Zaten ilk mesajda yer alan 9 soruda buna da atıfta bulunmuştum.




Bana e^st de diyebilirsiniz.   www.cncdesigner.com