Meclis'te Programlamayı Öğrenme - Yararlı Kaynaklar [kapalı]


10

Önceki bir başlıktan sonra, Meclis programlama hakkında biraz bilgi edinmek beni ilgilendirdi. Yararlı uygulamaları programlamak istemek için çok fazla değil, sadece düşük seviyeli programlama hakkında neler olduğunu daha iyi anlamak için.

Yeni başlayanlar için kimse kitap veya çevrimiçi kaynak önerebilir mi?

Teşekkürler.


Paul Carter'ın bu kitabı x86 ASM için oldukça iyiydi.
jonescb

Yanıtlar:


5

Önerilen Kitap: Meclis Sanatı Programlama Sanatı .

Bu siteyi de beğendim . Montaj programlamaya güzel bir giriş! Mikroişlemciler ve Mikrodenetleyiciler dersim için bu siteyi referans olarak kullandım .


Mükemmel ... teşekkürler. İlgi çekici olmayan, tipik bir modern dile kıyasla öğrenmeyi ne kadar sezgisel buldunuz? Geçmişim 6 ay c # (sektörde) ve aynı zamanda C ++ (yatak odamda :))
Darren Young

1
Kursumda Meclis programlamasına rastladım (hala öğrenciyim) ve sorunuzda söylediğiniz gibi, gömülü sistemlerin nasıl çalıştığını bilmekte yardımcı oldu. Yine de, yüksek seviyeli (dediğiniz gibi modern) dillerle karşılaştırıldığında, çok kullanışlı bulmadım. Bilirsiniz, asla benim alanımda kullanamayacaksınız - web geliştirme. :)
ykombinator

2

Bu akademik bir alıştırma mıdır yoksa öğrendiğiniz montaj dilini mi kullanmak istiyorsunuz? Bu, bugünlerde oldukça özel şeyler. Derleyici optimizasyonu o kadar iyi oldu ki, yüksek performanslı bir sabit disk sürücüsü gibi bir şey bile kodlayıcısının kod tabanının yaklaşık% 1'ine monte edicidir. Gıda zincirinden 4bit veya bazı 8bit işlemcilere kadar çok daha fazla montaj dili kullanıldığını göreceksiniz.

Montaj dilini gerçekten kullanmak istiyorsanız, iyi bir talimat seti olan bir işlemci seçin. Eski bir ARM çalışanıyım, bu yüzden muhtemelen önyargılıyım, ancak ARM talimat setinin öğrenmesinin özellikle kolay olduğunu buldum - şirketteki üçüncü günümde verimli bir FIR filtresi yazabildim. ARM'nin yarı iletken ortakları bugünlerde çeyrek başına yaklaşık bir milyar ARM çekirdeği gönderiyor, bu nedenle ARM ASM uzmanlığınızı kullanmaya istekli bir şirket bulmak oldukça kolay.

Kodunuzu denemek için yaklaşık 50 $ karşılığında birçok ARM değerlendirme kartı var - ARM Cortex M3 son derece popüler olacak gibi görünüyor. ARM'nin Thumb2 komut setini kullanır, bu da düz OL 'ARM32 kodundan biraz daha belirsizdir, ancak yine de oldukça kolay ve çok güçlüdür.

Bu küçük tahta 80 Euro'ya çok havalı görünüyor: http://www.olimex.com/dev/stm32-103stk.html


Tamamen akademik / kendi kendine öğrenme. Düşük düzey bellek yönetiminin yanı sıra üst düzey dilleri daha iyi anlamak istiyorum.
Darren Young

1

Temel olarak, montaj programlama anlamında, önce temel mimariyi bilmeniz gerekir, daha sonra karşılık gelen dil, örneğin PIC mikro kontrolörleri ile sağlanan derleyiciyi ve dili kullanabilirsiniz. Bu siteyi PIC mikro denetleyici eğiticilerine başvurmak için kullanıyorum .


1

Her zaman en zor kısmın merhaba dünya olduğunu gördüm, bu genellikle iki sayı eklemek gibi daha üst düzey bir dil denilen önemsiz bir assem işlevi. Bu engeli geçtikten sonra, repertuarınıza talimatlar ve psuedo-op (veri tanımlama gibi) ekleme meselesi.

ARM kullanmasam da ikinci geekbrit yapardım. Bunun gibi minimal bir mimari sadece daha kolay olmakla kalmayacak, aynı zamanda sadece didaktik bir amaca karşı olan meşru olana en yakın gelecektir.


0

Bir komut setim, montajcı ve simülatörüm var, sadece bu amaçla oluşturulmuş bazı dersler var. Henüz ne kadar iyi ya da kötü yaptığım hakkında geri bildirimim yok ama dışarıda, 15 dakika ya da bir buçuk saat verin, size bir şey öğretip öğretmediğini görün. http://github.com/dwelch67/lsasim Bundan sonra deneyebileceğiniz bazı genel talimat seti simülatörlerine sahibim, basit, fırfırlar yok, C derleyiciniz olan herhangi bir yerde çalışmalısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.