İşteki kaynaklarımda üç veya dört montaj rutini (yaklaşık 20 MB kaynakta) var. Hepsi SSE (2) ve resimler (oldukça büyük - 2400x2048 ve daha büyük düşünün) üzerindeki işlemlerle ilgilidir.
Hobi için bir derleyici üzerinde çalışıyorum ve orada daha fazla derleyiciniz var. Çalışma zamanı kitaplıkları çoğu zaman bunlarla doludur, çoğu normal yordamsal rejime meydan okuyan şeylerle (istisnalar için yardımcılar vb.) İlgilidir.
Mikrodenetleyicim için herhangi bir birleştiricim yok. Modern mikrodenetleyicilerin çoğu , döngüleri optimize etmek için assembler kullanmaya gerek kalmayacak kadar çok çevresel donanıma (kesinti kontrollü sayaçlar, hatta tüm dört evreli kodlayıcılar ve seri yapı blokları) sahiptir. Mevcut flaş fiyatları ile aynı şey kod belleği için de geçerli. Ayrıca, genellikle pin uyumlu cihazlar vardır, bu nedenle sistematik olarak cpu gücünüz veya flash alanınız biterse, yükseltme genellikle sorun olmaz
Gerçekten 100000 cihaz ve programlama derleyicisi göndermediğiniz sürece, sadece bir kategori daha küçük bir flash çipi yerleştirerek gerçekten büyük tasarruflar elde etmeyi mümkün kılar. Ama ben o kategoride değilim.
Pek çok insan gömülü olmanın montajcı için bir bahane olduğunu düşünüyor, ancak denetleyicileri Unix'in geliştirildiği makinelerden daha fazla CPU gücüne sahip . (Mikroçip, 10 USD'nin altında 40 ve 60 MIPS mikro denetleyicilerle birlikte gelir ).
Bununla birlikte, mikroçip mimarisini değiştirmek kolay olmadığından, pek çok insan miras kalmıştır. Ayrıca HLL kodu mimariye çok bağlıdır (çünkü donanım çevresini, G / Ç'yi kontrol etmek için kayıtları vb. Kullanır). Bu yüzden bazen assembler'da bir projeyi sürdürmek için iyi nedenler olabilir (yeni bir mimaride işleri sıfırdan kurabildiğim için şanslıydım). Ama çoğu zaman insanlar gerçekten montajcıya ihtiyaçları olduğu konusunda kendilerini kandırırlar.
GOTO'yu kullanıp kullanamayacağımızı sorduğumuzda bir profesörün verdiği cevabı hala beğeniyorum (ama bunu ASSEMBLER olarak da okuyabilirsiniz): "özelliğe neden ihtiyacınız olduğuna dair 3 sayfalık bir makale yazmaya değeceğini düşünüyorsanız, onu kullanabilirsiniz . Lütfen sonuçlarınızla birlikte makaleyi gönderin. "
Bunu düşük seviyeli özellikler için yol gösterici bir ilke olarak kullandım. Kullanmak için çok sıkılmayın, ancak doğru şekilde motive ettiğinizden emin olun. Hatta bir gerekçe olarak karmaşık akıl yürütmeden kaçınmak için bir veya iki yapay engel (makale gibi) kaldırın.