Saya memiliki tiga atau empat rutinitas assembler (dalam sumber sekitar 20 MB) di sumber saya di tempat kerja. Semuanya SSE (2) , dan terkait dengan operasi pada gambar (cukup besar - pikirkan 2400x2048 dan lebih besar).
Untuk hobi, saya mengerjakan kompiler, dan di sana Anda memiliki lebih banyak assembler. Perpustakaan runtime seringkali penuh dengan mereka, kebanyakan dari mereka berkaitan dengan hal-hal yang menentang rezim prosedural normal (seperti pembantu untuk pengecualian, dll.)
Saya tidak memiliki assembler untuk mikrokontroler saya. Kebanyakan mikrokontroler modern memiliki begitu banyak perangkat keras periferal (penghitung terkontrol interupsi, bahkan seluruh encoder kuadratur dan blok penyusun serial) yang menggunakan assembler untuk mengoptimalkan loop sering tidak diperlukan lagi. Dengan harga flash saat ini, hal yang sama berlaku untuk memori kode. Juga sering ada rentang perangkat yang kompatibel dengan pin, jadi meningkatkan skala jika Anda secara sistematis kehabisan daya cpu atau ruang flash seringkali tidak menjadi masalah.
Kecuali jika Anda benar-benar mengirimkan 100000 perangkat dan programmer assembler memungkinkan untuk benar-benar membuat penghematan besar hanya dengan memasang chip flash dalam kategori yang lebih kecil. Tapi saya tidak termasuk dalam kategori itu.
Banyak orang mengira embedded adalah alasan untuk assembler, tetapi pengontrol mereka memiliki lebih banyak daya CPU daripada mesin tempat Unix dikembangkan. (Microchip datang dengan mikrokontroler 40 dan 60 MIPS dengan harga di bawah USD 10).
Namun banyak orang yang terjebak dengan warisan, karena mengubah arsitektur microchip tidaklah mudah. Juga kode HLL sangat bergantung pada arsitektur (karena menggunakan periferal perangkat keras, register untuk mengontrol I / O, dll). Jadi terkadang ada alasan bagus untuk tetap mempertahankan proyek di assembler (saya beruntung bisa urusan setup pada arsitektur baru dari awal). Namun seringkali orang membohongi diri sendiri bahwa mereka sangat membutuhkan assembler.
Saya masih menyukai jawaban yang diberikan profesor ketika kami bertanya apakah kami dapat menggunakan GOTO (tetapi Anda juga dapat membacanya sebagai ASSEMBLER): "jika menurut Anda ada baiknya menulis esai 3 halaman tentang mengapa Anda memerlukan fitur tersebut, Anda dapat menggunakannya . Silakan kirim esai dengan hasil Anda. "
Saya telah menggunakannya sebagai prinsip panduan untuk fitur tingkat rendah. Jangan terlalu sempit untuk menggunakannya, tapi pastikan Anda memotivasi dengan benar. Bahkan melontarkan satu atau dua penghalang buatan (seperti esai) untuk menghindari penalaran yang berbelit-belit sebagai pembenaran.