Saya belajar tentang 68HC11 di perguruan tinggi. Mereka sangat sederhana untuk bekerja dengan tetapi jujur kebanyakan mikrokontroler bertenaga rendah akan serupa (AVR, 8051, PIC, MSP430). Hal terbesar yang akan menambah kompleksitas pemrograman ASM untuk mikrokontroler adalah jumlah dan jenis mode pengalamatan memori yang didukung . Anda harus menghindari perangkat yang lebih rumit pada awalnya seperti prosesor ARM high end.
Saya mungkin akan merekomendasikan MSP430 sebagai titik awal yang baik. Mungkin menulis sebuah program dalam C dan belajar dengan mengganti berbagai fungsi dengan inline assembly. Mulai sederhana, x + y = z, dll.
Setelah Anda mengganti fungsi atau algoritme dengan rakitan, bandingkan dan kontras bagaimana Anda mengodekannya dan apa yang dihasilkan oleh kompiler C Ini mungkin salah satu cara yang lebih baik untuk mempelajari perakitan menurut saya dan pada saat yang sama belajar tentang bagaimana kompiler bekerja yang sangat berharga sebagai programmer yang tertanam. Pastikan Anda mematikan optimisasi dalam kompiler C pada awalnya atau Anda mungkin akan sangat bingung dengan kode yang dihasilkan kompiler. Nyalakan secara bertahap optimisasi dan catat apa yang dilakukan kompiler.
RISC vs CISC
RISC berarti 'Pengurangan Set Instruksi Komputasi' itu tidak merujuk pada set instruksi tertentu tetapi hanya strategi desain yang mengatakan bahwa CPU memiliki set instruksi minimal. Beberapa petunjuk bahwa setiap melakukan sesuatu dasar. Tidak ada definisi teknis yang ketat tentang apa yang diperlukan 'untuk menjadi RISC'. Di sisi lain, arsitektur CISC memiliki banyak instruksi tetapi masing-masing 'melakukan lebih banyak'.
Keuntungan RISC yang disengaja adalah bahwa desain CPU Anda membutuhkan lebih sedikit transistor yang berarti lebih sedikit penggunaan daya (besar untuk mikrokontroler), lebih murah untuk dibuat dan laju jam lebih tinggi yang mengarah ke kinerja yang lebih besar. Penggunaan daya yang lebih rendah dan pembuatan yang lebih murah umumnya benar, kinerja yang lebih besar belum benar-benar sesuai dengan tujuan sebagai hasil dari perbaikan desain dalam arsitektur CISC.
Hampir semua core CPU RISC atau 'jalan tengah' desain hari ini. Bahkan dengan arsitektur CISC paling terkenal (atau terkenal), x86. CPU x86 modern secara internal RISC seperti core dengan decoder yang dibaut di ujung depan yang memecah instruksi x86 menjadi beberapa instruksi seperti RISC. Saya pikir Intel menyebut ini 'mikro-ops'.
Seperti yang (RISC vs CISC) lebih mudah untuk dipelajari dalam perakitan, saya pikir itu adalah melemparkan. Melakukan sesuatu dengan set instruksi RISC umumnya membutuhkan lebih banyak jalur perakitan daripada melakukan hal yang sama dengan set instruksi CISC. Di set instruksi sisi CISC lain yang lebih rumit untuk belajar karena jumlah yang lebih besar dari instruksi yang tersedia.
Sebagian besar CISC alasan mendapat nama buruk adalah bahwa x86 adalah dengan dan jauh contoh yang paling umum dan adalah sedikit berantakan untuk bekerja dengan. Saya pikir thats sebagian besar hasil dari instruksi x86 set menjadi sangat tua dan telah diperluas setengah lusin atau lebih kali tetap menjaga kompatibilitas. Bahkan core i7 4.5GHz Anda dapat berjalan di 286 modus (dan tidak di boot).
Adapun ARM menjadi arsitektur RISC, saya akan menganggap bahwa cukup diperdebatkan. Ini tentu saja arsitektur load-store. Set instruksi dasar seperti RISC, tetapi dalam revisi baru-baru ini set instruksi telah tumbuh sedikit ke titik di mana saya pribadi menganggapnya lebih sebagai jalan tengah antara RISC dan CISC. Petunjuk praktis set benar-benar paling 'RISCish' dari set instruksi ARM.