Merhaba arkadaşlar. Bu konuyu açarken sizlerin azda olsa assembly bilginiz olduğunu var sayıyorum. Neden Assembly kullanımı gereksini mi duyuluyor bilmeyenler için onuda açıklıyayım. C++ a monte edilen FastMM projesi temelde çok kullanılan fonksiyonların optimize edilmiş asm hallerini bulundurur.
Bundan dolayı hem derleme performansı hemde runtime da çalışan kodlar hızlı çalışır.
Assembler’ı tanımanın belirtilmiş nedenlerinden biri, bazen, daha yüksek seviyeli bir dilde, özellikle C’de yazarak daha performans gösterecek bir kod yazmak için kullanılabilir. Bununla birlikte, defalarca söylendiği gibi, bunun tamamen yanlış olmasa da, assembler’in daha performanslı kod üretmek için kullanılabilecek durumların çok nadir olduğunu ve assembler için uzman bilgi ve deneyim gerektirdiğini duymuştum. Elbette ki bunun yanında assembler’ı bilmek için pek çok iyi sebep var
Aslında derlenmiş kodu iyileştirmek oldukça önemsizdir. Assembly dili ve C konusunda sağlam bir bilgiye sahip herkes, oluşturulan kod inceleyerek bunu görebilir.
C Programlama dili – assembly dilinin esnekliğini assembly dilinin gücü ile birleştiren bir dildir.
Herneyse, Ben verdiğim kod ile basit bir toplama işlemi gösterdim. Maksat mantık kavransın.
1 2 3 4 5 6 7 8 9 10 11 12 |
char s1, s2, tp; // 3 tane değişken tanımıladık 1.2. sayı ve toplam s1 = StrToInt(txts1->Text); s2 = StrToInt(txts2->Text); asm{ mov al,s1 // s1 değerine al ye at add al,s2 // al deki değerle s2 değerine topla al ye at mov tp,al // al deki değeri tp değerine aktar } txtp->Text = IntToStr(tp); // toplamı yaz |